Search in sources :

Example 1 with SdcardPermissionAction

use of org.aisen.weibo.sina.support.permissions.SdcardPermissionAction in project AisenWeiBo by wangdan.

the class PictureFragment method downloadImage.

private void downloadImage() {
    new IAction(getActivity(), new SdcardPermissionAction((BaseActivity) getActivity(), null)) {

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

                @Override
                protected void onPrepare() {
                    super.onPrepare();
                    ViewUtils.createProgressDialog(getActivity(), getString(R.string.msg_save_pic_loading), ThemeUtils.getThemeColor()).show();
                }

                private void notifyFileSys(File file) {
                    SystemUtils.scanPhoto(getActivity(), file);
                }

                @Override
                public String workInBackground(Void... params) throws TaskException {
                    File file = origFile;
                    if (!file.exists())
                        file = BitmapLoader.getInstance().getCacheFile(getImage());
                    String path = SystemUtils.getSdcardPath() + File.separator + AppSettings.getImageSavePath() + File.separator + file.getName();
                    File newFile = new File(path);
                    if (!newFile.exists()) {
                        if (!newFile.getParentFile().exists())
                            newFile.getParentFile().mkdirs();
                        try {
                            FileUtils.copyFile(file, newFile);
                            notifyFileSys(newFile);
                            return newFile.getParentFile().getAbsolutePath();
                        } catch (Exception e) {
                        }
                    } else {
                        notifyFileSys(newFile);
                        return newFile.getParentFile().getAbsolutePath();
                    }
                    return null;
                }

                @Override
                protected void onSuccess(String aBoolean) {
                    super.onSuccess(aBoolean);
                    if (!TextUtils.isEmpty(aBoolean)) {
                        showMessage(String.format(getString(R.string.msg_save_pic_success), aBoolean));
                    } else {
                        showMessage(R.string.msg_save_pic_faild);
                    }
                }

                @Override
                protected void onFinished() {
                    super.onFinished();
                    ViewUtils.dismissProgressDialog();
                }
            }.execute();
        }
    }.run();
}
Also used : IAction(org.aisen.android.support.action.IAction) SdcardPermissionAction(org.aisen.weibo.sina.support.permissions.SdcardPermissionAction) WorkTask(org.aisen.android.network.task.WorkTask) File(java.io.File) TaskException(org.aisen.android.network.task.TaskException)

Example 2 with SdcardPermissionAction

use of org.aisen.weibo.sina.support.permissions.SdcardPermissionAction 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)

Aggregations

IAction (org.aisen.android.support.action.IAction)2 SdcardPermissionAction (org.aisen.weibo.sina.support.permissions.SdcardPermissionAction)2 File (java.io.File)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 WebLoginAction (org.aisen.weibo.sina.support.action.WebLoginAction)1 BizFragment (org.aisen.weibo.sina.ui.fragment.base.BizFragment)1