pref: 修改设置卡顿
This commit is contained in:
parent
442a6cd74f
commit
ada00cfed8
|
|
@ -65,12 +65,15 @@ fun ListPref(
|
|||
prefs?.get(selectionKey)?.also { selected = it } // starting value if it exists in datastore
|
||||
|
||||
fun edit(current: Pair<String, String>) = run {
|
||||
scope.launch {
|
||||
selected = current.first
|
||||
onValueChange?.invoke(current.first)
|
||||
}
|
||||
scope.launch {
|
||||
try {
|
||||
datastore.edit { preferences ->
|
||||
preferences[selectionKey] = current.first
|
||||
}
|
||||
onValueChange?.invoke(current.first)
|
||||
} catch (e: Exception) {
|
||||
Log.e("ListPref", "Could not write pref $key to database. ${e.printStackTrace()}")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@ package com.huanchengfly.tieba.post.ui.common.prefs.widgets
|
|||
import android.util.Log
|
||||
import androidx.compose.material.ExperimentalMaterialApi
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.datastore.preferences.core.booleanPreferencesKey
|
||||
|
|
@ -35,13 +39,15 @@ fun SwitchPref(
|
|||
prefs?.get(selectionKey)?.also { checked = it } // starting value if it exists in datastore
|
||||
|
||||
fun edit(newState: Boolean) = run {
|
||||
scope.launch {
|
||||
checked = newState
|
||||
onCheckedChange?.invoke(newState)
|
||||
}
|
||||
scope.launch {
|
||||
try {
|
||||
datastore.edit { preferences ->
|
||||
preferences[selectionKey] = newState
|
||||
}
|
||||
checked = newState
|
||||
onCheckedChange?.invoke(newState)
|
||||
} catch (e: Exception) {
|
||||
Log.e("SwitchPref", "Could not write pref $key to database. ${e.printStackTrace()}")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue