Permanent delete?

pull/194/merge
M66B 3 years ago
parent 93afbbd648
commit 19a94ee7f4

@ -4940,26 +4940,71 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
}
private void onMenuEmpty(String type) {
Bundle args = new Bundle();
args.putLong("account", account);
new SimpleTask<List<EntityAccount>>() {
@Override
protected List<EntityAccount> onExecute(Context context, Bundle args) {
long aid = args.getLong("account");
List<EntityAccount> result = new ArrayList<>();
DB db = DB.getInstance(context);
if (aid < 0) {
List<EntityAccount> accounts = db.account().getSynchronizingAccounts(null);
if (accounts != null)
result.addAll(accounts);
} else {
EntityAccount account = db.account().getAccount(aid);
if (account != null)
result.add(account);
}
return result;
}
@Override
protected void onExecuted(Bundle args, List<EntityAccount> accounts) {
boolean permanent = false;
for (EntityAccount account : accounts)
if (account.protocol == EntityAccount.TYPE_IMAP || !account.leave_deleted) {
permanent = true;
break;
}
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));
accounts.size() > 1 ? 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));
accounts.size() > 1 ? R.string.title_empty_spam_all_ask : R.string.title_empty_spam_ask));
else
throw new IllegalArgumentException("Invalid folder type=" + type);
aargs.putBoolean("warning", true);
if (permanent)
aargs.putString("remark", getString(R.string.title_empty_all));
aargs.putLong("account", account);
aargs.putLong("account", args.getLong("account"));
aargs.putString("type", type);
FragmentDialogAsk ask = new FragmentDialogAsk();
ask.setArguments(aargs);
ask.setTargetFragment(this, REQUEST_EMPTY_FOLDER);
ask.setTargetFragment(FragmentMessages.this, REQUEST_EMPTY_FOLDER);
ask.show(getParentFragmentManager(), "messages:empty");
}
@Override
protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex);
}
}.execute(this, args, "folder:empty");
}
private void onMenuSort(String sort) {
final Context context = getContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);

Loading…
Cancel
Save