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);
}
Aggregations