@ -12,7 +12,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.DatabaseHelper
import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
import eu.kanade.tachiyomi.data.preference.CHARGING
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.UNMETERED_NETWORK
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
@ -152,9 +154,8 @@ class SettingsLibraryController : SettingsController() {
key = Keys . libraryUpdateRestriction
titleRes = R . string . pref _library _update _restriction
entriesRes = arrayOf ( R . string . network _unmetered , R . string . charging )
entryValues = arrayOf ( " wifi " , " ac " )
summaryRes = R . string . pref _library _update _restriction _summary
defaultValue = setOf ( " wifi " )
entryValues = arrayOf ( UNMETERED _NETWORK , CHARGING )
defaultValue = setOf ( UNMETERED _NETWORK )
preferences . libraryUpdateInterval ( ) . asImmediateFlow { isVisible = it > 0 }
. launchIn ( viewScope )
@ -164,6 +165,29 @@ class SettingsLibraryController : SettingsController() {
Handler ( ) . post { LibraryUpdateJob . setupTask ( context ) }
true
}
fun updateSummary ( ) {
val restrictions = preferences . libraryUpdateRestriction ( ) . get ( )
. sorted ( )
. map {
when ( it ) {
UNMETERED _NETWORK -> context . getString ( R . string . network _unmetered )
CHARGING -> context . getString ( R . string . charging )
else -> it
}
}
val restrictionsText = if ( restrictions . isEmpty ( ) ) {
context . getString ( R . string . none )
} else {
restrictions . joinToString ( )
}
summary = context . getString ( R . string . restrictions , restrictionsText )
}
preferences . libraryUpdateRestriction ( ) . asFlow ( )
. onEach { updateSummary ( ) }
. launchIn ( viewScope )
}
switchPreference {
key = Keys . updateOnlyNonCompleted