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 <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2025-01-23 09:45:02 +01:00
parent 7d0c6d67c7
commit 3330fc8210
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 10 additions and 5 deletions

View File

@ -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 -> {}

View File

@ -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,