Sticker Management v2 - Exit multi select mode after all items are deselected.

To match the behavior of the conversations and messages screens.
This commit is contained in:
Jeffrey Starke
2025-05-15 11:08:08 -04:00
committed by GitHub
parent 96ece3f424
commit 31d0b81624

View File

@@ -161,9 +161,11 @@ class StickerManagementViewModel : ViewModel() {
fun toggleSelection(pack: InstalledStickerPack) { fun toggleSelection(pack: InstalledStickerPack) {
_uiState.update { previousState -> _uiState.update { previousState ->
val wasItemSelected = previousState.selectedPackIds.contains(pack.id) val wasItemSelected = previousState.selectedPackIds.contains(pack.id)
val selectedPackIds = if (wasItemSelected) previousState.selectedPackIds.minus(pack.id) else previousState.selectedPackIds.plus(pack.id)
previousState.copy( previousState.copy(
multiSelectEnabled = true, multiSelectEnabled = selectedPackIds.isNotEmpty(),
selectedPackIds = if (wasItemSelected) previousState.selectedPackIds.minus(pack.id) else previousState.selectedPackIds.plus(pack.id) selectedPackIds = selectedPackIds
) )
} }
} }