Search in sources :

Example 1 with WebLoginAction

use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.

the class MainActivity method onMenuClicked.

/**
 * 选择了侧边栏,切换侧边栏菜单
 *
 * @param item
 * @return
 */
@Override
public void onMenuClicked(MenuFragment.NavMenuItem item, boolean closeDrawer) {
    invalidateOptionsMenu();
    ABaseFragment fragment = null;
    // 切换ContentFragment,或者跳转到新的界面
    switch(item.id) {
        // 首页
        case MenuFragment.MENU_MAIN:
            fabGroupsFragment.triggerLastPosition();
            break;
        // 通知
        case MenuFragment.MENU_NOTIFICATION:
            fragment = NotificationPagerFragment.newInstance(newIntentNotificationIndex);
            newIntentNotificationIndex = -1;
            break;
        // 提及
        case MenuFragment.MENU_MENTION:
            fragment = MentionPagerFragment.newInstance();
            break;
        // 评论
        case MenuFragment.MENU_CMT:
            fragment = CommentPagerFragment.newInstance();
            break;
        // 私信
        case MenuFragment.MENU_MD:
            new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {

                @Override
                public void doAction() {
                    WeiboClientActivity.launchDM(MainActivity.this);
                }
            }.run();
            UMengUtil.onEvent(MainActivity.this, "md");
            break;
        // 热门微博
        case MenuFragment.MENU_HOT_STATUS:
            new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {

                @Override
                public void doAction() {
                    TimelineHotFragment.launch(MainActivity.this);
                }
            }.run();
            UMengUtil.onEvent(MainActivity.this, "hot_status");
            break;
        // 热门话题
        case MenuFragment.MENU_HOT_TOPICS:
            new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {

                @Override
                public void doAction() {
                    TopicsHotPagerFragment.launch(MainActivity.this);
                }
            }.run();
            UMengUtil.onEvent(MainActivity.this, "hot_topics");
            break;
        // 草稿箱
        case MenuFragment.MENU_DRAT:
            fragment = DraftFragment.newInstance();
            break;
        // 相册
        case MenuFragment.MENU_IMAGES:
            new IAction(this, new SdcardPermissionAction(this, null)) {

                @Override
                public void doAction() {
                    ImagesPagerFragment.launch(MainActivity.this);
                }
            }.run();
            break;
        // 设置
        case MenuFragment.MENU_SETTINGS:
            SettingsPagerFragment.launch(this);
            break;
        // 轻松一刻
        case MenuFragment.MENU_JOKE:
            fragment = JokesPagerFragment.newInstance();
            UMengUtil.onEvent(this, "menu_joke");
            break;
        case MenuFragment.MENU_FAV:
            BizFragment.createBizFragment(this).checkProfile(new BizFragment.CheckProfileCallback() {

                @Override
                public void onCheckProfileSuccess() {
                    TimelineFavoritesFragment.launch(MainActivity.this);
                }

                @Override
                public void onCheckProfileFaild() {
                }
            });
            break;
        // 精美壁纸
        case MenuFragment.MENU_WALLPAPER:
            fragment = WallpaperFragment.newInstance();
            UMengUtil.onEvent(this, "menu_wallpaper");
            break;
    }
    if (fragment != null) {
        setFragemnt(fragment, getString(item.toolbarRes));
    }
    // 隐藏Fab按钮
    if (item.id == 1) {
        fabBtn.setVisibility(View.VISIBLE);
        // 显示Fab
        BizFragment.createBizFragment(this).getFabAnimator().show();
    } else {
        fabBtn.setVisibility(View.GONE);
    }
    // 关闭侧边栏
    if (closeDrawer) {
        mHandler.postDelayed(new Runnable() {

            @Override
            public void run() {
                closeDrawer();
            }
        }, 300);
    }
}
Also used : ABaseFragment(org.aisen.android.ui.fragment.ABaseFragment) IAction(org.aisen.android.support.action.IAction) SdcardPermissionAction(org.aisen.weibo.sina.support.permissions.SdcardPermissionAction) BizFragment(org.aisen.weibo.sina.ui.fragment.base.BizFragment) WebLoginAction(org.aisen.weibo.sina.support.action.WebLoginAction)

Example 2 with WebLoginAction

use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.

