From 32888fa00b3f7df16287c1dcfab13afc0114b80e Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 30 Aug 2021 12:50:20 -0400 Subject: [PATCH] Re-enabled converation list observation while a conversation is open. It honestly doesn't feel great to not have this, because when you back out to the conversation list you have to wait for it to update. Right now this seems like the lesser of two evils. --- .../ConversationListFragment.java | 2 -- .../ConversationListViewModel.java | 18 ++---------------- 2 files changed, 2 insertions(+), 18 deletions(-) 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 c566be3116..3da4186aad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -320,7 +320,6 @@ public class ConversationListFragment extends MainFragment implements ActionMode super.onStart(); ConversationFragment.prepare(requireContext()); ApplicationDependencies.getAppForegroundObserver().addListener(appForegroundObserver); - viewModel.onStart(); } @Override @@ -336,7 +335,6 @@ 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 060f5825ee..d33cf8fe72 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java @@ -60,7 +60,6 @@ class ConversationListViewModel extends ViewModel { private String activeQuery; private SearchResult activeSearchResult; private int pinnedCount; - private boolean isNewlyCreated; private ConversationListViewModel(@NonNull Application application, @NonNull SearchRepository searchRepository, boolean isArchived) { this.megaphone = new MutableLiveData<>(); @@ -87,7 +86,6 @@ class ConversationListViewModel extends ViewModel { pagedData.getController().onDataInvalidated(); }); }; - this.isNewlyCreated = true; this.hasNoConversations = LiveDataUtil.mapAsync(pagedData.getData(), conversations -> { pinnedCount = DatabaseFactory.getThreadDatabase(application).getPinnedConversationListCount(); @@ -98,6 +96,8 @@ class ConversationListViewModel extends ViewModel { return DatabaseFactory.getThreadDatabase(application).getArchivedConversationListCount() == 0; } }); + + ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(observer); } public LiveData hasNoConversations() { @@ -142,20 +142,6 @@ class ConversationListViewModel extends ViewModel { coldStart = false; } - void onStart() { - if (!isNewlyCreated) { - pagedData.getController().onDataInvalidated(); - } - - isNewlyCreated = false; - - ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(observer); - } - - void onStop() { - ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer); - } - void onMegaphoneCompleted(@NonNull Megaphones.Event event) { megaphone.postValue(null); megaphoneRepository.markFinished(event);