From 4489a80fb669e3f0eaf3be6134e6962993300390 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Thu, 13 Sep 2018 01:07:45 +0200 Subject: [PATCH] implement archive-selected and delete-selected in ConversationList --- .../securesms/ConversationListFragment.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java index 1c142c091..04d899648 100644 --- a/src/org/thoughtcrime/securesms/ConversationListFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java @@ -249,6 +249,7 @@ public class ConversationListFragment extends Fragment @SuppressLint("StaticFieldLeak") private void handleArchiveAllSelected() { + final DcContext dcContext = DcHelper.getContext(getActivity()); final Set selectedConversations = new HashSet<>(getListAdapter().getBatchSelections()); final boolean archive = this.archive; @@ -279,16 +280,14 @@ public class ConversationListFragment extends Fragment @Override protected void executeAction(@Nullable Void parameter) { for (long threadId : selectedConversations) { - if (!archive) DatabaseFactory.getThreadDatabase(getActivity()).archiveConversation(threadId); - else DatabaseFactory.getThreadDatabase(getActivity()).unarchiveConversation(threadId); + dcContext.archiveChat((int)threadId, !archive? 1 : 0); } } @Override protected void reverseAction(@Nullable Void parameter) { for (long threadId : selectedConversations) { - if (!archive) DatabaseFactory.getThreadDatabase(getActivity()).unarchiveConversation(threadId); - else DatabaseFactory.getThreadDatabase(getActivity()).archiveConversation(threadId); + dcContext.archiveChat((int)threadId, !archive? 0 : 1); } } }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); @@ -296,6 +295,7 @@ public class ConversationListFragment extends Fragment @SuppressLint("StaticFieldLeak") private void handleDeleteAllSelected() { + final DcContext dcContext = DcHelper.getContext(getActivity()); int conversationsCount = getListAdapter().getBatchSelections().size(); AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); alert.setIconAttribute(R.attr.dialog_alert_icon); @@ -323,8 +323,9 @@ public class ConversationListFragment extends Fragment @Override protected Void doInBackground(Void... params) { - DatabaseFactory.getThreadDatabase(getActivity()).deleteConversations(selectedConversations); - MessageNotifier.updateNotification(getActivity()); + for (long threadId : selectedConversations) { + dcContext.deleteChat((int)threadId); + } return null; }