diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/common/prefs/widgets/SwitchPref.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/common/prefs/widgets/SwitchPref.kt index 1c1264e9..d30c0aa5 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/ui/common/prefs/widgets/SwitchPref.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/common/prefs/widgets/SwitchPref.kt @@ -112,13 +112,13 @@ fun SwitchPref( prefs?.get(selectionKey)?.also { checked = it } // starting value if it exists in datastore fun edit(newState: Boolean) = run { + 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()}") }