From 7c9944348f4c0647dc9736e764d045f9e3271437 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 18 Nov 2018 08:25:47 +0100 Subject: [PATCH] Revert "Added archive/delete actions to conversation thread" This reverts commit cce4bd8c603abfe7c1689c1550fd5e2464e910d0. Conflicts: app/src/main/java/eu/faircode/email/FragmentMessages.java --- .../eu/faircode/email/FragmentMessages.java | 116 +++--------------- app/src/main/res/layout/fragment_messages.xml | 6 +- app/src/main/res/menu/action_messages.xml | 10 -- 3 files changed, 20 insertions(+), 112 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 44829275ce..af28d0a373 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -552,27 +552,14 @@ public class FragmentMessages extends FragmentEx { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { ViewModelMessages.Target[] pn = (ViewModelMessages.Target[]) bottom_navigation.getTag(); - - switch (menuItem.getItemId()) { - case R.id.action_delete: - onActionMove(EntityFolder.TRASH); - return true; - - case R.id.action_archive: - onActionMove(EntityFolder.ARCHIVE); - return true; - - case R.id.action_prev: - onActionNavigate(pn[0]); - return true; - - case R.id.action_next: - onActionNavigate(pn[1]); - return true; - - default: - return false; - } + ViewModelMessages.Target target = (menuItem.getItemId() == R.id.action_prev ? pn[0] : pn[1]); + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext()); + lbm.sendBroadcast( + new Intent(ActivityView.ACTION_VIEW_THREAD) + .putExtra("account", target.account) + .putExtra("thread", target.thread) + .putExtra("found", target.found)); + return true; } }); @@ -892,33 +879,15 @@ public class FragmentMessages extends FragmentEx { else fabMove.hide(); - if (viewType == AdapterMessage.ViewType.THREAD) - db.folder().liveSystemFolders(account).observe(getViewLifecycleOwner(), new Observer>() { - @Override - public void onChanged(@Nullable List folders) { - boolean hasTrash = false; - boolean hasArchive = false; - if (folders != null) - for (EntityFolder folder : folders) - if (EntityFolder.TRASH.equals(folder.type)) - hasTrash = true; - else if (EntityFolder.ARCHIVE.equals(folder.type)) - hasArchive = true; - - ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class); - ViewModelMessages.Target[] pn = model.getPrevNext(thread); - bottom_navigation.setTag(pn); - bottom_navigation.getMenu().findItem(R.id.action_prev).setEnabled(pn[0] != null); - bottom_navigation.getMenu().findItem(R.id.action_next).setEnabled(pn[1] != null); - - bottom_navigation.getMenu().findItem(R.id.action_prev).setVisible(navigation); - bottom_navigation.getMenu().findItem(R.id.action_delete).setVisible(hasTrash); - bottom_navigation.getMenu().findItem(R.id.action_archive).setVisible(hasArchive); - bottom_navigation.getMenu().findItem(R.id.action_next).setVisible(navigation); - bottom_navigation.setVisibility(View.VISIBLE); - } - }); - else { + if (viewType == AdapterMessage.ViewType.THREAD) { + // Navigation + ViewModelMessages model = ViewModelProviders.of(getActivity()).get(ViewModelMessages.class); + ViewModelMessages.Target[] pn = model.getPrevNext(thread); + bottom_navigation.setTag(pn); + bottom_navigation.getMenu().findItem(R.id.action_prev).setEnabled(pn[0] != null); + bottom_navigation.getMenu().findItem(R.id.action_next).setEnabled(pn[1] != null); + bottom_navigation.setVisibility(!navigation || (pn[0] == null && pn[1] == null) ? View.GONE : View.VISIBLE); + } else { db.account().liveAccountDraft(account < 0 ? null : account).observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(EntityAccount account) { @@ -1349,57 +1318,6 @@ public class FragmentMessages extends FragmentEx { }.load(this, args); } - private void onActionMove(String folderType) { - Bundle args = new Bundle(); - args.putLong("account", account); - args.putString("thread", thread); - args.putString("folderType", folderType); - - new SimpleTask() { - @Override - protected Void onLoad(Context context, Bundle args) throws Throwable { - long account = args.getLong("account"); - String thread = args.getString("thread"); - String folderType = args.getString("folderType"); - - DB db = DB.getInstance(context); - try { - db.beginTransaction(); - EntityFolder target = db.folder().getFolderByType(account, folderType); - List messages = db.message().getMessageByThread(account, thread); - - for (EntityMessage message : messages) - if (message.uid != null && !target.id.equals(message.folder)) { - db.message().setMessageUiHide(message.id, true); - EntityOperation.queue(db, message, EntityOperation.MOVE, target.id); - } - - db.setTransactionSuccessful(); - } finally { - db.endTransaction(); - } - - EntityOperation.process(context); - - return null; - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(getContext(), ex); - } - }.load(this, args); - } - - private void onActionNavigate(ViewModelMessages.Target target) { - LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext()); - lbm.sendBroadcast( - new Intent(ActivityView.ACTION_VIEW_THREAD) - .putExtra("account", target.account) - .putExtra("thread", target.thread) - .putExtra("found", target.found)); - } - ActivityBase.IBackPressedListener onBackPressedListener = new ActivityBase.IBackPressedListener() { @Override public boolean onBackPressed() { diff --git a/app/src/main/res/layout/fragment_messages.xml b/app/src/main/res/layout/fragment_messages.xml index 3112e1b884..5647f7f863 100644 --- a/app/src/main/res/layout/fragment_messages.xml +++ b/app/src/main/res/layout/fragment_messages.xml @@ -167,11 +167,11 @@ - - - -