Use wsrv.nl service (#778)

* Add wsrv.nl datasaver service

* Add code comments
This commit is contained in:
Wisest_wizard
2023-03-16 03:14:57 +05:30
committed by GitHub
parent 82f0e5bc01
commit ae712527f3
6 changed files with 51 additions and 19 deletions
@@ -43,7 +43,7 @@ class SourcePreferences(
fun sourcesTabSourcesInCategories() = preferenceStore.getStringSet("sources_tab_source_categories", mutableSetOf())
fun dataSaver() = preferenceStore.getBoolean("data_saver", false)
fun dataSaver() = preferenceStore.getInt("data_saver", 0)
fun dataSaverIgnoreJpeg() = preferenceStore.getBoolean("ignore_jpeg", false)
@@ -599,31 +599,36 @@ object SettingsAdvancedScreen : SearchableSettings {
return Preference.PreferenceGroup(
title = stringResource(R.string.data_saver),
preferenceItems = listOf(
Preference.PreferenceItem.SwitchPreference(
Preference.PreferenceItem.ListPreference(
pref = sourcePreferences.dataSaver(),
title = stringResource(R.string.data_saver),
subtitle = stringResource(R.string.data_saver_summary),
entries = mapOf(
0 to stringResource(R.string.disabled),
1 to stringResource(R.string.bandwidth_hero),
2 to stringResource(R.string.wsrv),
),
),
Preference.PreferenceItem.EditTextPreference(
pref = sourcePreferences.dataSaverServer(),
title = stringResource(R.string.data_saver_server),
title = stringResource(R.string.bandwidth_data_saver_server),
subtitle = stringResource(R.string.data_saver_server_summary),
enabled = dataSaver,
enabled = (dataSaver == 1),
),
Preference.PreferenceItem.SwitchPreference(
pref = sourcePreferences.dataSaverDownloader(),
title = stringResource(R.string.data_saver_downloader),
enabled = dataSaver,
enabled = (dataSaver != 0),
),
Preference.PreferenceItem.SwitchPreference(
pref = sourcePreferences.dataSaverIgnoreJpeg(),
title = stringResource(R.string.data_saver_ignore_jpeg),
enabled = dataSaver,
enabled = (dataSaver != 0),
),
Preference.PreferenceItem.SwitchPreference(
pref = sourcePreferences.dataSaverIgnoreGif(),
title = stringResource(R.string.data_saver_ignore_gif),
enabled = dataSaver,
enabled = (dataSaver != 0),
),
Preference.PreferenceItem.ListPreference(
pref = sourcePreferences.dataSaverImageQuality(),
@@ -639,7 +644,7 @@ object SettingsAdvancedScreen : SearchableSettings {
"90%",
"95%",
).associateBy { it.trimEnd('%').toInt() },
enabled = dataSaver,
enabled = (dataSaver != 0),
),
kotlin.run {
val dataSaverImageFormatJpeg by sourcePreferences.dataSaverImageFormatJpeg().collectAsState()
@@ -651,13 +656,13 @@ object SettingsAdvancedScreen : SearchableSettings {
} else {
stringResource(R.string.data_saver_image_format_summary_off)
},
enabled = dataSaver,
enabled = (dataSaver != 0),
)
},
Preference.PreferenceItem.SwitchPreference(
pref = sourcePreferences.dataSaverColorBW(),
title = stringResource(R.string.data_saver_color_bw),
enabled = dataSaver,
enabled = (dataSaver == 1),
),
),
)
@@ -72,8 +72,12 @@ class SourcesScreenModel(
.launchIn(coroutineScope)
sourcePreferences.dataSaver().changes()
.onEach { enabled ->
mutableState.update { it.copy(dataSaverEnabled = enabled) }
.onEach {
mutableState.update {
it.copy(
dataSaverEnabled = (sourcePreferences.dataSaver().get()),
)
}
}
.launchIn(coroutineScope)
// SY <--
@@ -191,7 +195,7 @@ data class SourcesState(
val categories: List<String> = emptyList(),
val showPin: Boolean = true,
val showLatest: Boolean = false,
val dataSaverEnabled: Boolean = false,
val dataSaverEnabled: Int = 0,
// SY <--
) {
val isEmpty = items.isEmpty()
@@ -97,7 +97,7 @@ fun Screen.sourcesTab(
onClickToggleDataSaver = {
screenModel.toggleExcludeFromDataSaver(source)
screenModel.closeDialog()
}.takeIf { state.dataSaverEnabled },
}.takeIf { state.dataSaverEnabled != 0 },
onDismiss = screenModel::closeDialog,
)
}