Merge pull request #4645 from nextcloud/bugfix/4643/fixShimmerAndOfflineNoMessagesInfo

fix shimmer and "offlineNoMessages"-info handling
This commit is contained in:
Marcel Hibbe 2025-01-23 09:29:26 +00:00 committed by GitHub
commit 4c6c08be55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 5 deletions

View File

@ -828,12 +828,15 @@ class ChatActivity :
// Handle UI on first load // Handle UI on first load
cancelNotificationsForCurrentConversation() cancelNotificationsForCurrentConversation()
binding.progressBar.visibility = View.GONE binding.progressBar.visibility = View.GONE
binding.offline.root.visibility = View.GONE
binding.messagesListView.visibility = View.VISIBLE binding.messagesListView.visibility = View.VISIBLE
collapseSystemMessages() collapseSystemMessages()
} }
is ChatViewModel.ChatMessageUpdateState -> { is ChatViewModel.ChatMessageUpdateState -> {
// unused atm binding.progressBar.visibility = View.GONE
binding.offline.root.visibility = View.GONE
binding.messagesListView.visibility = View.VISIBLE
} }
is ChatViewModel.ChatMessageErrorState -> { is ChatViewModel.ChatMessageErrorState -> {
@ -918,9 +921,9 @@ class ChatActivity :
chatViewModel.getGeneralUIFlow.onEach { key -> chatViewModel.getGeneralUIFlow.onEach { key ->
when (key) { when (key) {
NO_OFFLINE_MESSAGES_FOUND -> { NO_OFFLINE_MESSAGES_FOUND -> {
if (networkMonitor.isOnline.value.not()) { binding.progressBar.visibility = View.GONE
binding.offline.root.visibility = View.VISIBLE binding.messagesListView.visibility = View.GONE
} binding.offline.root.visibility = View.VISIBLE
} }
else -> {} else -> {}

View File

@ -157,7 +157,9 @@ class OfflineFirstChatRepository @Inject constructor(
} else { } else {
if (!weAlreadyHaveSomeOfflineMessages) { if (!weAlreadyHaveSomeOfflineMessages) {
Log.d(TAG, "An online request for newest 100 messages is made because offline chat is empty") 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 { } else {
Log.d( Log.d(
TAG, TAG,