diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index b4945d94e4..051b401268 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -1088,16 +1088,7 @@ public class ConversationParentFragment extends Fragment @Override public void handleMuteNotifications() { - MuteDialog.show(requireActivity(), until -> { - new AsyncTask() { - @Override - protected Void doInBackground(Void... params) { - SignalDatabase.recipients().setMuted(recipient.getId(), until); - - return null; - } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - }); + MuteDialog.show(requireActivity(), viewModel::muteConversation); } private void handleStoryRingClick() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java index 736e8cbacd..b1e8f1d515 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationRepository.java @@ -212,4 +212,8 @@ class ConversationRepository { } }); } + + public void setConversationMuted(@NonNull RecipientId recipientId, long until) { + SignalExecutors.BOUNDED.execute(() -> SignalDatabase.recipients().setMuted(recipientId, until)); + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationViewModel.java index 0aafb0dd70..4996b34d4d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationViewModel.java @@ -338,6 +338,10 @@ public class ConversationViewModel extends ViewModel { return conversationStateStore.getState().getSecurityInfo().isPushAvailable(); } + void muteConversation(long until) { + conversationRepository.setConversationMuted(args.getRecipientId(), until); + } + @NonNull ConversationState getConversationStateSnapshot() { return conversationStateStore.getState(); }