From b381b7af72106b6c70644bb596ac9e58fc630b80 Mon Sep 17 00:00:00 2001 From: Mihai-Cristian Condrea Date: Sat, 29 Jun 2024 21:33:57 +0300 Subject: [PATCH] The select all chip is now more dynamic --- app/build.gradle.kts | 2 +- .../main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 96bd9d2..0f593d4 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,7 +14,7 @@ android { applicationId = "com.d4rk.cleaner" minSdk = 26 targetSdk = 34 - versionCode = 75 + versionCode = 76 versionName = "2.0.0" archivesName = "${applicationId}-v${versionName}" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt b/app/src/main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt index 883c74b..e90c1cc 100644 --- a/app/src/main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt +++ b/app/src/main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt @@ -44,6 +44,7 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState +import androidx.compose.runtime.mutableStateMapOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -358,7 +359,7 @@ fun FileItemComposable( val fileExtension = getFileExtension(item) val iconResource = fileIconMap[fileExtension] ?: R.drawable.ic_file_present - + val fileSelectionStates = remember { mutableStateMapOf() } Row( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.Center ) { @@ -377,9 +378,11 @@ fun FileItemComposable( Checkbox( checked = viewModel.fileSelectionStates[file] ?: false, onCheckedChange = { isChecked -> + fileSelectionStates[file] = isChecked viewModel.fileSelectionStates[file] = isChecked viewModel._selectedFileCount.value = - viewModel.fileSelectionStates.values.count { it } + viewModel.fileSelectionStates.values.count { it } + viewModel.allFilesSelected.value = viewModel.fileSelectionStates.values.all { it } }, modifier = Modifier.align(Alignment.CenterVertically) )