[DO NOT USE] Introduce MutableState<T>.rememberedAccessor
This commit is contained in:
1 parent
d2b5e5ec01
commit
b56f136da0
2 files changed
+10
-2
No files matched your search
@@ -2,8 +2,10 @@ package com.hippo.ehviewer.ui.compose
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import kotlin.reflect.KMutableProperty0
|
||||
|
||||
val <T> KMutableProperty0<T>.observed: MutableState<T>
|
||||
@@ -19,3 +21,7 @@ val <T> KMutableProperty0<T>.observed: MutableState<T>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val <T> MutableState<T>.rememberedAccessor: KMutableProperty0<T>
|
||||
@Composable
|
||||
get() = remember { object { var value by this@rememberedAccessor }::value }
|
||||
@@ -30,6 +30,7 @@ import com.hippo.ehviewer.R
|
||||
import com.hippo.ehviewer.Settings
|
||||
import com.hippo.ehviewer.download.downloadLocation
|
||||
import com.hippo.ehviewer.ui.compose.observed
|
||||
import com.hippo.ehviewer.ui.compose.rememberedAccessor
|
||||
import com.hippo.ehviewer.ui.keepNoMediaFileStatus
|
||||
import com.hippo.ehviewer.ui.legacy.BaseDialogBuilder
|
||||
import com.hippo.ehviewer.ui.login.LocalNavController
|
||||
@@ -103,10 +104,11 @@ fun DownloadScreen() {
|
||||
selectDownloadDirLauncher.launch(null)
|
||||
}
|
||||
}
|
||||
val mediaScan = Settings::mediaScan.observed
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_download_media_scan),
|
||||
summary = if (Settings.mediaScan) stringResource(id = R.string.settings_download_media_scan_summary_on) else stringResource(id = R.string.settings_download_media_scan_summary_off),
|
||||
value = Settings::mediaScan,
|
||||
summary = if (mediaScan.value) stringResource(id = R.string.settings_download_media_scan_summary_on) else stringResource(id = R.string.settings_download_media_scan_summary_off),
|
||||
value = mediaScan.rememberedAccessor,
|
||||
)
|
||||
val multiThreadDownload = Settings::multiThreadDownload.observed
|
||||
SimpleMenuPreferenceInt(
|
||||
|
||||
Reference in new issue
Block a user