Move SearchCategory to use rememberInDataStore
This commit is contained in:
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) {
|
||||
|
||||
Reference in new issue
Block a user