From 7790cac0eebbacd8ebb5cb068c25d7cefdd20fea Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 27 Aug 2021 10:12:12 -0300 Subject: [PATCH] Invalidate conversation list when it is not newly started. --- .../conversationlist/ConversationListViewModel.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 ebb7423c6..ce0764c26 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListViewModel.java @@ -60,6 +60,7 @@ 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<>(); @@ -85,6 +86,7 @@ class ConversationListViewModel extends ViewModel { } pagedData.getController().onDataInvalidated(); }); + this.isNewlyCreated = true; }; this.hasNoConversations = LiveDataUtil.mapAsync(pagedData.getData(), conversations -> { @@ -141,6 +143,12 @@ class ConversationListViewModel extends ViewModel { } void onStart() { + if (!isNewlyCreated) { + pagedData.getController().onDataInvalidated(); + } + + isNewlyCreated = false; + ApplicationDependencies.getDatabaseObserver().registerConversationListObserver(observer); }