Move SearchCategory to use rememberInDataStore

This commit is contained in:
GG Bond authored and renovate[bot] committed 2024-05-10 19:27:45 +08:00
1 parent 959da21b9d
commit 4f9bfe13cb
3 files changed
+5 -9

No files matched your search

@@ -10,7 +10,6 @@ import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.remember
import com.hippo.ehviewer.client.CHROME_USER_AGENT
import com.hippo.ehviewer.client.EhUtils
import com.hippo.ehviewer.client.data.FavListUrlBuilder
import com.hippo.ehviewer.download.DownloadsFilterMode
import com.hippo.ehviewer.download.SortMode
@@ -162,7 +161,6 @@ object Settings : DataStorePreferences(null) {
var defaultFavSlot by intPref("default_favorite_slot", -2)
var securityDelay by intPref("require_unlock_delay", 0)
var clipboardTextHashCode by intPref("clipboard_text_hash_code", 0)
var searchCategory by intPref("search_pref", EhUtils.ALL_CATEGORY)
var requestNewsTime by intPref("request_news_time", 0).observed { updateWhenRequestNewsChanges() }
var updateIntervalDays by intPref("update_interval_days", 7)
var lastDawnDays by intPref("last_dawn_days", 0)
@@ -128,6 +128,7 @@ import com.hippo.ehviewer.ui.tools.animateFloatMergePredictiveBackAsState
import com.hippo.ehviewer.ui.tools.delegateSnapshotUpdate
import com.hippo.ehviewer.ui.tools.foldToLoadResult
import com.hippo.ehviewer.ui.tools.rememberHapticFeedback
import com.hippo.ehviewer.ui.tools.rememberInDataStore
import com.hippo.ehviewer.ui.tools.rememberInVM
import com.hippo.ehviewer.ui.tools.snackBarPadding
import com.hippo.ehviewer.util.FavouriteStatusRouter
@@ -174,7 +175,7 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
var searchBarOffsetY by remember { mutableIntStateOf(0) }
var showSearchLayout by rememberSaveable { mutableStateOf(false) }
var category by rememberSaveable { mutableIntStateOf(Settings.searchCategory) }
var category by rememberInDataStore("SearchCategory") { mutableIntStateOf(EhUtils.ALL_CATEGORY) }
var searchMethod by rememberSaveable { mutableIntStateOf(1) }
var advancedSearchOption by rememberSaveable { mutableStateOf(AdvancedSearchOption()) }
var imageUri by rememberSaveable { mutableStateOf<Uri?>(null) }
@@ -571,10 +572,7 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
filter = {
SearchFilter(
category = category,
onCategoryChanged = {
Settings.searchCategory = it
category = it
},
onCategoryChanged = { category = it },
advancedOption = advancedSearchOption,
onAdvancedOptionChanged = { advancedSearchOption = it },
)
@@ -32,7 +32,7 @@ import kotlinx.serialization.encodeToByteArray
import splitties.init.appCtx
val dataStoreScope = CoroutineScope(Dispatchers.IO + SupervisorJob())
val dataStore = PreferenceDataStoreFactory.create { appCtx.dataStoreFile("Remembered") }
val dataStore = PreferenceDataStoreFactory.create { appCtx.dataStoreFile("Remembered.preferences_pb") }
val dataStateFlow = dataStore.data.stateIn(dataStoreScope, SharingStarted.Eagerly, emptyPreferences())
class StateMapViewModel : ViewModel() {
@@ -59,7 +59,7 @@ inline fun <reified T : Any> rememberInVM(
}
@Composable
inline fun <reified T : MutableState<T>> rememberInDataStore(
inline fun <reified T> rememberInDataStore(
key: String,
crossinline defaultValue: @DisallowComposableCalls () -> MutableState<T>,
) = with(dataStateFlow) {