diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index 3da4186aad..c566be3116 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -320,6 +320,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode super.onStart(); ConversationFragment.prepare(requireContext()); ApplicationDependencies.getAppForegroundObserver().addListener(appForegroundObserver); + viewModel.onStart(); } @Override @@ -335,6 +336,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode public void onStop() { super.onStop(); ApplicationDependencies.getAppForegroundObserver().removeListener(appForegroundObserver); + viewModel.onStop(); } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java index d33cf8fe72..ebb7423c68 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java @@ -96,8 +96,6 @@ class ConversationListViewModel extends ViewModel { return DatabaseFactory.getThreadDatabase(application).getArchivedConversationListCount() == 0; } }); - - ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(observer); } public LiveData hasNoConversations() { @@ -142,6 +140,14 @@ class ConversationListViewModel extends ViewModel { coldStart = false; } + void onStart() { + ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(observer); + } + + void onStop() { + ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer); + } + void onMegaphoneCompleted(@NonNull Megaphones.Event event) { megaphone.postValue(null); megaphoneRepository.markFinished(event);