|
|
|
@ -3436,6 +3436,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
menu.findItem(R.id.menu_sort_on_snoozed).setVisible(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
menu.findItem(R.id.menu_empty_trash).setVisible(EntityFolder.TRASH.equals(type) && folder);
|
|
|
|
|
menu.findItem(R.id.menu_empty_spam).setVisible(EntityFolder.JUNK.equals(type) && folder);
|
|
|
|
|
|
|
|
|
|
if ("time".equals(sort))
|
|
|
|
|
menu.findItem(R.id.menu_sort_on_time).setChecked(true);
|
|
|
|
|
else if ("unread".equals(sort))
|
|
|
|
@ -3475,8 +3478,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
language_detection && folder && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q);
|
|
|
|
|
menu.findItem(R.id.menu_select_all).setVisible(folder);
|
|
|
|
|
menu.findItem(R.id.menu_select_found).setVisible(viewType == AdapterMessage.ViewType.SEARCH);
|
|
|
|
|
menu.findItem(R.id.menu_empty_trash).setVisible(EntityFolder.TRASH.equals(type) && folder);
|
|
|
|
|
menu.findItem(R.id.menu_empty_spam).setVisible(EntityFolder.JUNK.equals(type) && folder);
|
|
|
|
|
|
|
|
|
|
menu.findItem(R.id.menu_force_sync).setVisible(viewType == AdapterMessage.ViewType.UNIFIED);
|
|
|
|
|
|
|
|
|
@ -3503,6 +3504,14 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
onMenuFolders(primary);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_empty_trash:
|
|
|
|
|
onMenuEmpty(EntityFolder.TRASH);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_empty_spam:
|
|
|
|
|
onMenuEmpty(EntityFolder.JUNK);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_sort_on_time:
|
|
|
|
|
item.setChecked(true);
|
|
|
|
|
onMenuSort("time");
|
|
|
|
@ -3589,14 +3598,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
onMenuSelectAll();
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_empty_trash:
|
|
|
|
|
onMenuEmpty(EntityFolder.TRASH);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_empty_spam:
|
|
|
|
|
onMenuEmpty(EntityFolder.JUNK);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
case R.id.menu_force_sync:
|
|
|
|
|
onMenuForceSync();
|
|
|
|
|
return true;
|
|
|
|
@ -3631,6 +3632,25 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
fragmentTransaction.commit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onMenuEmpty(String type) {
|
|
|
|
|
Bundle aargs = new Bundle();
|
|
|
|
|
if (EntityFolder.TRASH.equals(type))
|
|
|
|
|
aargs.putString("question", getString(
|
|
|
|
|
account < 0 ? R.string.title_empty_trash_all_ask : R.string.title_empty_trash_ask));
|
|
|
|
|
else if (EntityFolder.JUNK.equals(type))
|
|
|
|
|
aargs.putString("question", getString(
|
|
|
|
|
account < 0 ? R.string.title_empty_spam_all_ask : R.string.title_empty_spam_ask));
|
|
|
|
|
else
|
|
|
|
|
throw new IllegalArgumentException("Invalid folder type=" + type);
|
|
|
|
|
aargs.putLong("account", account);
|
|
|
|
|
aargs.putString("type", type);
|
|
|
|
|
|
|
|
|
|
FragmentDialogAsk ask = new FragmentDialogAsk();
|
|
|
|
|
ask.setArguments(aargs);
|
|
|
|
|
ask.setTargetFragment(this, FragmentMessages.REQUEST_EMPTY_FOLDER);
|
|
|
|
|
ask.show(getParentFragmentManager(), "messages:empty");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onMenuSort(String sort) {
|
|
|
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
|
|
|
|
prefs.edit().putString("sort", sort).apply();
|
|
|
|
@ -3766,25 +3786,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onMenuEmpty(String type) {
|
|
|
|
|
Bundle aargs = new Bundle();
|
|
|
|
|
if (EntityFolder.TRASH.equals(type))
|
|
|
|
|
aargs.putString("question", getString(
|
|
|
|
|
account < 0 ? R.string.title_empty_trash_all_ask : R.string.title_empty_trash_ask));
|
|
|
|
|
else if (EntityFolder.JUNK.equals(type))
|
|
|
|
|
aargs.putString("question", getString(
|
|
|
|
|
account < 0 ? R.string.title_empty_spam_all_ask : R.string.title_empty_spam_ask));
|
|
|
|
|
else
|
|
|
|
|
throw new IllegalArgumentException("Invalid folder type=" + type);
|
|
|
|
|
aargs.putLong("account", account);
|
|
|
|
|
aargs.putString("type", type);
|
|
|
|
|
|
|
|
|
|
FragmentDialogAsk ask = new FragmentDialogAsk();
|
|
|
|
|
ask.setArguments(aargs);
|
|
|
|
|
ask.setTargetFragment(this, FragmentMessages.REQUEST_EMPTY_FOLDER);
|
|
|
|
|
ask.show(getParentFragmentManager(), "messages:empty");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void onMenuForceSync() {
|
|
|
|
|
ServiceSynchronize.reload(getContext(), null, true, "force sync");
|
|
|
|
|
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
|
|
|
|
|