From 74f74eef56ce83b52cd7969f705e370c7977af87 Mon Sep 17 00:00:00 2001 From: arkon Date: Thu, 24 Aug 2023 22:25:29 -0400 Subject: [PATCH] Don't run automatic backup or library update jobs if battery is low --- app/build.gradle.kts | 2 +- .../library/LibrarySettingsDialog.kt | 2 +- .../settings/screen/SettingsLibraryScreen.kt | 26 +++++++------- .../java/eu/kanade/tachiyomi/Migrations.kt | 35 +++++++++++-------- .../tachiyomi/data/backup/BackupCreateJob.kt | 6 ++++ .../data/library/LibraryUpdateJob.kt | 17 +++++---- .../ui/library/LibraryScreenModel.kt | 2 +- .../tachiyomi/ui/manga/MangaScreenModel.kt | 2 +- .../tachiyomi/ui/stats/StatsScreenModel.kt | 6 ++-- .../ui/updates/UpdatesScreenModel.kt | 2 +- .../interactor/CreateCategoryWithName.kt | 2 +- .../category/interactor/ResetCategoryFlags.kt | 2 +- .../category/interactor/SetDisplayMode.kt | 2 +- .../interactor/SetSortModeForCategory.kt | 2 +- .../library/service/LibraryPreferences.kt | 17 +++++---- i18n/src/main/res/values/strings.xml | 1 - 16 files changed, 67 insertions(+), 59 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 73935ab3fa..37d72d3e65 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -23,7 +23,7 @@ android { defaultConfig { applicationId = "eu.kanade.tachiyomi" - versionCode = 104 + versionCode = 105 versionName = "0.14.6" buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"") diff --git a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt index 78329d3e54..aaf8469438 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt @@ -180,7 +180,7 @@ private val displayModes = listOf( private fun ColumnScope.DisplayPage( screenModel: LibrarySettingsScreenModel, ) { - val displayMode by screenModel.libraryPreferences.libraryDisplayMode().collectAsState() + val displayMode by screenModel.libraryPreferences.displayMode().collectAsState() SettingsChipRow(R.string.action_display_mode) { displayModes.map { (titleRes, mode) -> FilterChip( 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 5ae741135e..35552e2256 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 @@ -31,7 +31,6 @@ import tachiyomi.domain.category.interactor.GetCategories import tachiyomi.domain.category.interactor.ResetCategoryFlags import tachiyomi.domain.category.model.Category import tachiyomi.domain.library.service.LibraryPreferences -import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI @@ -123,14 +122,14 @@ object SettingsLibraryScreen : SearchableSettings { ): Preference.PreferenceGroup { val context = LocalContext.current - val libraryUpdateIntervalPref = libraryPreferences.libraryUpdateInterval() - val libraryUpdateCategoriesPref = libraryPreferences.libraryUpdateCategories() - val libraryUpdateCategoriesExcludePref = libraryPreferences.libraryUpdateCategoriesExclude() + val autoUpdateIntervalPref = libraryPreferences.autoUpdateInterval() + val autoUpdateCategoriesPref = libraryPreferences.updateCategories() + val autoUpdateCategoriesExcludePref = libraryPreferences.updateCategoriesExclude() - val libraryUpdateInterval by libraryUpdateIntervalPref.collectAsState() + val autoUpdateInterval by autoUpdateIntervalPref.collectAsState() - val included by libraryUpdateCategoriesPref.collectAsState() - val excluded by libraryUpdateCategoriesExcludePref.collectAsState() + val included by autoUpdateCategoriesPref.collectAsState() + val excluded by autoUpdateCategoriesExcludePref.collectAsState() var showCategoriesDialog by rememberSaveable { mutableStateOf(false) } if (showCategoriesDialog) { TriStateListDialog( @@ -142,8 +141,8 @@ object SettingsLibraryScreen : SearchableSettings { itemLabel = { it.visualName }, onDismissRequest = { showCategoriesDialog = false }, onValueChanged = { newIncluded, newExcluded -> - libraryUpdateCategoriesPref.set(newIncluded.map { it.id.toString() }.toSet()) - libraryUpdateCategoriesExcludePref.set(newExcluded.map { it.id.toString() }.toSet()) + autoUpdateCategoriesPref.set(newIncluded.map { it.id.toString() }.toSet()) + autoUpdateCategoriesExcludePref.set(newExcluded.map { it.id.toString() }.toSet()) showCategoriesDialog = false }, ) @@ -153,7 +152,7 @@ object SettingsLibraryScreen : SearchableSettings { title = stringResource(R.string.pref_category_library_update), preferenceItems = listOf( Preference.PreferenceItem.ListPreference( - pref = libraryUpdateIntervalPref, + pref = autoUpdateIntervalPref, title = stringResource(R.string.pref_library_update_interval), entries = mapOf( 0 to stringResource(R.string.update_never), @@ -169,15 +168,14 @@ object SettingsLibraryScreen : SearchableSettings { }, ), Preference.PreferenceItem.MultiSelectListPreference( - pref = libraryPreferences.libraryUpdateDeviceRestriction(), - enabled = libraryUpdateInterval > 0, + pref = libraryPreferences.autoUpdateDeviceRestrictions(), + enabled = autoUpdateInterval > 0, title = stringResource(R.string.pref_library_update_restriction), subtitle = stringResource(R.string.restrictions), entries = mapOf( DEVICE_ONLY_ON_WIFI to stringResource(R.string.connected_to_wifi), DEVICE_NETWORK_NOT_METERED to stringResource(R.string.network_not_metered), DEVICE_CHARGING to stringResource(R.string.charging), - DEVICE_BATTERY_NOT_LOW to stringResource(R.string.battery_not_low), ), onValueChanged = { // Post to event looper to allow the preference to be updated. @@ -206,7 +204,7 @@ object SettingsLibraryScreen : SearchableSettings { subtitle = stringResource(R.string.pref_library_update_refresh_trackers_summary), ), Preference.PreferenceItem.MultiSelectListPreference( - pref = libraryPreferences.libraryUpdateMangaRestriction(), + pref = libraryPreferences.autoUpdateMangaRestrictions(), title = stringResource(R.string.pref_library_update_manga_restriction), entries = mapOf( MANGA_HAS_UNREAD to stringResource(R.string.pref_update_only_completely_read), diff --git a/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt b/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt index a493d216fc..ec33eac9e4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/Migrations.kt @@ -20,6 +20,7 @@ import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.workManager import tachiyomi.core.preference.PreferenceStore import tachiyomi.core.preference.TriState +import tachiyomi.core.preference.getAndSet import tachiyomi.core.preference.getEnum import tachiyomi.core.preference.minusAssign import tachiyomi.core.preference.plusAssign @@ -101,11 +102,11 @@ object Migrations { } if (oldVersion < 44) { // Reset sorting preference if using removed sort by source - val oldSortingMode = prefs.getInt(libraryPreferences.librarySortingMode().key(), 0) + val oldSortingMode = prefs.getInt(libraryPreferences.sortingMode().key(), 0) if (oldSortingMode == 5) { // SOURCE = 5 prefs.edit { - putInt(libraryPreferences.librarySortingMode().key(), 0) // ALPHABETICAL = 0 + putInt(libraryPreferences.sortingMode().key(), 0) // ALPHABETICAL = 0 } } } @@ -180,14 +181,14 @@ object Migrations { } if (oldVersion < 61) { // Handle removed every 1 or 2 hour library updates - val updateInterval = libraryPreferences.libraryUpdateInterval().get() + val updateInterval = libraryPreferences.autoUpdateInterval().get() if (updateInterval == 1 || updateInterval == 2) { - libraryPreferences.libraryUpdateInterval().set(3) + libraryPreferences.autoUpdateInterval().set(3) LibraryUpdateJob.setupTask(context, 3) } } if (oldVersion < 64) { - val oldSortingMode = prefs.getInt(libraryPreferences.librarySortingMode().key(), 0) + val oldSortingMode = prefs.getInt(libraryPreferences.sortingMode().key(), 0) val oldSortingDirection = prefs.getBoolean("library_sorting_ascending", true) val newSortingMode = when (oldSortingMode) { @@ -208,12 +209,12 @@ object Migrations { } prefs.edit(commit = true) { - remove(libraryPreferences.librarySortingMode().key()) + remove(libraryPreferences.sortingMode().key()) remove("library_sorting_ascending") } prefs.edit { - putString(libraryPreferences.librarySortingMode().key(), newSortingMode) + putString(libraryPreferences.sortingMode().key(), newSortingMode) putString("library_sorting_ascending", newSortingDirection) } } @@ -224,16 +225,16 @@ object Migrations { } if (oldVersion < 71) { // Handle removed every 3, 4, 6, and 8 hour library updates - val updateInterval = libraryPreferences.libraryUpdateInterval().get() + val updateInterval = libraryPreferences.autoUpdateInterval().get() if (updateInterval in listOf(3, 4, 6, 8)) { - libraryPreferences.libraryUpdateInterval().set(12) + libraryPreferences.autoUpdateInterval().set(12) LibraryUpdateJob.setupTask(context, 12) } } if (oldVersion < 72) { val oldUpdateOngoingOnly = prefs.getBoolean("pref_update_only_non_completed_key", true) if (!oldUpdateOngoingOnly) { - libraryPreferences.libraryUpdateMangaRestriction() -= MANGA_NON_COMPLETED + libraryPreferences.autoUpdateMangaRestrictions() -= MANGA_NON_COMPLETED } } if (oldVersion < 75) { @@ -258,20 +259,20 @@ object Migrations { if (oldVersion < 81) { // Handle renamed enum values prefs.edit { - val newSortingMode = when (val oldSortingMode = prefs.getString(libraryPreferences.librarySortingMode().key(), "ALPHABETICAL")) { + val newSortingMode = when (val oldSortingMode = prefs.getString(libraryPreferences.sortingMode().key(), "ALPHABETICAL")) { "LAST_CHECKED" -> "LAST_MANGA_UPDATE" "UNREAD" -> "UNREAD_COUNT" "DATE_FETCHED" -> "CHAPTER_FETCH_DATE" else -> oldSortingMode } - putString(libraryPreferences.librarySortingMode().key(), newSortingMode) + putString(libraryPreferences.sortingMode().key(), newSortingMode) } } if (oldVersion < 82) { prefs.edit { - val sort = prefs.getString(libraryPreferences.librarySortingMode().key(), null) ?: return@edit + val sort = prefs.getString(libraryPreferences.sortingMode().key(), null) ?: return@edit val direction = prefs.getString("library_sorting_ascending", "ASCENDING")!! - putString(libraryPreferences.librarySortingMode().key(), "$sort,$direction") + putString(libraryPreferences.sortingMode().key(), "$sort,$direction") remove("library_sorting_ascending") } } @@ -368,6 +369,12 @@ object Migrations { readerPreferences.longStripSplitWebtoon().set(false) } } + if (oldVersion < 105) { + val pref = libraryPreferences.autoUpdateDeviceRestrictions() + if (pref.isSet() && "battery_not_low" in pref.get()) { + pref.getAndSet { it - "battery_not_low" } + } + } return true } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateJob.kt index a5c4bbf587..6f960edec2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateJob.kt @@ -4,6 +4,7 @@ import android.content.Context import android.net.Uri import androidx.core.net.toUri import androidx.work.BackoffPolicy +import androidx.work.Constraints import androidx.work.CoroutineWorker import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.ExistingWorkPolicy @@ -76,6 +77,10 @@ class BackupCreateJob(private val context: Context, workerParams: WorkerParamete val backupPreferences = Injekt.get() val interval = prefInterval ?: backupPreferences.backupInterval().get() if (interval > 0) { + val constraints = Constraints( + requiresBatteryNotLow = true, + ) + val request = PeriodicWorkRequestBuilder( interval.toLong(), TimeUnit.HOURS, @@ -84,6 +89,7 @@ class BackupCreateJob(private val context: Context, workerParams: WorkerParamete ) .setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 10.minutes.toJavaDuration()) .addTag(TAG_AUTO) + .setConstraints(constraints) .setInputData(workDataOf(IS_AUTO_BACKUP_KEY to true)) .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt index 40bb3a4eef..bbf02978e3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt @@ -59,7 +59,6 @@ import tachiyomi.domain.chapter.model.NoChaptersException import tachiyomi.domain.download.service.DownloadPreferences import tachiyomi.domain.library.model.LibraryManga import tachiyomi.domain.library.service.LibraryPreferences -import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI @@ -113,7 +112,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet override suspend fun doWork(): Result { if (tags.contains(WORK_NAME_AUTO)) { val preferences = Injekt.get() - val restrictions = preferences.libraryUpdateDeviceRestriction().get() + val restrictions = preferences.autoUpdateDeviceRestrictions().get() if ((DEVICE_ONLY_ON_WIFI in restrictions) && !context.isConnectedToWifi()) { return Result.retry() } @@ -134,7 +133,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet // If this is a chapter update, set the last update time to now if (target == Target.CHAPTERS) { - libraryPreferences.libraryUpdateLastTimestamp().set(Date().time) + libraryPreferences.lastUpdatedTimestamp().set(Date().time) } val categoryId = inputData.getLong(KEY_CATEGORY, -1L) @@ -181,14 +180,14 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet val listToUpdate = if (categoryId != -1L) { libraryManga.filter { it.category == categoryId } } else { - val categoriesToUpdate = libraryPreferences.libraryUpdateCategories().get().map { it.toLong() } + val categoriesToUpdate = libraryPreferences.updateCategories().get().map { it.toLong() } val includedManga = if (categoriesToUpdate.isNotEmpty()) { libraryManga.filter { it.category in categoriesToUpdate } } else { libraryManga } - val categoriesToExclude = libraryPreferences.libraryUpdateCategoriesExclude().get().map { it.toLong() } + val categoriesToExclude = libraryPreferences.updateCategoriesExclude().get().map { it.toLong() } val excludedMangaIds = if (categoriesToExclude.isNotEmpty()) { libraryManga.filter { it.category in categoriesToExclude }.map { it.manga.id } } else { @@ -229,7 +228,7 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet val skippedUpdates = CopyOnWriteArrayList>() val failedUpdates = CopyOnWriteArrayList>() val hasDownloads = AtomicBoolean(false) - val restrictions = libraryPreferences.libraryUpdateMangaRestriction().get() + val restrictions = libraryPreferences.autoUpdateMangaRestrictions().get() val fetchWindow = setFetchInterval.getWindow(ZonedDateTime.now()) coroutineScope { @@ -558,13 +557,13 @@ class LibraryUpdateJob(private val context: Context, workerParams: WorkerParamet prefInterval: Int? = null, ) { val preferences = Injekt.get() - val interval = prefInterval ?: preferences.libraryUpdateInterval().get() + val interval = prefInterval ?: preferences.autoUpdateInterval().get() if (interval > 0) { - val restrictions = preferences.libraryUpdateDeviceRestriction().get() + val restrictions = preferences.autoUpdateDeviceRestrictions().get() val constraints = Constraints( requiredNetworkType = if (DEVICE_NETWORK_NOT_METERED in restrictions) { NetworkType.UNMETERED } else { NetworkType.CONNECTED }, requiresCharging = DEVICE_CHARGING in restrictions, - requiresBatteryNotLow = DEVICE_BATTERY_NOT_LOW in restrictions, + requiresBatteryNotLow = true, ) val request = PeriodicWorkRequestBuilder( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 2441707fe3..7ae1aa7299 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -519,7 +519,7 @@ class LibraryScreenModel( } fun getDisplayMode(): PreferenceMutableState { - return libraryPreferences.libraryDisplayMode().asState(coroutineScope) + return libraryPreferences.displayMode().asState(coroutineScope) } fun getColumnsPreferenceForCurrentOrientation(isLandscape: Boolean): PreferenceMutableState { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index da1cd4ccdd..37fde20727 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -128,7 +128,7 @@ class MangaScreenModel( val dateFormat by mutableStateOf(UiPreferences.dateFormat(uiPreferences.dateFormat().get())) private val skipFiltered by readerPreferences.skipFiltered().asState(coroutineScope) - val isUpdateIntervalEnabled = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in libraryPreferences.libraryUpdateMangaRestriction().get() + val isUpdateIntervalEnabled = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in libraryPreferences.autoUpdateMangaRestrictions().get() private val selectedPositions: Array = arrayOf(-1, -1) // first and last selected index in list private val selectedChapterIds: HashSet = HashSet() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt index 68cc4b324b..a7c18c25ae 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt @@ -87,14 +87,14 @@ class StatsScreenModel( } private fun getGlobalUpdateItemCount(libraryManga: List): Int { - val includedCategories = preferences.libraryUpdateCategories().get().map { it.toLong() } + val includedCategories = preferences.updateCategories().get().map { it.toLong() } val includedManga = if (includedCategories.isNotEmpty()) { libraryManga.filter { it.category in includedCategories } } else { libraryManga } - val excludedCategories = preferences.libraryUpdateCategoriesExclude().get().map { it.toLong() } + val excludedCategories = preferences.updateCategoriesExclude().get().map { it.toLong() } val excludedMangaIds = if (excludedCategories.isNotEmpty()) { libraryManga.fastMapNotNull { manga -> manga.id.takeIf { manga.category in excludedCategories } @@ -103,7 +103,7 @@ class StatsScreenModel( emptyList() } - val updateRestrictions = preferences.libraryUpdateMangaRestriction().get() + val updateRestrictions = preferences.autoUpdateMangaRestrictions().get() return includedManga .fastFilterNot { it.manga.id in excludedMangaIds } .fastDistinctBy { it.manga.id } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt index d05d54fe8e..6459d6525c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt @@ -64,7 +64,7 @@ class UpdatesScreenModel( private val _events: Channel = Channel(Int.MAX_VALUE) val events: Flow = _events.receiveAsFlow() - val lastUpdated by libraryPreferences.libraryUpdateLastTimestamp().asState(coroutineScope) + val lastUpdated by libraryPreferences.lastUpdatedTimestamp().asState(coroutineScope) // First and last selected index in list private val selectedPositions: Array = arrayOf(-1, -1) diff --git a/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt index f8b4ba8023..b9528950d7 100644 --- a/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt @@ -14,7 +14,7 @@ class CreateCategoryWithName( private val initialFlags: Long get() { - val sort = preferences.librarySortingMode().get() + val sort = preferences.sortingMode().get() return sort.type.flag or sort.direction.flag } diff --git a/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt index a8014186c7..4032206c3a 100644 --- a/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/ResetCategoryFlags.kt @@ -10,7 +10,7 @@ class ResetCategoryFlags( ) { suspend fun await() { - val sort = preferences.librarySortingMode().get() + val sort = preferences.sortingMode().get() categoryRepository.updateAllFlags(sort.type + sort.direction) } } diff --git a/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayMode.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayMode.kt index 9ef5ca942c..32e23148f0 100644 --- a/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayMode.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayMode.kt @@ -8,6 +8,6 @@ class SetDisplayMode( ) { fun await(display: LibraryDisplayMode) { - preferences.libraryDisplayMode().set(display) + preferences.displayMode().set(display) } } diff --git a/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt b/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt index bca8ca062a..28c999e9f7 100644 --- a/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt +++ b/domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt @@ -23,7 +23,7 @@ class SetSortModeForCategory( ), ) } else { - preferences.librarySortingMode().set(LibrarySort(type, direction)) + preferences.sortingMode().set(LibrarySort(type, direction)) categoryRepository.updateAllFlags(flags) } } diff --git a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt index b120dcaf69..e66c705d9c 100644 --- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -11,24 +11,24 @@ class LibraryPreferences( private val preferenceStore: PreferenceStore, ) { - fun libraryDisplayMode() = preferenceStore.getObject("pref_display_mode_library", LibraryDisplayMode.default, LibraryDisplayMode.Serializer::serialize, LibraryDisplayMode.Serializer::deserialize) + fun displayMode() = preferenceStore.getObject("pref_display_mode_library", LibraryDisplayMode.default, LibraryDisplayMode.Serializer::serialize, LibraryDisplayMode.Serializer::deserialize) - fun librarySortingMode() = preferenceStore.getObject("library_sorting_mode", LibrarySort.default, LibrarySort.Serializer::serialize, LibrarySort.Serializer::deserialize) + fun sortingMode() = preferenceStore.getObject("library_sorting_mode", LibrarySort.default, LibrarySort.Serializer::serialize, LibrarySort.Serializer::deserialize) fun portraitColumns() = preferenceStore.getInt("pref_library_columns_portrait_key", 0) fun landscapeColumns() = preferenceStore.getInt("pref_library_columns_landscape_key", 0) - fun libraryUpdateInterval() = preferenceStore.getInt("pref_library_update_interval_key", 0) - fun libraryUpdateLastTimestamp() = preferenceStore.getLong("library_update_last_timestamp", 0L) + fun lastUpdatedTimestamp() = preferenceStore.getLong("library_update_last_timestamp", 0L) + fun autoUpdateInterval() = preferenceStore.getInt("pref_library_update_interval_key", 0) - fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet( + fun autoUpdateDeviceRestrictions() = preferenceStore.getStringSet( "library_update_restriction", setOf( DEVICE_ONLY_ON_WIFI, ), ) - fun libraryUpdateMangaRestriction() = preferenceStore.getStringSet( + fun autoUpdateMangaRestrictions() = preferenceStore.getStringSet( "library_update_manga_restriction", setOf( MANGA_HAS_UNREAD, @@ -95,9 +95,9 @@ class LibraryPreferences( fun categorizedDisplaySettings() = preferenceStore.getBoolean("categorized_display", false) - fun libraryUpdateCategories() = preferenceStore.getStringSet("library_update_categories", emptySet()) + fun updateCategories() = preferenceStore.getStringSet("library_update_categories", emptySet()) - fun libraryUpdateCategoriesExclude() = preferenceStore.getStringSet("library_update_categories_exclude", emptySet()) + fun updateCategoriesExclude() = preferenceStore.getStringSet("library_update_categories_exclude", emptySet()) // endregion @@ -148,7 +148,6 @@ class LibraryPreferences( const val DEVICE_ONLY_ON_WIFI = "wifi" const val DEVICE_NETWORK_NOT_METERED = "network_not_metered" const val DEVICE_CHARGING = "ac" - const val DEVICE_BATTERY_NOT_LOW = "battery_not_low" const val MANGA_NON_COMPLETED = "manga_ongoing" const val MANGA_HAS_UNREAD = "manga_fully_read" diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml index 8560883add..d6d6151fb0 100644 --- a/i18n/src/main/res/values/strings.xml +++ b/i18n/src/main/res/values/strings.xml @@ -249,7 +249,6 @@ Only on Wi-Fi Only on unmetered network When charging - When battery not low Restrictions: %s Skip updating entries