From ce374887b3584d9047f7677c22051f3e8613fb3b Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sat, 17 Sep 2022 21:19:37 +0200 Subject: [PATCH] Add: IntPref composable --- .../ui/compose/components/prefs/BasicPrefs.kt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/prefs/BasicPrefs.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/prefs/BasicPrefs.kt index 3ddd7d96..68ab26cd 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/prefs/BasicPrefs.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/prefs/BasicPrefs.kt @@ -213,3 +213,38 @@ fun EnumPreference( onClick = onClick ) } + + +@Composable +fun IntPreference( + modifier: Modifier = Modifier, + prefKey: Preferences.Key, + index: Int = 1, + groupSize: Int = 1, + isEnabled: Boolean = true, + onClick: (() -> Unit) = {}, +) { + var prefValue by remember { + mutableStateOf(Preferences[prefKey]) + } + SideEffect { + CoroutineScope(Dispatchers.Default).launch { + Preferences.subject.collect { + when (it) { + prefKey -> prefValue = Preferences[prefKey] + else -> {} + } + } + } + } + + BasePreference( + modifier = modifier, + titleId = NonBooleanPrefsMeta[prefKey] ?: -1, + summary = prefValue.toString(), + index = index, + groupSize = groupSize, + isEnabled = isEnabled, + onClick = onClick + ) +}