From 3330fc82108655b9f13e5e52300e80c87f2f844c Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 23 Jan 2025 09:45:02 +0100 Subject: [PATCH] fix shimmer and "offlineNoMessages"-info handling when being offline and no messages are set -> hide shimmer when messages are received -> hide shimmer and "offlineNoMessages"-info Signed-off-by: Marcel Hibbe --- .../main/java/com/nextcloud/talk/chat/ChatActivity.kt | 11 +++++++---- .../chat/data/network/OfflineFirstChatRepository.kt | 4 +++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 6f6386a60..532f2e44f 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -828,12 +828,15 @@ class ChatActivity : // Handle UI on first load cancelNotificationsForCurrentConversation() binding.progressBar.visibility = View.GONE + binding.offline.root.visibility = View.GONE binding.messagesListView.visibility = View.VISIBLE collapseSystemMessages() } is ChatViewModel.ChatMessageUpdateState -> { - // unused atm + binding.progressBar.visibility = View.GONE + binding.offline.root.visibility = View.GONE + binding.messagesListView.visibility = View.VISIBLE } is ChatViewModel.ChatMessageErrorState -> { @@ -918,9 +921,9 @@ class ChatActivity : chatViewModel.getGeneralUIFlow.onEach { key -> when (key) { NO_OFFLINE_MESSAGES_FOUND -> { - if (networkMonitor.isOnline.value.not()) { - binding.offline.root.visibility = View.VISIBLE - } + binding.progressBar.visibility = View.GONE + binding.messagesListView.visibility = View.GONE + binding.offline.root.visibility = View.VISIBLE } else -> {} diff --git a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt index 3e731c40d..e2e05ae92 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/data/network/OfflineFirstChatRepository.kt @@ -157,7 +157,9 @@ class OfflineFirstChatRepository @Inject constructor( } else { if (!weAlreadyHaveSomeOfflineMessages) { Log.d(TAG, "An online request for newest 100 messages is made because offline chat is empty") - _generalUIFlow.emit(ChatActivity.NO_OFFLINE_MESSAGES_FOUND) + if (networkMonitor.isOnline.value.not()) { + _generalUIFlow.emit(ChatActivity.NO_OFFLINE_MESSAGES_FOUND) + } } else { Log.d( TAG,