Search in sources :

Example 1 with PrepareCopyTask

use of com.amaze.filemanager.asynchronous.asynctasks.PrepareCopyTask in project AmazeFileManager by TeamAmaze.

the class MainActivity method onOptionsItemSelected.

// called when the user exits the action mode
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // ActionBarDrawerToggle will take care of this.
    if (drawer.onOptionsItemSelected(item))
        return true;
    // Handle action buttons
    MainFragment ma = getCurrentMainFragment();
    switch(item.getItemId()) {
        case R.id.home:
            if (ma != null)
                ma.home();
            break;
        case R.id.history:
            if (ma != null)
                GeneralDialogCreation.showHistoryDialog(dataUtils, getPrefs(), ma, getAppTheme());
            break;
        case R.id.sethome:
            if (ma == null)
                return super.onOptionsItemSelected(item);
            final MainFragment main = ma;
            if (main.openMode != OpenMode.FILE && main.openMode != OpenMode.ROOT) {
                Toast.makeText(mainActivity, R.string.not_allowed, Toast.LENGTH_SHORT).show();
                break;
            }
            final MaterialDialog dialog = GeneralDialogCreation.showBasicDialog(mainActivity, new String[] { getResources().getString(R.string.questionset), getResources().getString(R.string.setashome), getResources().getString(R.string.yes), getResources().getString(R.string.no), null });
            dialog.getActionButton(DialogAction.POSITIVE).setOnClickListener((v) -> {
                main.home = main.getCurrentPath();
                updatePaths(main.no);
                dialog.dismiss();
            });
            dialog.show();
            break;
        case R.id.exit:
            finish();
            break;
        case R.id.sort:
            Fragment fragment = getFragmentAtFrame();
            if (fragment instanceof AppsListFragment) {
                GeneralDialogCreation.showSortDialog((AppsListFragment) fragment, getAppTheme());
            }
            break;
        case R.id.sortby:
            if (ma != null)
                GeneralDialogCreation.showSortDialog(ma, getAppTheme(), getPrefs());
            break;
        case R.id.dsort:
            if (ma == null)
                return super.onOptionsItemSelected(item);
            String[] sort = getResources().getStringArray(R.array.directorysortmode);
            MaterialDialog.Builder builder = new MaterialDialog.Builder(mainActivity);
            builder.theme(getAppTheme().getMaterialDialogTheme());
            builder.title(R.string.directorysort);
            int current = Integer.parseInt(getPrefs().getString(PreferencesConstants.PREFERENCE_DIRECTORY_SORT_MODE, "0"));
            final MainFragment mainFrag = ma;
            builder.items(sort).itemsCallbackSingleChoice(current, (dialog1, view, which, text) -> {
                getPrefs().edit().putString(PreferencesConstants.PREFERENCE_DIRECTORY_SORT_MODE, "" + which).commit();
                mainFrag.getSortModes();
                mainFrag.updateList();
                dialog1.dismiss();
                return true;
            });
            builder.build().show();
            break;
        case R.id.hiddenitems:
            GeneralDialogCreation.showHiddenDialog(dataUtils, getPrefs(), ma, getAppTheme());
            break;
        case R.id.view:
            final MainFragment mainFragment = ma;
            int pathLayout = dataUtils.getListOrGridForPath(ma.getCurrentPath(), DataUtils.LIST);
            if (ma.IS_LIST) {
                if (pathLayout == DataUtils.LIST) {
                    AppConfig.runInBackground(() -> {
                        utilsHandler.removeListViewPath(mainFragment.getCurrentPath());
                    });
                }
                AppConfig.runInBackground(() -> {
                    utilsHandler.addGridView(mainFragment.getCurrentPath());
                });
                dataUtils.setPathAsGridOrList(ma.getCurrentPath(), DataUtils.GRID);
            } else {
                if (pathLayout == DataUtils.GRID) {
                    AppConfig.runInBackground(() -> {
                        utilsHandler.removeGridViewPath(mainFragment.getCurrentPath());
                    });
                }
                AppConfig.runInBackground(() -> {
                    utilsHandler.addListView(mainFragment.getCurrentPath());
                });
                dataUtils.setPathAsGridOrList(ma.getCurrentPath(), DataUtils.LIST);
            }
            ma.switchView();
            break;
        case R.id.paste:
            String path = ma.getCurrentPath();
            ArrayList<HybridFileParcelable> arrayList = new ArrayList<>(Arrays.asList(pasteHelper.paths));
            boolean move = pasteHelper.operation == PasteHelper.OPERATION_CUT;
            new PrepareCopyTask(ma, path, move, mainActivity, isRootExplorer()).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, arrayList);
            pasteHelper = null;
            invalidatePasteButton(item);
            break;
        case R.id.extract:
            Fragment fragment1 = getFragmentAtFrame();
            if (fragment1 instanceof CompressedExplorerFragment) {
                mainActivityHelper.extractFile(((CompressedExplorerFragment) fragment1).compressedFile);
            }
            break;
        case R.id.search:
            getAppbar().getSearchView().revealSearchView();
            break;
    }
    return super.onOptionsItemSelected(item);
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ArrayList(java.util.ArrayList) Fragment(android.support.v4.app.Fragment) FTPServerFragment(com.amaze.filemanager.fragments.FTPServerFragment) CompressedExplorerFragment(com.amaze.filemanager.fragments.CompressedExplorerFragment) AppsListFragment(com.amaze.filemanager.fragments.AppsListFragment) ProcessViewerFragment(com.amaze.filemanager.fragments.ProcessViewerFragment) TabFragment(com.amaze.filemanager.fragments.TabFragment) MainFragment(com.amaze.filemanager.fragments.MainFragment) SearchWorkerFragment(com.amaze.filemanager.fragments.SearchWorkerFragment) CloudSheetFragment(com.amaze.filemanager.fragments.CloudSheetFragment) PrepareCopyTask(com.amaze.filemanager.asynchronous.asynctasks.PrepareCopyTask) HybridFileParcelable(com.amaze.filemanager.filesystem.HybridFileParcelable) MainFragment(com.amaze.filemanager.fragments.MainFragment) AppsListFragment(com.amaze.filemanager.fragments.AppsListFragment) CompressedExplorerFragment(com.amaze.filemanager.fragments.CompressedExplorerFragment)

Aggregations

Fragment (android.support.v4.app.Fragment)1 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)1 PrepareCopyTask (com.amaze.filemanager.asynchronous.asynctasks.PrepareCopyTask)1 HybridFileParcelable (com.amaze.filemanager.filesystem.HybridFileParcelable)1 AppsListFragment (com.amaze.filemanager.fragments.AppsListFragment)1 CloudSheetFragment (com.amaze.filemanager.fragments.CloudSheetFragment)1 CompressedExplorerFragment (com.amaze.filemanager.fragments.CompressedExplorerFragment)1 FTPServerFragment (com.amaze.filemanager.fragments.FTPServerFragment)1 MainFragment (com.amaze.filemanager.fragments.MainFragment)1 ProcessViewerFragment (com.amaze.filemanager.fragments.ProcessViewerFragment)1 SearchWorkerFragment (com.amaze.filemanager.fragments.SearchWorkerFragment)1 TabFragment (com.amaze.filemanager.fragments.TabFragment)1 ArrayList (java.util.ArrayList)1