diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/Preference.kt b/app/src/main/java/eu/kanade/presentation/more/settings/Preference.kt index dda479605..4df0fbc17 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/Preference.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/Preference.kt @@ -11,7 +11,7 @@ import tachiyomi.core.common.preference.Preference as PreferenceData sealed class Preference { abstract val title: String - abstract val enabled: Boolean + abstract val visible: Boolean sealed class PreferenceItem : Preference() { abstract val subtitle: String? @@ -24,7 +24,7 @@ sealed class Preference { data class TextPreference( override val title: String, override val subtitle: String? = null, - override val enabled: Boolean = true, + override val visible: Boolean = true, val widget: @Composable (() -> Unit)? = null, val onClick: (() -> Unit)? = null, ) : PreferenceItem() { @@ -39,7 +39,7 @@ sealed class Preference { val preference: PreferenceData, override val title: String, override val subtitle: String? = null, - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: Boolean) -> Boolean = { true }, ) : PreferenceItem() { override val icon: ImageVector? = null @@ -55,7 +55,7 @@ sealed class Preference { val valueText: @Composable (Int) -> String = { it.toString() }, val valueRange: IntProgression = 0..1, @IntRange(from = 0) val steps: Int = with(valueRange) { ((last - first) / step) - 1 }, - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: Int) -> Boolean = { true }, ) : PreferenceItem() { override val icon: ImageVector? = null @@ -73,7 +73,7 @@ sealed class Preference { val subtitleProvider: @Composable (value: T, entries: Map) -> String? = { v, e -> subtitle?.format(e[v]) }, override val icon: ImageVector? = null, - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: T) -> Boolean = { true }, ) : PreferenceItem() { internal fun internalSet(value: Any) = preference.set(value as T) @@ -95,7 +95,7 @@ sealed class Preference { val subtitleProvider: @Composable (value: String, entries: Map) -> String? = { v, e -> subtitle?.format(e[v]) }, override val icon: ImageVector? = null, - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: String) -> Unit = {}, ) : PreferenceItem() @@ -120,7 +120,7 @@ sealed class Preference { subtitle?.format(combined) }, override val icon: ImageVector? = null, - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: Set) -> Boolean = { true }, ) : PreferenceItem, Boolean>() { internal fun internalSet(value: Set) = preference.set(value as Set) @@ -138,7 +138,7 @@ sealed class Preference { val preference: PreferenceData, override val title: String, override val subtitle: String? = "%s", - override val enabled: Boolean = true, + override val visible: Boolean = true, override val onValueChanged: suspend (value: String) -> Boolean = { true }, ) : PreferenceItem() { override val icon: ImageVector? = null @@ -153,7 +153,7 @@ sealed class Preference { val logout: () -> Unit, ) : PreferenceItem() { override val title: String = "" - override val enabled: Boolean = true + override val visible: Boolean = true override val subtitle: String? = null override val icon: ImageVector? = null override val onValueChanged: suspend (value: String) -> Unit = {} @@ -162,7 +162,7 @@ sealed class Preference { data class InfoPreference( override val title: String, ) : PreferenceItem() { - override val enabled: Boolean = true + override val visible: Boolean = true override val subtitle: String? = null override val icon: ImageVector? = null override val onValueChanged: suspend (value: String) -> Unit = {} @@ -172,7 +172,7 @@ sealed class Preference { override val title: String, val content: @Composable () -> Unit, ) : PreferenceItem() { - override val enabled: Boolean = true + override val visible: Boolean = true override val subtitle: String? = null override val icon: ImageVector? = null override val onValueChanged: suspend (value: Unit) -> Unit = {} @@ -181,7 +181,7 @@ sealed class Preference { data class PreferenceGroup( override val title: String, - override val enabled: Boolean = true, + override val visible: Boolean = true, val preferenceItems: List>, ) : Preference() diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt b/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt index 9211312e7..99a1d8282 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt @@ -45,7 +45,7 @@ fun StatusWrapper( highlightKey: String?, content: @Composable () -> Unit, ) { - val enabled = item.enabled + val enabled = item.visible val highlighted = item.title == highlightKey AnimatedVisibility( visible = enabled, diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt index e0938738f..78247173f 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/PreferenceScreen.kt @@ -50,7 +50,7 @@ fun PreferenceScreen( when (preference) { // Create Preference Group is Preference.PreferenceGroup -> { - if (!preference.enabled) return@fastForEachIndexed + if (!preference.visible) return@fastForEachIndexed item { Column { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt index 0485a4103..7bda32e63 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt @@ -267,7 +267,7 @@ object SettingsAdvancedScreen : SearchableSettings { ), Preference.PreferenceItem.TextPreference( title = stringResource(MR.strings.pref_reset_user_agent_string), - enabled = remember(userAgent) { userAgent != userAgentPref.defaultValue() }, + visible = remember(userAgent) { userAgent != userAgentPref.defaultValue() }, onClick = { userAgentPref.delete() context.toast(MR.strings.requires_app_restart) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt index e0a8a94a1..7d2ba39ca 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt @@ -85,7 +85,7 @@ object SettingsAppearanceScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = amoledPref, title = stringResource(MR.strings.pref_dark_theme_pure_black), - enabled = themeMode != ThemeMode.LIGHT, + visible = themeMode != ThemeMode.LIGHT, onValueChanged = { (context as? Activity)?.let { ActivityCompat.recreate(it) } true diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt index 41f035523..7dfbd604d 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDownloadScreen.kt @@ -162,7 +162,7 @@ object SettingsDownloadScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = downloadNewUnreadChaptersOnlyPref, title = stringResource(MR.strings.pref_download_new_unread_chapters_only), - enabled = downloadNewChapters, + visible = downloadNewChapters, ), Preference.PreferenceItem.TextPreference( title = stringResource(MR.strings.categories), @@ -171,7 +171,7 @@ object SettingsDownloadScreen : SearchableSettings { included = included, excluded = excluded, ), - enabled = downloadNewChapters, + visible = downloadNewChapters, onClick = { showDialog = true }, ), ), diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt index 2e1688174..0e418531e 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt @@ -168,7 +168,7 @@ object SettingsLibraryScreen : SearchableSettings { ), title = stringResource(MR.strings.pref_library_update_restriction), subtitle = stringResource(MR.strings.restrictions), - enabled = autoUpdateInterval > 0, + visible = autoUpdateInterval > 0, onValueChanged = { // Post to event looper to allow the preference to be updated. ContextCompat.getMainExecutor(context).execute { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt index 6844dbc5e..e2be4b76b 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt @@ -98,7 +98,7 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.drawUnderCutout, title = stringResource(MR.strings.pref_cutout_short), - enabled = LocalView.current.hasDisplayCutout() && fullscreen, + visible = LocalView.current.hasDisplayCutout() && fullscreen, ), Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.keepScreenOn, @@ -131,14 +131,14 @@ object SettingsReaderScreen : SearchableSettings { valueRange = ReaderPreferences.MILLI_CONVERSION.let { it..it * 15 step it }, title = stringResource(MR.strings.pref_flash_duration), valueText = { stringResource(MR.strings.pref_flash_duration_summary, it) }, - enabled = flashPageState, + visible = flashPageState, ), Preference.PreferenceItem.SliderPreference( preference = readerPreferences.flashPageInterval, valueRange = 1..10, title = stringResource(MR.strings.pref_flash_page_interval), valueText = { pluralStringResource(MR.plurals.pref_pages, it, it) }, - enabled = flashPageState, + visible = flashPageState, ), Preference.PreferenceItem.ListPreference( preference = flashColorPref, @@ -149,7 +149,7 @@ object SettingsReaderScreen : SearchableSettings { to stringResource(MR.strings.pref_flash_style_white_black), ), title = stringResource(MR.strings.pref_flash_with), - enabled = flashPageState, + visible = flashPageState, ), ), ) @@ -212,7 +212,7 @@ object SettingsReaderScreen : SearchableSettings { ) .associateWith { stringResource(it.titleRes) }, title = stringResource(MR.strings.pref_read_with_tapping_inverted), - enabled = navMode != 5, + visible = navMode != 5, ), Preference.PreferenceItem.ListPreference( preference = imageScaleTypePref, @@ -235,12 +235,12 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.landscapeZoom, title = stringResource(MR.strings.pref_landscape_zoom), - enabled = imageScaleType == 1, + visible = imageScaleType == 1, ), Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.navigateToPan, title = stringResource(MR.strings.pref_navigate_pan), - enabled = navMode != 5, + visible = navMode != 5, ), Preference.PreferenceItem.SwitchPreference( preference = dualPageSplitPref, @@ -254,7 +254,7 @@ object SettingsReaderScreen : SearchableSettings { preference = readerPreferences.dualPageInvertPaged, title = stringResource(MR.strings.pref_dual_page_invert), subtitle = stringResource(MR.strings.pref_dual_page_invert_summary), - enabled = dualPageSplit, + visible = dualPageSplit, ), Preference.PreferenceItem.SwitchPreference( preference = rotateToFitPref, @@ -267,7 +267,7 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.dualPageRotateToFitInvert, title = stringResource(MR.strings.pref_page_rotate_invert), - enabled = rotateToFit, + visible = rotateToFit, ), ), ) @@ -305,7 +305,7 @@ object SettingsReaderScreen : SearchableSettings { ) .associateWith { stringResource(it.titleRes) }, title = stringResource(MR.strings.pref_read_with_tapping_inverted), - enabled = navMode != 5, + visible = navMode != 5, ), Preference.PreferenceItem.SliderPreference( preference = readerPreferences.webtoonSidePadding, @@ -341,7 +341,7 @@ object SettingsReaderScreen : SearchableSettings { preference = readerPreferences.dualPageInvertWebtoon, title = stringResource(MR.strings.pref_dual_page_invert), subtitle = stringResource(MR.strings.pref_dual_page_invert_summary), - enabled = dualPageSplit, + visible = dualPageSplit, ), Preference.PreferenceItem.SwitchPreference( preference = rotateToFitPref, @@ -354,7 +354,7 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.dualPageRotateToFitInvertWebtoon, title = stringResource(MR.strings.pref_page_rotate_invert), - enabled = rotateToFit, + visible = rotateToFit, ), Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.webtoonDoubleTapZoomEnabled, @@ -385,7 +385,7 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.readWithVolumeKeysInverted, title = stringResource(MR.strings.pref_read_with_volume_keys_inverted), - enabled = readWithVolumeKeys, + visible = readWithVolumeKeys, ), Preference.PreferenceItem.MultiSelectListPreference( preference = readerPreferences.verticalNavigator, @@ -396,14 +396,14 @@ object SettingsReaderScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = readerPreferences.verticalNavigatorOnLeft, title = stringResource(MR.strings.pref_webtoon_vertical_navigator_on_left), - enabled = verticalNavigator.isNotEmpty(), + visible = verticalNavigator.isNotEmpty(), ), Preference.PreferenceItem.SliderPreference( preference = readerPreferences.verticalNavigatorHeight, valueRange = 65..100, steps = 6, title = stringResource(MR.strings.pref_vertical_navigator_height), - enabled = verticalNavigator.isNotEmpty(), + visible = verticalNavigator.isNotEmpty(), ), ), ) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt index 3d3e2c7bd..d0f29656a 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt @@ -170,14 +170,14 @@ private fun SearchResult( .flatMap { settingsData -> settingsData.contents.asSequence() // Only search from enabled prefs and one with valid title - .filter { it.enabled && it.title.isNotBlank() } + .filter { it.visible && it.title.isNotBlank() } // Flatten items contained inside *enabled* PreferenceGroup .flatMap { p -> when (p) { is Preference.PreferenceGroup -> { - if (p.enabled) { + if (p.visible) { p.preferenceItems.asSequence() - .filter { it.enabled && it.title.isNotBlank() } + .filter { it.visible && it.title.isNotBlank() } .map { p.title to it } } else { emptySequence() diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt index 2814efb4f..99cb1b7a7 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt @@ -52,7 +52,7 @@ object SettingsSecurityScreen : SearchableSettings { Preference.PreferenceItem.SwitchPreference( preference = useAuthPref, title = stringResource(MR.strings.lock_with_biometrics), - enabled = authSupported, + visible = authSupported, onValueChanged = { (context as FragmentActivity).authenticate( title = context.stringResource(MR.strings.lock_with_biometrics), @@ -70,7 +70,7 @@ object SettingsSecurityScreen : SearchableSettings { } }, title = stringResource(MR.strings.lock_when_idle), - enabled = authSupported && useAuth, + visible = authSupported && useAuth, onValueChanged = { (context as FragmentActivity).authenticate( title = context.stringResource(MR.strings.lock_when_idle),