the class MainActivity method onOptionsItemSelected.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (drawerToggle != null && drawerToggle.onOptionsItemSelected(item))
        return true;
    if (android.R.id.home == item.getItemId()) {
        if (mDrawerLayout.isDrawerVisible(GravityCompat.START))
            mDrawerLayout.closeDrawers();
        else
            mDrawerLayout.openDrawer(GravityCompat.START);
        return true;
    }
    // 退出
    if (item.getItemId() == R.id.exitapp) {
        finish();
        UMengUtil.onEvent(this, "exitapp");
    } else // 新微博
    if (item.getItemId() == R.id.publish)
        PublishActivity.publishStatus(this, null);
    else // 开始离线
    if (item.getItemId() == R.id.toggle_offline) {
        OfflineUtils.toggleOffline(this);
        UMengUtil.onEvent(this, "toggle_offline");
    } else // 停止离线
    if (item.getItemId() == R.id.stop_offline) {
        OfflineService.stopOffline();
        UMengUtil.onEvent(this, "stop_offline");
    } else // 通知设置
    if (item.getItemId() == R.id.notification_settings)
        NotificationSettingsFragment.launch(this);
    else // 搜索
    if (item.getItemId() == R.id.search) {
        new IAction(MainActivity.this, new WebLoginAction(MainActivity.this, BizFragment.createBizFragment(this))) {

            @Override
            public void doAction() {
                SearchFragment.launch(MainActivity.this, "");
                UMengUtil.onEvent(MainActivity.this, "toggle_search");
            }
        }.run();
    }
    return super.onOptionsItemSelected(item);
}
Also used : IAction(org.aisen.android.support.action.IAction) WebLoginAction(org.aisen.weibo.sina.support.action.WebLoginAction)

Example 3 with WebLoginAction

use of org.aisen.weibo.sina.support.action.WebLoginAction in project AisenWeiBo by wangdan.

the class TimelinePicActivity method parseShortUrl.

private void parseShortUrl(final String url) {
    while (BizFragment.createBizFragment(this).getActivity() == null) {
    }
    // 检测Cookie
    new IAction(this, new WebLoginAction(this, BizFragment.createBizFragment(this))) {

        @Override
        public void doAction() {
            new WorkTask<Void, Integer, String>() {

                @Override
                protected void onProgressUpdate(Integer... values) {
                    super.onProgressUpdate(values);
                    if (values != null && values[0] == 100) {
                        ViewUtils.createProgressDialog(TimelinePicActivity.this, "正在解析图片", ThemeUtils.getThemeColor()).show();
                    }
                }

                @Override
                public String workInBackground(Void... params) throws TaskException {
                    String id = KeyGenerator.generateMD5(url);
                    VideoBean videoBean = SinaDB.getDB().selectById(null, VideoBean.class, id);
                    if (videoBean == null) {
                        videoBean = new VideoBean();
                        videoBean.setIdStr(id);
                        videoBean.setShortUrl(url);
                    }
                    // 根据短链接解析
                    if (TextUtils.isEmpty(videoBean.getImage())) {
                        try {
                            publishProgress(100);
                            VideoService.getPicture(videoBean);
                        } catch (Exception e) {
                            throw new TaskException("");
                        }
                    }
                    if (TextUtils.isEmpty(videoBean.getImage())) {
                        throw new TaskException("");
                    }
                    SinaDB.getDB().update(null, videoBean);
                    return videoBean.getImage();
                }

                @Override
                protected void onFailure(TaskException exception) {
                    super.onFailure(exception);
                    if (isDestory())
                        return;
                    new MaterialDialog.Builder(TimelinePicActivity.this).forceStacking(true).content(R.string.video_short_faild).positiveText(R.string.video2browser).negativeText(R.string.video_again).onPositive(new MaterialDialog.SingleButtonCallback() {

                        @Override
                        public void onClick(MaterialDialog dialog, DialogAction which) {
                            toBrowser(url);
                        }
                    }).onNegative(new MaterialDialog.SingleButtonCallback() {

                        @Override
                        public void onClick(MaterialDialog dialog, DialogAction which) {
                            loadPicture(url);
                        }
                    }).show();
                }

                @Override
                protected void onSuccess(String s) {
                    super.onSuccess(s);
                    if (isDestory())
                        return;
                    loadPicture(s);
                }

                @Override
                protected void onFinished() {
                    super.onFinished();
                    ViewUtils.dismissProgressDialog();
                }
            }.execute();
        }
    }.run();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) IAction(org.aisen.android.support.action.IAction) TaskException(org.aisen.android.network.task.TaskException) TaskException(org.aisen.android.network.task.TaskException) VideoBean(org.aisen.weibo.sina.support.bean.VideoBean) DialogAction(com.afollestad.materialdialogs.DialogAction) WorkTask(org.aisen.android.network.task.WorkTask) WebLoginAction(org.aisen.weibo.sina.support.action.WebLoginAction)

Aggregations

IAction (org.aisen.android.support.action.IAction)3 WebLoginAction (org.aisen.weibo.sina.support.action.WebLoginAction)3 DialogAction (com.afollestad.materialdialogs.DialogAction)1 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)1 TaskException (org.aisen.android.network.task.TaskException)1 WorkTask (org.aisen.android.network.task.WorkTask)1 ABaseFragment (org.aisen.android.ui.fragment.ABaseFragment)1 VideoBean (org.aisen.weibo.sina.support.bean.VideoBean)1 SdcardPermissionAction (org.aisen.weibo.sina.support.permissions.SdcardPermissionAction)1 BizFragment (org.aisen.weibo.sina.ui.fragment.base.BizFragment)1