From af65208a6c6f9d8dfa3de5f8637fce2a6408c966 Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Mon, 14 Jul 2025 12:28:41 -0500 Subject: [PATCH] fix bug cause im an idiot Signed-off-by: rapterjet2004 --- .../nextcloud/talk/chat/viewmodels/ChatViewModel.kt | 6 ++++-- .../talk/data/database/dao/ConversationsDao.kt | 11 +++++------ .../talk/utils/preview/ComposePreviewUtilsDaos.kt | 6 ++---- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt index 719f873e0..5e652dc2f 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt @@ -113,7 +113,7 @@ class ChatViewModel @Inject constructor( chatRepository.handleOnPause() mediaPlayerManager.handleOnPause() - runBlocking { + runBlocking(Dispatchers.IO) { val model = conversationRepository.getLocallyStoredConversation(chatRoomToken) model?.let { it.messageDraft = messageDraft @@ -903,7 +903,9 @@ class ChatViewModel @Inject constructor( suspend fun updateMessageDraft() { val model = conversationRepository.getLocallyStoredConversation(chatRoomToken) - messageDraft = model?.messageDraft!! + model?.messageDraft?.let { + messageDraft = it + } } companion object { diff --git a/app/src/main/java/com/nextcloud/talk/data/database/dao/ConversationsDao.kt b/app/src/main/java/com/nextcloud/talk/data/database/dao/ConversationsDao.kt index 811a4e20d..ef3681d22 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/dao/ConversationsDao.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/dao/ConversationsDao.kt @@ -29,9 +29,6 @@ interface ConversationsDao { @Upsert() fun upsertConversations(conversationEntities: List) - @Insert(onConflict = REPLACE) - suspend fun insertOrUpdate(item: ConversationEntity) - @Transaction suspend fun upsertConversations(accountId: Long, serverItems: List) { serverItems.forEach { serverItem -> @@ -39,10 +36,9 @@ interface ConversationsDao { if (existingItem != null) { val mergedItem = serverItem mergedItem.messageDraft = existingItem.messageDraft - insertOrUpdate(mergedItem) + updateConversation(mergedItem) } else { - // Insert new item directly (local-only fields will be default) - insertOrUpdate(serverItem) + insertConversation(serverItem) } } } @@ -61,6 +57,9 @@ interface ConversationsDao { @Update(onConflict = REPLACE) fun updateConversation(conversationEntity: ConversationEntity) + @Insert(onConflict = REPLACE) + fun insertConversation(conversation: ConversationEntity) + @Query( """ DELETE FROM Conversations diff --git a/app/src/main/java/com/nextcloud/talk/utils/preview/ComposePreviewUtilsDaos.kt b/app/src/main/java/com/nextcloud/talk/utils/preview/ComposePreviewUtilsDaos.kt index 6283578bf..d605b68c1 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preview/ComposePreviewUtilsDaos.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/preview/ComposePreviewUtilsDaos.kt @@ -194,14 +194,12 @@ class DummyConversationDaoImpl : ConversationsDao { override fun upsertConversations(conversationEntities: List) { /* */ } - override suspend fun insertOrUpdate(item: ConversationEntity) { - /**/ - } - override fun deleteConversations(conversationIds: List) { /* */ } override fun updateConversation(conversationEntity: ConversationEntity) { /* */ } + override fun insertConversation(conversation: ConversationEntity) { /* */ } + override fun clearAllConversationsForUser(accountId: Long) { /* */ } }