From 021330a25d41040d51f27b9dadd48cc0584a7f3a Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Thu, 10 Apr 2025 12:47:13 -0400 Subject: [PATCH] Fix adding to chats for chat folders. --- .../settings/app/chats/folders/ChatFoldersViewModel.kt | 10 ++++++++++ .../app/chats/folders/CreateFoldersFragment.kt | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt index 222913b470..d79d6a5d6c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/ChatFoldersViewModel.kt @@ -356,4 +356,14 @@ class ChatFoldersViewModel : ViewModel() { fun hasEmptyName(): Boolean { return state.value.currentFolder.folderRecord.name.isEmpty() } + + fun shouldSetInitialFolder(): Boolean { + val original = state.value.originalFolder + val current = state.value.currentFolder + return original.folderRecord.id == current.folderRecord.id && + original.folderRecord.showIndividualChats == current.folderRecord.showIndividualChats && + original.folderRecord.showGroupChats == current.folderRecord.showGroupChats && + original.includedRecipients == current.includedRecipients && + original.excludedRecipients == current.excludedRecipients + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt index 10a9dc6c59..c13d0a7a59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/chats/folders/CreateFoldersFragment.kt @@ -97,7 +97,7 @@ class CreateFoldersFragment : ComposeFragment() { val isNewFolder = state.originalFolder.folderRecord.id == -1L LaunchedEffect(Unit) { - if (state.originalFolder.folderRecord.id == state.currentFolder.folderRecord.id) { + if (viewModel.shouldSetInitialFolder()) { viewModel.setCurrentFolderId(arguments?.getLong(KEY_FOLDER_ID) ?: -1) viewModel.addThreadsToFolder(arguments?.getLongArray(KEY_THREAD_IDS)) }