Simplification

pull/214/head
M66B 10 months ago
parent e3e0351e35
commit 77f75011ca

@ -218,7 +218,6 @@ import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@ -1695,13 +1694,13 @@ public class FragmentMessages extends FragmentBase
if (result == null) if (result == null)
return; return;
if (result.account != null) if (result.imapAccounts.size() > 0)
onActionMoveSelectionAccount(result.account.id, false, result.folders); onActionMoveSelectionAccount(result.imapAccounts.get(0).id, false, result.folders);
else { else {
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(v.getContext(), getViewLifecycleOwner(), ibMove); PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(v.getContext(), getViewLifecycleOwner(), ibMove);
int order = 0; int order = 0;
for (EntityAccount account : result.accounts.keySet()) { for (EntityAccount account : result.imapAccounts) {
order++; order++;
popupMenu.getMenu().add(Menu.NONE, order, order, account.name) popupMenu.getMenu().add(Menu.NONE, order, order, account.name)
.setIntent(new Intent().putExtra("account", account.id)); .setIntent(new Intent().putExtra("account", account.id));
@ -4165,7 +4164,7 @@ public class FragmentMessages extends FragmentBase
.setIcon(R.drawable.twotone_delete_forever_24); .setIcon(R.drawable.twotone_delete_forever_24);
if (!result.read_only) { if (!result.read_only) {
for (EntityAccount account : result.accounts.keySet()) { for (EntityAccount account : result.imapAccounts) {
String title = getString(R.string.title_move_to_account, account.name); String title = getString(R.string.title_move_to_account, account.name);
SpannableString ssb = new SpannableString(title); SpannableString ssb = new SpannableString(title);
if (account.name != null && account.color != null) { if (account.name != null && account.color != null) {
@ -10676,8 +10675,7 @@ public class FragmentMessages extends FragmentBase
Boolean leave_deleted; Boolean leave_deleted;
boolean read_only; boolean read_only;
List<Long> folders; List<Long> folders;
EntityAccount account; List<EntityAccount> imapAccounts;
Map<EntityAccount, Boolean> accounts;
EntityAccount copyto; EntityAccount copyto;
boolean canInbox() { boolean canInbox() {
@ -10716,7 +10714,7 @@ public class FragmentMessages extends FragmentBase
boolean canMove() { boolean canMove() {
if (read_only) if (read_only)
return false; return false;
return (accounts.size() > 0); return (imapAccounts.size() > 0);
} }
static MoreResult get(Context context, long[] ids, boolean threading, boolean all) { static MoreResult get(Context context, long[] ids, boolean threading, boolean all) {
@ -10863,23 +10861,18 @@ public class FragmentMessages extends FragmentBase
if (result.hasTrash == null) result.hasTrash = false; if (result.hasTrash == null) result.hasTrash = false;
if (result.hasJunk == null) result.hasJunk = false; if (result.hasJunk == null) result.hasJunk = false;
if (!result.hasPop && accounts.size() == 1) result.imapAccounts = new ArrayList<>();
result.account = accounts.values().iterator().next();
result.accounts = new LinkedHashMap<>();
if (!result.hasPop || if (!result.hasPop ||
(accounts.size() == 1 && result.isInbox && !result.isSent)) { (accounts.size() == 1 && result.isInbox && !result.isSent)) {
List<EntityAccount> syncing = db.account().getSynchronizingAccounts(EntityAccount.TYPE_IMAP); List<EntityAccount> syncing = db.account().getSynchronizingAccounts(EntityAccount.TYPE_IMAP);
if (syncing != null) if (syncing != null)
for (EntityAccount a : syncing) result.imapAccounts.addAll(syncing);
result.accounts.put(a, accounts.containsKey(a.id));
} }
if (result.folders.size() > 1) if (result.folders.size() > 1)
result.folders = new ArrayList<>(); result.folders = new ArrayList<>();
return result; return result;
} }
} }

Loading…
Cancel
Save