From 31d0b816240b561f70ebfe1b17c904ec7002d926 Mon Sep 17 00:00:00 2001 From: Jeffrey Starke Date: Thu, 15 May 2025 11:08:08 -0400 Subject: [PATCH] Sticker Management v2 - Exit multi select mode after all items are deselected. To match the behavior of the conversations and messages screens. --- .../securesms/stickers/StickerManagementViewModel.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementViewModel.kt index 0017f6e373..f830d763a6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stickers/StickerManagementViewModel.kt @@ -161,9 +161,11 @@ class StickerManagementViewModel : ViewModel() { fun toggleSelection(pack: InstalledStickerPack) { _uiState.update { previousState -> val wasItemSelected = previousState.selectedPackIds.contains(pack.id) + val selectedPackIds = if (wasItemSelected) previousState.selectedPackIds.minus(pack.id) else previousState.selectedPackIds.plus(pack.id) + previousState.copy( - multiSelectEnabled = true, - selectedPackIds = if (wasItemSelected) previousState.selectedPackIds.minus(pack.id) else previousState.selectedPackIds.plus(pack.id) + multiSelectEnabled = selectedPackIds.isNotEmpty(), + selectedPackIds = selectedPackIds ) } }