Replace preference getter functions with properties (#3091)
# Conflicts: # app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt # app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt # app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt # app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt # app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt # app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt # app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt # app/src/main/java/eu/kanade/tachiyomi/App.kt # app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt # app/src/main/java/eu/kanade/tachiyomi/di/PreferenceModule.kt # app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt # app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt # app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt # app/src/main/java/mihon/feature/migration/list/MigrationListScreenModel.kt # core/common/src/main/kotlin/eu/kanade/tachiyomi/network/NetworkHelper.kt # domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
This commit is contained in:
@@ -8,52 +8,52 @@ class ExhPreferences(
|
||||
) {
|
||||
|
||||
// SY -->
|
||||
fun isHentaiEnabled() = preferenceStore.getBoolean("eh_is_hentai_enabled", true)
|
||||
val isHentaiEnabled: Preference<Boolean> = preferenceStore.getBoolean("eh_is_hentai_enabled", true)
|
||||
|
||||
fun enableExhentai() = preferenceStore.getBoolean(Preference.Companion.privateKey("enable_exhentai"), false)
|
||||
val enableExhentai: Preference<Boolean> = preferenceStore.getBoolean(Preference.Companion.privateKey("enable_exhentai"), false)
|
||||
|
||||
fun imageQuality() = preferenceStore.getString("ehentai_quality", "auto")
|
||||
val imageQuality: Preference<String> = preferenceStore.getString("ehentai_quality", "auto")
|
||||
|
||||
fun useHentaiAtHome() = preferenceStore.getInt("eh_enable_hah", 0)
|
||||
val useHentaiAtHome: Preference<Int> = preferenceStore.getInt("eh_enable_hah", 0)
|
||||
|
||||
fun useJapaneseTitle() = preferenceStore.getBoolean("use_jp_title", false)
|
||||
val useJapaneseTitle: Preference<Boolean> = preferenceStore.getBoolean("use_jp_title", false)
|
||||
|
||||
fun exhUseOriginalImages() = preferenceStore.getBoolean("eh_useOrigImages", false)
|
||||
val exhUseOriginalImages: Preference<Boolean> = preferenceStore.getBoolean("eh_useOrigImages", false)
|
||||
|
||||
fun ehTagFilterValue() = preferenceStore.getInt("eh_tag_filtering_value", 0)
|
||||
val ehTagFilterValue: Preference<Int> = preferenceStore.getInt("eh_tag_filtering_value", 0)
|
||||
|
||||
fun ehTagWatchingValue() = preferenceStore.getInt("eh_tag_watching_value", 0)
|
||||
val ehTagWatchingValue: Preference<Int> = preferenceStore.getInt("eh_tag_watching_value", 0)
|
||||
|
||||
// EH Cookies
|
||||
fun memberIdVal() = preferenceStore.getString(Preference.Companion.privateKey("eh_ipb_member_id"), "")
|
||||
val memberIdVal: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_ipb_member_id"), "")
|
||||
|
||||
fun passHashVal() = preferenceStore.getString(Preference.Companion.privateKey("eh_ipb_pass_hash"), "")
|
||||
fun igneousVal() = preferenceStore.getString(Preference.Companion.privateKey("eh_igneous"), "")
|
||||
fun ehSettingsProfile() = preferenceStore.getInt(Preference.Companion.privateKey("eh_ehSettingsProfile"), -1)
|
||||
fun exhSettingsProfile() = preferenceStore.getInt(Preference.Companion.privateKey("eh_exhSettingsProfile"), -1)
|
||||
fun exhSettingsKey() = preferenceStore.getString(Preference.Companion.privateKey("eh_settingsKey"), "")
|
||||
fun exhSessionCookie() = preferenceStore.getString(Preference.Companion.privateKey("eh_sessionCookie"), "")
|
||||
fun exhHathPerksCookies() = preferenceStore.getString(Preference.Companion.privateKey("eh_hathPerksCookie"), "")
|
||||
val passHashVal: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_ipb_pass_hash"), "")
|
||||
val igneousVal: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_igneous"), "")
|
||||
val ehSettingsProfile: Preference<Int> = preferenceStore.getInt(Preference.Companion.privateKey("eh_ehSettingsProfile"), -1)
|
||||
val exhSettingsProfile: Preference<Int> = preferenceStore.getInt(Preference.Companion.privateKey("eh_exhSettingsProfile"), -1)
|
||||
val exhSettingsKey: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_settingsKey"), "")
|
||||
val exhSessionCookie: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_sessionCookie"), "")
|
||||
val exhHathPerksCookies: Preference<String> = preferenceStore.getString(Preference.Companion.privateKey("eh_hathPerksCookie"), "")
|
||||
|
||||
fun exhShowSyncIntro() = preferenceStore.getBoolean("eh_show_sync_intro", true)
|
||||
val exhShowSyncIntro: Preference<Boolean> = preferenceStore.getBoolean("eh_show_sync_intro", true)
|
||||
|
||||
fun exhReadOnlySync() = preferenceStore.getBoolean("eh_sync_read_only", false)
|
||||
val exhReadOnlySync: Preference<Boolean> = preferenceStore.getBoolean("eh_sync_read_only", false)
|
||||
|
||||
fun exhLenientSync() = preferenceStore.getBoolean("eh_lenient_sync", false)
|
||||
val exhLenientSync: Preference<Boolean> = preferenceStore.getBoolean("eh_lenient_sync", false)
|
||||
|
||||
fun exhShowSettingsUploadWarning() = preferenceStore.getBoolean("eh_showSettingsUploadWarning2", true)
|
||||
val exhShowSettingsUploadWarning: Preference<Boolean> = preferenceStore.getBoolean("eh_showSettingsUploadWarning2", true)
|
||||
|
||||
fun logLevel() = preferenceStore.getInt("eh_log_level", 0)
|
||||
val logLevel: Preference<Int> = preferenceStore.getInt("eh_log_level", 0)
|
||||
|
||||
fun exhAutoUpdateFrequency() = preferenceStore.getInt("eh_auto_update_frequency", 1)
|
||||
val exhAutoUpdateFrequency: Preference<Int> = preferenceStore.getInt("eh_auto_update_frequency", 1)
|
||||
|
||||
fun exhAutoUpdateRequirements() = preferenceStore.getStringSet("eh_auto_update_restrictions", emptySet())
|
||||
val exhAutoUpdateRequirements: Preference<Set<String>> = preferenceStore.getStringSet("eh_auto_update_restrictions", emptySet())
|
||||
|
||||
fun exhAutoUpdateStats() = preferenceStore.getString(Preference.Companion.appStateKey("eh_auto_update_stats"), "")
|
||||
val exhAutoUpdateStats: Preference<String> = preferenceStore.getString(Preference.Companion.appStateKey("eh_auto_update_stats"), "")
|
||||
|
||||
fun exhWatchedListDefaultState() = preferenceStore.getBoolean("eh_watched_list_default_state", false)
|
||||
val exhWatchedListDefaultState: Preference<Boolean> = preferenceStore.getBoolean("eh_watched_list_default_state", false)
|
||||
|
||||
fun exhSettingsLanguages() = preferenceStore.getString(
|
||||
val exhSettingsLanguages: Preference<String> = preferenceStore.getString(
|
||||
"eh_settings_languages",
|
||||
"false*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\n" +
|
||||
"false*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\n" +
|
||||
@@ -61,10 +61,10 @@ class ExhPreferences(
|
||||
"false*false*false\nfalse*false*false",
|
||||
)
|
||||
|
||||
fun exhEnabledCategories() = preferenceStore.getString(
|
||||
val exhEnabledCategories: Preference<String> = preferenceStore.getString(
|
||||
"eh_enabled_categories",
|
||||
"false,false,false,false,false,false,false,false,false,false",
|
||||
)
|
||||
|
||||
fun enhancedEHentaiView() = preferenceStore.getBoolean("enhanced_e_hentai_view", true)
|
||||
val enhancedEHentaiView: Preference<Boolean> = preferenceStore.getBoolean("enhanced_e_hentai_view", true)
|
||||
}
|
||||
|
||||
@@ -32,13 +32,13 @@ class FilterChaptersForDownload(
|
||||
suspend fun await(manga: Manga, newChapters: List<Chapter>): List<Chapter> {
|
||||
if (
|
||||
newChapters.isEmpty() ||
|
||||
!downloadPreferences.downloadNewChapters().get() ||
|
||||
!downloadPreferences.downloadNewChapters.get() ||
|
||||
!manga.shouldDownloadNewChapters()
|
||||
) {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
if (!downloadPreferences.downloadNewUnreadChaptersOnly().get()) return newChapters
|
||||
if (!downloadPreferences.downloadNewUnreadChaptersOnly.get()) return newChapters
|
||||
|
||||
// SY -->
|
||||
val existingChapters = if (manga.source == MERGED_SOURCE_ID) {
|
||||
@@ -67,8 +67,8 @@ class FilterChaptersForDownload(
|
||||
if (!favorite) return false
|
||||
|
||||
val categories = getCategories.await(id).map { it.id }.ifEmpty { listOf(DEFAULT_CATEGORY_ID) }
|
||||
val includedCategories = downloadPreferences.downloadNewChapterCategories().get().map { it.toLong() }
|
||||
val excludedCategories = downloadPreferences.downloadNewChapterCategoriesExclude().get().map { it.toLong() }
|
||||
val includedCategories = downloadPreferences.downloadNewChapterCategories.get().map { it.toLong() }
|
||||
val excludedCategories = downloadPreferences.downloadNewChapterCategoriesExclude.get().map { it.toLong() }
|
||||
|
||||
return when {
|
||||
// Default Download from all categories
|
||||
|
||||
@@ -4,10 +4,13 @@ import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
|
||||
class BackupPreferences(
|
||||
private val preferenceStore: PreferenceStore,
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
fun backupInterval() = preferenceStore.getInt("backup_interval", 12)
|
||||
val backupInterval: Preference<Int> = preferenceStore.getInt("backup_interval", 12)
|
||||
|
||||
fun lastAutoBackupTimestamp() = preferenceStore.getLong(Preference.appStateKey("last_auto_backup_timestamp"), 0L)
|
||||
val lastAutoBackupTimestamp: Preference<Long> = preferenceStore.getLong(
|
||||
Preference.appStateKey("last_auto_backup_timestamp"),
|
||||
0L,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class CreateCategoryWithName(
|
||||
|
||||
private val initialFlags: Long
|
||||
get() {
|
||||
val sort = preferences.sortingMode().get()
|
||||
val sort = preferences.sortingMode.get()
|
||||
return sort.type.flag or sort.direction.flag
|
||||
}
|
||||
|
||||
|
||||
@@ -30,17 +30,17 @@ class DeleteCategory(
|
||||
)
|
||||
}
|
||||
|
||||
val defaultCategory = libraryPreferences.defaultCategory().get()
|
||||
val defaultCategory = libraryPreferences.defaultCategory.get()
|
||||
if (defaultCategory == categoryId.toInt()) {
|
||||
libraryPreferences.defaultCategory().delete()
|
||||
libraryPreferences.defaultCategory.delete()
|
||||
}
|
||||
|
||||
val categoryPreferences = listOf(
|
||||
libraryPreferences.updateCategories(),
|
||||
libraryPreferences.updateCategoriesExclude(),
|
||||
downloadPreferences.removeExcludeCategories(),
|
||||
downloadPreferences.downloadNewChapterCategories(),
|
||||
downloadPreferences.downloadNewChapterCategoriesExclude(),
|
||||
libraryPreferences.updateCategories,
|
||||
libraryPreferences.updateCategoriesExclude,
|
||||
downloadPreferences.removeExcludeCategories,
|
||||
downloadPreferences.downloadNewChapterCategories,
|
||||
downloadPreferences.downloadNewChapterCategoriesExclude,
|
||||
)
|
||||
val categoryIdString = categoryId.toString()
|
||||
categoryPreferences.forEach { preference ->
|
||||
|
||||
@@ -10,7 +10,7 @@ class ResetCategoryFlags(
|
||||
) {
|
||||
|
||||
suspend fun await() {
|
||||
val sort = preferences.sortingMode().get()
|
||||
val sort = preferences.sortingMode.get()
|
||||
categoryRepository.updateAllFlags(sort.type + sort.direction)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ class SetDisplayMode(
|
||||
) {
|
||||
|
||||
fun await(display: LibraryDisplayMode) {
|
||||
preferences.displayMode().set(display)
|
||||
preferences.displayMode.set(display)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,17 +16,17 @@ class SetSortModeForCategory(
|
||||
|
||||
suspend fun await(categoryId: Long?, type: LibrarySort.Type, direction: LibrarySort.Direction) {
|
||||
// SY -->
|
||||
if (preferences.groupLibraryBy().get() != LibraryGroup.BY_DEFAULT) {
|
||||
preferences.sortingMode().set(LibrarySort(type, direction))
|
||||
if (preferences.groupLibraryBy.get() != LibraryGroup.BY_DEFAULT) {
|
||||
preferences.sortingMode.set(LibrarySort(type, direction))
|
||||
return
|
||||
}
|
||||
// SY <--
|
||||
val category = categoryId?.let { categoryRepository.get(it) }
|
||||
val flags = (category?.flags ?: 0) + type + direction
|
||||
if (type == LibrarySort.Type.Random) {
|
||||
preferences.randomSortSeed().set(Random.nextInt())
|
||||
preferences.randomSortSeed.set(Random.nextInt())
|
||||
}
|
||||
if (category != null && preferences.categorizedDisplaySettings().get()) {
|
||||
if (category != null && preferences.categorizedDisplaySettings.get()) {
|
||||
categoryRepository.updatePartial(
|
||||
CategoryUpdate(
|
||||
id = category.id,
|
||||
@@ -34,7 +34,7 @@ class SetSortModeForCategory(
|
||||
),
|
||||
)
|
||||
} else {
|
||||
preferences.sortingMode().set(LibrarySort(type, direction))
|
||||
preferences.sortingMode.set(LibrarySort(type, direction))
|
||||
categoryRepository.updateAllFlags(flags)
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -17,12 +17,12 @@ class SetMangaDefaultChapterFlags(
|
||||
with(libraryPreferences) {
|
||||
setMangaChapterFlags.awaitSetAllFlags(
|
||||
mangaId = manga.id,
|
||||
unreadFilter = filterChapterByRead().get(),
|
||||
downloadedFilter = filterChapterByDownloaded().get(),
|
||||
bookmarkedFilter = filterChapterByBookmarked().get(),
|
||||
sortingMode = sortChapterBySourceOrNumber().get(),
|
||||
sortingDirection = sortChapterByAscendingOrDescending().get(),
|
||||
displayMode = displayChapterByNameOrNumber().get(),
|
||||
unreadFilter = filterChapterByRead.get(),
|
||||
downloadedFilter = filterChapterByDownloaded.get(),
|
||||
bookmarkedFilter = filterChapterByBookmarked.get(),
|
||||
sortingMode = sortChapterBySourceOrNumber.get(),
|
||||
sortingDirection = sortChapterByAscendingOrDescending.get(),
|
||||
displayMode = displayChapterByNameOrNumber.get(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,61 @@
|
||||
package tachiyomi.domain.download.service
|
||||
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
|
||||
class DownloadPreferences(
|
||||
private val preferenceStore: PreferenceStore,
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
fun downloadOnlyOverWifi() = preferenceStore.getBoolean(
|
||||
val downloadOnlyOverWifi: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"pref_download_only_over_wifi_key",
|
||||
true,
|
||||
)
|
||||
|
||||
fun saveChaptersAsCBZ() = preferenceStore.getBoolean("save_chapter_as_cbz", true)
|
||||
val saveChaptersAsCBZ: Preference<Boolean> = preferenceStore.getBoolean("save_chapter_as_cbz", true)
|
||||
|
||||
fun splitTallImages() = preferenceStore.getBoolean("split_tall_images", true)
|
||||
val splitTallImages: Preference<Boolean> = preferenceStore.getBoolean("split_tall_images", true)
|
||||
|
||||
fun autoDownloadWhileReading() = preferenceStore.getInt("auto_download_while_reading", 0)
|
||||
val autoDownloadWhileReading: Preference<Int> = preferenceStore.getInt("auto_download_while_reading", 0)
|
||||
|
||||
fun removeAfterReadSlots() = preferenceStore.getInt("remove_after_read_slots", -1)
|
||||
val removeAfterReadSlots: Preference<Int> = preferenceStore.getInt("remove_after_read_slots", -1)
|
||||
|
||||
fun removeAfterMarkedAsRead() = preferenceStore.getBoolean(
|
||||
val removeAfterMarkedAsRead: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"pref_remove_after_marked_as_read_key",
|
||||
false,
|
||||
)
|
||||
|
||||
fun removeBookmarkedChapters() = preferenceStore.getBoolean("pref_remove_bookmarked", false)
|
||||
val removeBookmarkedChapters: Preference<Boolean> = preferenceStore.getBoolean("pref_remove_bookmarked", false)
|
||||
|
||||
fun removeExcludeCategories() = preferenceStore.getStringSet(REMOVE_EXCLUDE_CATEGORIES_PREF_KEY, emptySet())
|
||||
val removeExcludeCategories: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
REMOVE_EXCLUDE_CATEGORIES_PREF_KEY,
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
fun downloadNewChapters() = preferenceStore.getBoolean("download_new", false)
|
||||
val downloadNewChapters: Preference<Boolean> = preferenceStore.getBoolean("download_new", false)
|
||||
|
||||
fun downloadNewChapterCategories() = preferenceStore.getStringSet(DOWNLOAD_NEW_CATEGORIES_PREF_KEY, emptySet())
|
||||
val downloadNewChapterCategories: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
DOWNLOAD_NEW_CATEGORIES_PREF_KEY,
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
fun downloadNewChapterCategoriesExclude() =
|
||||
preferenceStore.getStringSet(DOWNLOAD_NEW_CATEGORIES_EXCLUDE_PREF_KEY, emptySet())
|
||||
val downloadNewChapterCategoriesExclude: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
DOWNLOAD_NEW_CATEGORIES_EXCLUDE_PREF_KEY,
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
fun downloadNewUnreadChaptersOnly() = preferenceStore.getBoolean("download_new_unread_chapters_only", false)
|
||||
val downloadNewUnreadChaptersOnly: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"download_new_unread_chapters_only",
|
||||
false,
|
||||
)
|
||||
|
||||
fun parallelSourceLimit() = preferenceStore.getInt("download_parallel_source_limit", 5)
|
||||
val parallelSourceLimit: Preference<Int> = preferenceStore.getInt("download_parallel_source_limit", 5)
|
||||
|
||||
fun parallelPageLimit() = preferenceStore.getInt("download_parallel_page_limit", 5)
|
||||
val parallelPageLimit: Preference<Int> = preferenceStore.getInt("download_parallel_page_limit", 5)
|
||||
|
||||
fun includeChapterUrlHash() = preferenceStore.getBoolean("download_include_chapter_url_hash", true)
|
||||
// SY -->
|
||||
val includeChapterUrlHash: Preference<Boolean> = preferenceStore.getBoolean("download_include_chapter_url_hash", true)
|
||||
// SY <--
|
||||
|
||||
companion object {
|
||||
private const val REMOVE_EXCLUDE_CATEGORIES_PREF_KEY = "remove_exclude_categories"
|
||||
|
||||
@@ -14,36 +14,39 @@ class LibraryPreferences(
|
||||
private val preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
fun displayMode() = preferenceStore.getObjectFromString(
|
||||
val displayMode: Preference<LibraryDisplayMode> = preferenceStore.getObjectFromString(
|
||||
"pref_display_mode_library",
|
||||
LibraryDisplayMode.default,
|
||||
LibraryDisplayMode.Serializer::serialize,
|
||||
LibraryDisplayMode.Serializer::deserialize,
|
||||
)
|
||||
|
||||
fun sortingMode() = preferenceStore.getObjectFromString(
|
||||
val sortingMode: Preference<LibrarySort> = preferenceStore.getObjectFromString(
|
||||
"library_sorting_mode",
|
||||
LibrarySort.default,
|
||||
LibrarySort.Serializer::serialize,
|
||||
LibrarySort.Serializer::deserialize,
|
||||
)
|
||||
|
||||
fun randomSortSeed() = preferenceStore.getInt("library_random_sort_seed", 0)
|
||||
val randomSortSeed: Preference<Int> = preferenceStore.getInt("library_random_sort_seed", 0)
|
||||
|
||||
fun portraitColumns() = preferenceStore.getInt("pref_library_columns_portrait_key", 0)
|
||||
val portraitColumns: Preference<Int> = preferenceStore.getInt("pref_library_columns_portrait_key", 0)
|
||||
|
||||
fun landscapeColumns() = preferenceStore.getInt("pref_library_columns_landscape_key", 0)
|
||||
val landscapeColumns: Preference<Int> = preferenceStore.getInt("pref_library_columns_landscape_key", 0)
|
||||
|
||||
fun lastUpdatedTimestamp() = preferenceStore.getLong(Preference.appStateKey("library_update_last_timestamp"), 0L)
|
||||
fun autoUpdateInterval() = preferenceStore.getInt("pref_library_update_interval_key", 0)
|
||||
val lastUpdatedTimestamp: Preference<Long> = preferenceStore.getLong(
|
||||
Preference.appStateKey("library_update_last_timestamp"),
|
||||
0L,
|
||||
)
|
||||
val autoUpdateInterval: Preference<Int> = preferenceStore.getInt("pref_library_update_interval_key", 0)
|
||||
|
||||
fun autoUpdateDeviceRestrictions() = preferenceStore.getStringSet(
|
||||
val autoUpdateDeviceRestrictions: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
"library_update_restriction",
|
||||
setOf(
|
||||
DEVICE_ONLY_ON_WIFI,
|
||||
),
|
||||
)
|
||||
fun autoUpdateMangaRestrictions() = preferenceStore.getStringSet(
|
||||
val autoUpdateMangaRestrictions: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
"library_update_manga_restriction",
|
||||
setOf(
|
||||
MANGA_HAS_UNREAD,
|
||||
@@ -53,52 +56,55 @@ class LibraryPreferences(
|
||||
),
|
||||
)
|
||||
|
||||
fun autoUpdateMetadata() = preferenceStore.getBoolean("auto_update_metadata", false)
|
||||
val autoUpdateMetadata: Preference<Boolean> = preferenceStore.getBoolean("auto_update_metadata", false)
|
||||
|
||||
fun showContinueReadingButton() = preferenceStore.getBoolean(
|
||||
val showContinueReadingButton: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"display_continue_reading_button",
|
||||
false,
|
||||
)
|
||||
|
||||
fun markDuplicateReadChapterAsRead() = preferenceStore.getStringSet("mark_duplicate_read_chapter_read", emptySet())
|
||||
val markDuplicateReadChapterAsRead: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
"mark_duplicate_read_chapter_read",
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
// region Filter
|
||||
|
||||
fun filterDownloaded() = preferenceStore.getEnum(
|
||||
val filterDownloaded: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_downloaded_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterUnread() = preferenceStore.getEnum("pref_filter_library_unread_v2", TriState.DISABLED)
|
||||
val filterUnread: Preference<TriState> = preferenceStore.getEnum("pref_filter_library_unread_v2", TriState.DISABLED)
|
||||
|
||||
fun filterStarted() = preferenceStore.getEnum(
|
||||
val filterStarted: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_started_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterBookmarked() = preferenceStore.getEnum(
|
||||
val filterBookmarked: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_bookmarked_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterCompleted() = preferenceStore.getEnum(
|
||||
val filterCompleted: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_completed_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterIntervalCustom() = preferenceStore.getEnum(
|
||||
val filterIntervalCustom: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_interval_custom",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
// SY -->
|
||||
fun filterLewd() = preferenceStore.getEnum(
|
||||
val filterLewd: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_lewd_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
// SY <--
|
||||
|
||||
fun filterTracking(id: Int) = preferenceStore.getEnum(
|
||||
fun filterTracking(id: Int): Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_library_tracked_${id}_v2",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
@@ -107,100 +113,112 @@ class LibraryPreferences(
|
||||
|
||||
// region Badges
|
||||
|
||||
fun downloadBadge() = preferenceStore.getBoolean("display_download_badge", false)
|
||||
val downloadBadge: Preference<Boolean> = preferenceStore.getBoolean("display_download_badge", false)
|
||||
|
||||
fun unreadBadge() = preferenceStore.getBoolean("display_unread_badge", true)
|
||||
val unreadBadge: Preference<Boolean> = preferenceStore.getBoolean("display_unread_badge", true)
|
||||
|
||||
fun localBadge() = preferenceStore.getBoolean("display_local_badge", true)
|
||||
val localBadge: Preference<Boolean> = preferenceStore.getBoolean("display_local_badge", true)
|
||||
|
||||
fun languageBadge() = preferenceStore.getBoolean("display_language_badge", false)
|
||||
val languageBadge: Preference<Boolean> = preferenceStore.getBoolean("display_language_badge", false)
|
||||
|
||||
fun newShowUpdatesCount() = preferenceStore.getBoolean("library_show_updates_count", true)
|
||||
fun newUpdatesCount() = preferenceStore.getInt(Preference.appStateKey("library_unseen_updates_count"), 0)
|
||||
val newShowUpdatesCount: Preference<Boolean> = preferenceStore.getBoolean("library_show_updates_count", true)
|
||||
val newUpdatesCount: Preference<Int> = preferenceStore.getInt(
|
||||
Preference.appStateKey("library_unseen_updates_count"),
|
||||
0,
|
||||
)
|
||||
|
||||
// endregion
|
||||
|
||||
// region Category
|
||||
|
||||
fun defaultCategory() = preferenceStore.getInt(DEFAULT_CATEGORY_PREF_KEY, -1)
|
||||
val defaultCategory: Preference<Int> = preferenceStore.getInt(DEFAULT_CATEGORY_PREF_KEY, -1)
|
||||
|
||||
fun lastUsedCategory() = preferenceStore.getInt(Preference.appStateKey("last_used_category"), 0)
|
||||
val lastUsedCategory: Preference<Int> = preferenceStore.getInt(Preference.appStateKey("last_used_category"), 0)
|
||||
|
||||
fun categoryTabs() = preferenceStore.getBoolean("display_category_tabs", true)
|
||||
val categoryTabs: Preference<Boolean> = preferenceStore.getBoolean("display_category_tabs", true)
|
||||
|
||||
fun categoryNumberOfItems() = preferenceStore.getBoolean("display_number_of_items", false)
|
||||
val categoryNumberOfItems: Preference<Boolean> = preferenceStore.getBoolean("display_number_of_items", false)
|
||||
|
||||
fun categorizedDisplaySettings() = preferenceStore.getBoolean("categorized_display", false)
|
||||
val categorizedDisplaySettings: Preference<Boolean> = preferenceStore.getBoolean("categorized_display", false)
|
||||
|
||||
fun updateCategories() = preferenceStore.getStringSet(LIBRARY_UPDATE_CATEGORIES_PREF_KEY, emptySet())
|
||||
val updateCategories: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
LIBRARY_UPDATE_CATEGORIES_PREF_KEY,
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
fun updateCategoriesExclude() = preferenceStore.getStringSet(LIBRARY_UPDATE_CATEGORIES_EXCLUDE_PREF_KEY, emptySet())
|
||||
val updateCategoriesExclude: Preference<Set<String>> = preferenceStore.getStringSet(
|
||||
LIBRARY_UPDATE_CATEGORIES_EXCLUDE_PREF_KEY,
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
// endregion
|
||||
|
||||
// region Chapter
|
||||
|
||||
fun filterChapterByRead() = preferenceStore.getLong(
|
||||
val filterChapterByRead: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_filter_by_read",
|
||||
Manga.SHOW_ALL,
|
||||
)
|
||||
|
||||
fun filterChapterByDownloaded() = preferenceStore.getLong(
|
||||
val filterChapterByDownloaded: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_filter_by_downloaded",
|
||||
Manga.SHOW_ALL,
|
||||
)
|
||||
|
||||
fun filterChapterByBookmarked() = preferenceStore.getLong(
|
||||
val filterChapterByBookmarked: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_filter_by_bookmarked",
|
||||
Manga.SHOW_ALL,
|
||||
)
|
||||
|
||||
// and upload date
|
||||
fun sortChapterBySourceOrNumber() = preferenceStore.getLong(
|
||||
val sortChapterBySourceOrNumber: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_sort_by_source_or_number",
|
||||
Manga.CHAPTER_SORTING_SOURCE,
|
||||
)
|
||||
|
||||
fun displayChapterByNameOrNumber() = preferenceStore.getLong(
|
||||
val displayChapterByNameOrNumber: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_display_by_name_or_number",
|
||||
Manga.CHAPTER_DISPLAY_NAME,
|
||||
)
|
||||
|
||||
fun sortChapterByAscendingOrDescending() = preferenceStore.getLong(
|
||||
val sortChapterByAscendingOrDescending: Preference<Long> = preferenceStore.getLong(
|
||||
"default_chapter_sort_by_ascending_or_descending",
|
||||
Manga.CHAPTER_SORT_DESC,
|
||||
)
|
||||
|
||||
fun setChapterSettingsDefault(manga: Manga) {
|
||||
filterChapterByRead().set(manga.unreadFilterRaw)
|
||||
filterChapterByDownloaded().set(manga.downloadedFilterRaw)
|
||||
filterChapterByBookmarked().set(manga.bookmarkedFilterRaw)
|
||||
sortChapterBySourceOrNumber().set(manga.sorting)
|
||||
displayChapterByNameOrNumber().set(manga.displayMode)
|
||||
sortChapterByAscendingOrDescending().set(
|
||||
filterChapterByRead.set(manga.unreadFilterRaw)
|
||||
filterChapterByDownloaded.set(manga.downloadedFilterRaw)
|
||||
filterChapterByBookmarked.set(manga.bookmarkedFilterRaw)
|
||||
sortChapterBySourceOrNumber.set(manga.sorting)
|
||||
displayChapterByNameOrNumber.set(manga.displayMode)
|
||||
sortChapterByAscendingOrDescending.set(
|
||||
if (manga.sortDescending()) Manga.CHAPTER_SORT_DESC else Manga.CHAPTER_SORT_ASC,
|
||||
)
|
||||
}
|
||||
|
||||
fun autoClearChapterCache() = preferenceStore.getBoolean("auto_clear_chapter_cache", false)
|
||||
val autoClearChapterCache: Preference<Boolean> = preferenceStore.getBoolean("auto_clear_chapter_cache", false)
|
||||
|
||||
// endregion
|
||||
|
||||
// region Swipe Actions
|
||||
|
||||
fun swipeToStartAction() = preferenceStore.getEnum(
|
||||
val swipeToStartAction: Preference<ChapterSwipeAction> = preferenceStore.getEnum(
|
||||
"pref_chapter_swipe_end_action",
|
||||
ChapterSwipeAction.ToggleBookmark,
|
||||
)
|
||||
|
||||
fun swipeToEndAction() = preferenceStore.getEnum(
|
||||
val swipeToEndAction: Preference<ChapterSwipeAction> = preferenceStore.getEnum(
|
||||
"pref_chapter_swipe_start_action",
|
||||
ChapterSwipeAction.ToggleRead,
|
||||
)
|
||||
|
||||
fun updateMangaTitles() = preferenceStore.getBoolean("pref_update_library_manga_titles", false)
|
||||
val updateMangaTitles: Preference<Boolean> = preferenceStore.getBoolean("pref_update_library_manga_titles", false)
|
||||
|
||||
fun disallowNonAsciiFilenames() = preferenceStore.getBoolean("disallow_non_ascii_filenames", false)
|
||||
val disallowNonAsciiFilenames: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"disallow_non_ascii_filenames",
|
||||
false,
|
||||
)
|
||||
|
||||
// endregion
|
||||
|
||||
@@ -213,11 +231,11 @@ class LibraryPreferences(
|
||||
|
||||
// SY -->
|
||||
|
||||
fun sortTagsForLibrary() = preferenceStore.getStringSet("sort_tags_for_library", mutableSetOf())
|
||||
val sortTagsForLibrary: Preference<Set<String>> = preferenceStore.getStringSet("sort_tags_for_library", mutableSetOf())
|
||||
|
||||
fun groupLibraryUpdateType() = preferenceStore.getEnum("group_library_update_type", GroupLibraryMode.GLOBAL)
|
||||
val groupLibraryUpdateType: Preference<GroupLibraryMode> = preferenceStore.getEnum("group_library_update_type", GroupLibraryMode.GLOBAL)
|
||||
|
||||
fun groupLibraryBy() = preferenceStore.getInt("group_library_by", LibraryGroup.BY_DEFAULT)
|
||||
val groupLibraryBy: Preference<Int> = preferenceStore.getInt("group_library_by", LibraryGroup.BY_DEFAULT)
|
||||
|
||||
// SY <--
|
||||
|
||||
|
||||
@@ -22,14 +22,14 @@ class StorageManager(
|
||||
|
||||
private val scope = CoroutineScope(Dispatchers.IO)
|
||||
|
||||
private var baseDir: UniFile? = getBaseDir(storagePreferences.baseStorageDirectory().get())
|
||||
private var baseDir: UniFile? = getBaseDir(storagePreferences.baseStorageDirectory.get())
|
||||
|
||||
private val _changes: Channel<Unit> = Channel(Channel.UNLIMITED)
|
||||
val changes = _changes.receiveAsFlow()
|
||||
.shareIn(scope, SharingStarted.Lazily, 1)
|
||||
|
||||
init {
|
||||
storagePreferences.baseStorageDirectory().changes()
|
||||
storagePreferences.baseStorageDirectory.changes()
|
||||
.drop(1)
|
||||
.distinctUntilChanged()
|
||||
.onEach { uri ->
|
||||
|
||||
@@ -5,9 +5,12 @@ import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.storage.FolderProvider
|
||||
|
||||
class StoragePreferences(
|
||||
private val folderProvider: FolderProvider,
|
||||
private val preferenceStore: PreferenceStore,
|
||||
folderProvider: FolderProvider,
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
fun baseStorageDirectory() = preferenceStore.getString(Preference.appStateKey("storage_dir"), folderProvider.path())
|
||||
val baseStorageDirectory: Preference<String> = preferenceStore.getString(
|
||||
Preference.appStateKey("storage_dir"),
|
||||
folderProvider.path(),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,34 +1,35 @@
|
||||
package tachiyomi.domain.updates.service
|
||||
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.preference.TriState
|
||||
import tachiyomi.core.common.preference.getEnum
|
||||
|
||||
class UpdatesPreferences(
|
||||
private val preferenceStore: PreferenceStore,
|
||||
preferenceStore: PreferenceStore,
|
||||
) {
|
||||
|
||||
fun filterDownloaded() = preferenceStore.getEnum(
|
||||
val filterDownloaded: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_updates_downloaded",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterUnread() = preferenceStore.getEnum(
|
||||
val filterUnread: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_updates_unread",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterStarted() = preferenceStore.getEnum(
|
||||
val filterStarted: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_updates_started",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterBookmarked() = preferenceStore.getEnum(
|
||||
val filterBookmarked: Preference<TriState> = preferenceStore.getEnum(
|
||||
"pref_filter_updates_bookmarked",
|
||||
TriState.DISABLED,
|
||||
)
|
||||
|
||||
fun filterExcludedScanlators() = preferenceStore.getBoolean(
|
||||
val filterExcludedScanlators: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"pref_filter_updates_hide_excluded_scanlators",
|
||||
false,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user