diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/RemoteMangaRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/RemoteMangaRepository.kt index 428527e9f..bdb01526e 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/RemoteMangaRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/RemoteMangaRepository.kt @@ -20,5 +20,5 @@ abstract class RemoteMangaRepository(protected val loaderContext: MangaLoaderCon override suspend fun getTags(): Set = emptySet() - abstract fun onCreatePreferences(): Set + abstract fun onCreatePreferences(): Set } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt index f58b114cd..c77fbe102 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/ChanRepository.kt @@ -1,10 +1,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* @@ -133,7 +133,7 @@ abstract class ChanRepository(loaderContext: MangaLoaderContext) : RemoteMangaRe } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) private fun getSortKey(sortOrder: SortOrder?) = when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/DesuMeRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/DesuMeRepository.kt index b119b4203..9dae7fc60 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/DesuMeRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/DesuMeRepository.kt @@ -1,10 +1,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* @@ -120,7 +120,7 @@ class DesuMeRepository(loaderContext: MangaLoaderContext) : RemoteMangaRepositor } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) private fun getSortKey(sortOrder: SortOrder?) = when (sortOrder) { diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt index d7a9af359..0da7e8ee8 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/GroupleRepository.kt @@ -1,10 +1,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* @@ -167,7 +167,7 @@ abstract class GroupleRepository(loaderContext: MangaLoaderContext) : } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) private fun getSortKey(sortOrder: SortOrder?) = when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt index c1de6994d..e612d8813 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt @@ -8,6 +8,7 @@ import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* @@ -70,7 +71,7 @@ open class MangaLibRepository(loaderContext: MangaLoaderContext) : } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) override suspend fun getDetails(manga: Manga): Manga { val doc = loaderContext.httpGet(manga.url + "?section=info").parseHtml() diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaTownRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaTownRepository.kt index ab69986c0..31696b5a7 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaTownRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaTownRepository.kt @@ -2,10 +2,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf import org.intellij.lang.annotations.Language -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* import java.util.* @@ -168,8 +168,10 @@ class MangaTownRepository(loaderContext: MangaLoaderContext) : } - override fun onCreatePreferences() = - arraySetOf(R.string.key_parser_domain, R.string.key_parser_ssl) + override fun onCreatePreferences() = arraySetOf( + SourceSettings.KEY_DOMAIN, + SourceSettings.KEY_USE_SSL + ) private fun String.parseTagKey() = split('/').findLast { TAG_REGEX matches it } diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangareadRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangareadRepository.kt index 447910803..244f986d0 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangareadRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangareadRepository.kt @@ -1,10 +1,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* @@ -147,7 +147,7 @@ class MangareadRepository( } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) private companion object { diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/NudeMoonRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/NudeMoonRepository.kt index a83d3f1ab..a630f339c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/NudeMoonRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/NudeMoonRepository.kt @@ -1,10 +1,10 @@ package org.koitharu.kotatsu.core.parser.site import androidx.collection.arraySetOf -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.exceptions.ParseException import org.koitharu.kotatsu.core.model.* import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.ext.* import java.util.regex.Pattern @@ -134,7 +134,7 @@ class NudeMoonRepository(loaderContext: MangaLoaderContext) : RemoteMangaReposit } } - override fun onCreatePreferences() = arraySetOf(R.string.key_parser_domain) + override fun onCreatePreferences() = arraySetOf(SourceSettings.KEY_DOMAIN) private fun getSortKey(sortOrder: SortOrder?) = when (sortOrder ?: sortOrders.minByOrNull { it.ordinal }) { diff --git a/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt b/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt index b7c6d3d35..8cd4aeb46 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/prefs/AppSettings.kt @@ -2,109 +2,78 @@ package org.koitharu.kotatsu.core.prefs import android.content.Context import android.content.SharedPreferences -import android.content.res.Resources import android.provider.Settings import androidx.appcompat.app.AppCompatDelegate import androidx.collection.arraySetOf import androidx.core.content.edit import androidx.preference.PreferenceManager -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.parser.LocalMangaRepository import org.koitharu.kotatsu.utils.delegates.prefs.* import java.io.File -class AppSettings private constructor(resources: Resources, private val prefs: SharedPreferences) : +class AppSettings private constructor(private val prefs: SharedPreferences) : SharedPreferences by prefs { constructor(context: Context) : this( - context.resources, PreferenceManager.getDefaultSharedPreferences(context) ) var listMode by EnumPreferenceDelegate( ListMode::class.java, - resources.getString(R.string.key_list_mode), + KEY_LIST_MODE, ListMode.DETAILED_LIST ) var defaultSection by EnumPreferenceDelegate( AppSection::class.java, - resources.getString(R.string.key_app_section), + KEY_APP_SECTION, AppSection.HISTORY ) val theme by StringIntPreferenceDelegate( - resources.getString(R.string.key_theme), + KEY_THEME, AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM ) - val gridSize by IntPreferenceDelegate( - resources.getString(R.string.key_grid_size), - 100 - ) + val gridSize by IntPreferenceDelegate(KEY_GRID_SIZE, defaultValue = 100) val readerPageSwitch by StringSetPreferenceDelegate( - resources.getString(R.string.key_reader_switchers), + KEY_READER_SWITCHERS, arraySetOf(PAGE_SWITCH_TAPS) ) - var isTrafficWarningEnabled by BoolPreferenceDelegate( - resources.getString(R.string.key_traffic_warning), - true - ) + var isTrafficWarningEnabled by BoolPreferenceDelegate(KEY_TRAFFIC_WARNING, defaultValue = true) - val appUpdateAuto by BoolPreferenceDelegate( - resources.getString(R.string.key_app_update_auto), - true - ) + val appUpdateAuto by BoolPreferenceDelegate(KEY_APP_UPDATE_AUTO, defaultValue = true) - var appUpdate by LongPreferenceDelegate( - resources.getString(R.string.key_app_update), - 0L - ) + var appUpdate by LongPreferenceDelegate(KEY_APP_UPDATE, defaultValue = 0L) val trackerNotifications by BoolPreferenceDelegate( - resources.getString(R.string.key_tracker_notifications), - true + KEY_TRACKER_NOTIFICATIONS, + defaultValue = true ) var notificationSound by StringPreferenceDelegate( - resources.getString(R.string.key_notifications_sound), + KEY_NOTIFICATIONS_SOUND, Settings.System.DEFAULT_NOTIFICATION_URI.toString() ) - val notificationVibrate by BoolPreferenceDelegate( - resources.getString(R.string.key_notifications_vibrate), - false - ) + val notificationVibrate by BoolPreferenceDelegate(KEY_NOTIFICATIONS_VIBRATE, false) - val notificationLight by BoolPreferenceDelegate( - resources.getString(R.string.key_notifications_light), - true - ) + val notificationLight by BoolPreferenceDelegate(KEY_NOTIFICATIONS_LIGHT, true) - val readerAnimation by BoolPreferenceDelegate( - resources.getString(R.string.key_reader_animation), - false - ) + val readerAnimation by BoolPreferenceDelegate(KEY_READER_ANIMATION, false) - val isPreferRtlReader by BoolPreferenceDelegate( - resources.getString(R.string.key_reader_prefer_rtl), - false - ) + val isPreferRtlReader by BoolPreferenceDelegate(KEY_READER_PREFER_RTL, false) val trackSources by StringSetPreferenceDelegate( - resources.getString(R.string.key_track_sources), + KEY_TRACK_SOURCES, arraySetOf(TRACK_FAVOURITES, TRACK_HISTORY) ) - var appPassword by NullableStringPreferenceDelegate( - resources.getString(R.string.key_app_password) - ) + var appPassword by NullableStringPreferenceDelegate(KEY_APP_PASSWORD) - private var sourcesOrderStr by NullableStringPreferenceDelegate( - resources.getString(R.string.key_sources_order) - ) + private var sourcesOrderStr by NullableStringPreferenceDelegate(KEY_SOURCES_ORDER) var sourcesOrder: List get() = sourcesOrderStr?.split('|')?.mapNotNull(String::toIntOrNull).orEmpty() @@ -112,22 +81,21 @@ class AppSettings private constructor(resources: Resources, private val prefs: S sourcesOrderStr = value.joinToString("|") } - var hiddenSources by StringSetPreferenceDelegate(resources.getString(R.string.key_sources_hidden)) + var hiddenSources by StringSetPreferenceDelegate(KEY_SOURCES_HIDDEN) fun getStorageDir(context: Context): File? { - val value = prefs.getString(context.getString(R.string.key_local_storage), null)?.let { + val value = prefs.getString(KEY_LOCAL_STORAGE, null)?.let { File(it) }?.takeIf { it.exists() && it.canWrite() } return value ?: LocalMangaRepository.getFallbackStorageDir(context) } fun setStorageDir(context: Context, file: File?) { - val key = context.getString(R.string.key_local_storage) prefs.edit { if (file == null) { - remove(key) + remove(KEY_LOCAL_STORAGE) } else { - putString(key, file.path) + putString(KEY_LOCAL_STORAGE, file.path) } } } @@ -147,5 +115,33 @@ class AppSettings private constructor(resources: Resources, private val prefs: S const val TRACK_HISTORY = "history" const val TRACK_FAVOURITES = "favourites" + + const val KEY_LIST_MODE = "list_mode" + const val KEY_APP_SECTION = "app_section" + const val KEY_THEME = "theme" + const val KEY_SOURCES_ORDER = "sources_order" + const val KEY_SOURCES_HIDDEN = "sources_hidden" + const val KEY_TRAFFIC_WARNING = "traffic_warning" + const val KEY_PAGES_CACHE_CLEAR = "pages_cache_clear" + const val KEY_THUMBS_CACHE_CLEAR = "thumbs_cache_clear" + const val KEY_SEARCH_HISTORY_CLEAR = "search_history_clear" + const val KEY_UPDATES_FEED_CLEAR = "updates_feed_clear" + const val KEY_GRID_SIZE = "grid_size" + const val KEY_REMOTE_SOURCES = "remote_sources" + const val KEY_LOCAL_STORAGE = "local_storage" + const val KEY_READER_SWITCHERS = "reader_switchers" + const val KEY_TRACK_SOURCES = "track_sources" + const val KEY_APP_UPDATE = "app_update" + const val KEY_APP_UPDATE_AUTO = "app_update_auto" + const val KEY_TRACKER_NOTIFICATIONS = "tracker_notifications" + const val KEY_NOTIFICATIONS_SETTINGS = "notifications_settings" + const val KEY_NOTIFICATIONS_SOUND = "notifications_sound" + const val KEY_NOTIFICATIONS_VIBRATE = "notifications_vibrate" + const val KEY_NOTIFICATIONS_LIGHT = "notifications_light" + const val KEY_READER_ANIMATION = "reader_animation" + const val KEY_READER_PREFER_RTL = "reader_prefer_rtl" + const val KEY_APP_PASSWORD = "app_password" + const val KEY_PROTECT_APP = "protect_app" + const val KEY_APP_VERSION = "app_version" } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceConfig.kt b/app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceSettings.kt similarity index 60% rename from app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceConfig.kt rename to app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceSettings.kt index 30194765c..4cc17b280 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceConfig.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/prefs/SourceSettings.kt @@ -1,33 +1,32 @@ package org.koitharu.kotatsu.core.prefs import android.content.Context -import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.MangaSource -interface SourceConfig { +interface SourceSettings { fun getDomain(defaultValue: String): String fun isUseSsl(defaultValue: Boolean): Boolean - private class PrefSourceConfig(context: Context, source: MangaSource) : SourceConfig { + private class PrefSourceSettings(context: Context, source: MangaSource) : SourceSettings { private val prefs = context.getSharedPreferences(source.name, Context.MODE_PRIVATE) - private val keyDomain = context.getString(R.string.key_parser_domain) - private val keySsl = context.getString(R.string.key_parser_ssl) - - override fun getDomain(defaultValue: String) = prefs.getString(keyDomain, defaultValue) + override fun getDomain(defaultValue: String) = prefs.getString(KEY_DOMAIN, defaultValue) ?.takeUnless(String::isBlank) ?: defaultValue - override fun isUseSsl(defaultValue: Boolean) = prefs.getBoolean(keySsl, defaultValue) + override fun isUseSsl(defaultValue: Boolean) = prefs.getBoolean(KEY_USE_SSL, defaultValue) } companion object { @JvmStatic - operator fun invoke(context: Context, source: MangaSource): SourceConfig = - PrefSourceConfig(context, source) + operator fun invoke(context: Context, source: MangaSource): SourceSettings = + PrefSourceSettings(context, source) + + const val KEY_DOMAIN = "domain" + const val KEY_USE_SSL = "ssl" } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/domain/MangaLoaderContext.kt b/app/src/main/java/org/koitharu/kotatsu/domain/MangaLoaderContext.kt index c41de75b2..556f952cd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/domain/MangaLoaderContext.kt +++ b/app/src/main/java/org/koitharu/kotatsu/domain/MangaLoaderContext.kt @@ -5,7 +5,7 @@ import org.koin.core.component.KoinComponent import org.koin.core.component.get import org.koin.core.component.inject import org.koitharu.kotatsu.core.model.MangaSource -import org.koitharu.kotatsu.core.prefs.SourceConfig +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.utils.ext.await open class MangaLoaderContext : KoinComponent { @@ -64,7 +64,7 @@ open class MangaLoaderContext : KoinComponent { return okHttp.newCall(request.build()).await() } - open fun getSettings(source: MangaSource) = SourceConfig(get(), source) + open fun getSettings(source: MangaSource) = SourceSettings(get(), source) fun insertCookies(domain: String, vararg cookies: String) { val url = HttpUrl.Builder() diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/base/BasePreferenceFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/base/BasePreferenceFragment.kt index f7ebbb69f..81f787f4f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/base/BasePreferenceFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/base/BasePreferenceFragment.kt @@ -1,7 +1,6 @@ package org.koitharu.kotatsu.ui.base import androidx.annotation.StringRes -import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import org.koin.android.ext.android.inject import org.koitharu.kotatsu.core.prefs.AppSettings @@ -15,8 +14,4 @@ abstract class BasePreferenceFragment(@StringRes private val titleId: Int) : super.onResume() activity?.setTitle(titleId) } - - fun findPreference(@StringRes keyId: Int): T? = - findPreference(getString(keyId)) - } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MainActivity.kt index f067d9b4a..a2396d703 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MainActivity.kt @@ -197,8 +197,8 @@ class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedList override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { when (key) { - getString(R.string.key_sources_hidden), - getString(R.string.key_sources_order) -> { + AppSettings.KEY_SOURCES_HIDDEN, + AppSettings.KEY_SOURCES_ORDER -> { initSideMenu(MangaProviderFactory.getSources(includeHidden = false)) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListFragment.kt index 2c8e420d7..3845b9cd7 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListFragment.kt @@ -203,8 +203,8 @@ abstract class MangaListFragment : BaseFragment(R.layout.fragment_list), return } when (key) { - getString(R.string.key_list_mode) -> initListMode(settings.listMode) - getString(R.string.key_grid_size) -> UiUtils.SpanCountResolver.update(recyclerView) + AppSettings.KEY_LIST_MODE -> initListMode(settings.listMode) + AppSettings.KEY_GRID_SIZE -> UiUtils.SpanCountResolver.update(recyclerView) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListSheet.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListSheet.kt index cab06fe49..e2a932451 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListSheet.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/MangaListSheet.kt @@ -116,8 +116,8 @@ abstract class MangaListSheet : BaseBottomSheet(R.layout.sheet_list), override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) { when (key) { - getString(R.string.key_list_mode) -> initListMode(settings.listMode) - getString(R.string.key_grid_size) -> UiUtils.SpanCountResolver.update(recyclerView) + AppSettings.KEY_LIST_MODE -> initListMode(settings.listMode) + AppSettings.KEY_GRID_SIZE -> UiUtils.SpanCountResolver.update(recyclerView) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/reader/reversed/ReversedReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/reader/reversed/ReversedReaderFragment.kt index 7244f953d..5af1676d5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/reader/reversed/ReversedReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/reader/reversed/ReversedReaderFragment.kt @@ -68,7 +68,7 @@ class ReversedReaderFragment : AbstractReader(R.layout.fragment_reader_standard) override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { when (key) { - getString(R.string.key_reader_animation) -> { + AppSettings.KEY_READER_ANIMATION -> { if (settings.readerAnimation) { pager.setPageTransformer(PageAnimTransformer()) } else { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/reader/standard/PagerReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/reader/standard/PagerReaderFragment.kt index 21912c967..486ace9bb 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/reader/standard/PagerReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/reader/standard/PagerReaderFragment.kt @@ -64,7 +64,7 @@ class PagerReaderFragment : AbstractReader(R.layout.fragment_reader_standard), override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { when (key) { - getString(R.string.key_reader_animation) -> { + AppSettings.KEY_READER_ANIMATION -> { if (settings.readerAnimation) { pager.setPageTransformer(PageAnimTransformer()) } else { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt index c15dad45c..423d3a670 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt @@ -9,6 +9,7 @@ import kotlinx.coroutines.withContext import org.koin.android.ext.android.inject import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.local.Cache +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.domain.tracking.TrackingRepository import org.koitharu.kotatsu.ui.base.BasePreferenceFragment import org.koitharu.kotatsu.ui.search.MangaSuggestionsProvider @@ -23,7 +24,7 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_history) - findPreference(R.string.key_pages_cache_clear)?.let { pref -> + findPreference(AppSettings.KEY_PAGES_CACHE_CLEAR)?.let { pref -> viewLifecycleScope.launchWhenResumed { val size = withContext(Dispatchers.IO) { CacheUtils.computeCacheSize(pref.context, Cache.PAGES.dir) @@ -31,7 +32,7 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach pref.summary = FileSizeUtils.formatBytes(pref.context, size) } } - findPreference(R.string.key_thumbs_cache_clear)?.let { pref -> + findPreference(AppSettings.KEY_THUMBS_CACHE_CLEAR)?.let { pref -> viewLifecycleScope.launchWhenResumed { val size = withContext(Dispatchers.IO) { CacheUtils.computeCacheSize(pref.context, Cache.THUMBS.dir) @@ -39,11 +40,11 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach pref.summary = FileSizeUtils.formatBytes(pref.context, size) } } - findPreference(R.string.key_search_history_clear)?.let { p -> + findPreference(AppSettings.KEY_SEARCH_HISTORY_CLEAR)?.let { p -> val items = MangaSuggestionsProvider.getItemsCount(p.context) p.summary = p.context.resources.getQuantityString(R.plurals.items, items, items) } - findPreference(R.string.key_updates_feed_clear)?.let { p -> + findPreference(AppSettings.KEY_UPDATES_FEED_CLEAR)?.let { p -> viewLifecycleScope.launchWhenResumed { val items = trackerRepo.count() p.summary = p.context.resources.getQuantityString(R.plurals.items, items, items) @@ -53,15 +54,15 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach override fun onPreferenceTreeClick(preference: Preference): Boolean { return when (preference.key) { - getString(R.string.key_pages_cache_clear) -> { + AppSettings.KEY_PAGES_CACHE_CLEAR -> { clearCache(preference, Cache.PAGES) true } - getString(R.string.key_thumbs_cache_clear) -> { + AppSettings.KEY_THUMBS_CACHE_CLEAR -> { clearCache(preference, Cache.THUMBS) true } - getString(R.string.key_search_history_clear) -> { + AppSettings.KEY_SEARCH_HISTORY_CLEAR -> { MangaSuggestionsProvider.clearHistory(preference.context) preference.summary = preference.context.resources .getQuantityString(R.plurals.items, 0, 0) @@ -72,7 +73,7 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach ).show() true } - getString(R.string.key_updates_feed_clear) -> { + AppSettings.KEY_UPDATES_FEED_CLEAR -> { viewLifecycleScope.launch { trackerRepo.clearLogs() preference.summary = preference.context.resources diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt index 4be922f5e..1cd080f8a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt @@ -16,6 +16,7 @@ import kotlinx.coroutines.launch import org.koitharu.kotatsu.BuildConfig import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.MangaSource +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.core.prefs.ListMode import org.koitharu.kotatsu.ui.base.BasePreferenceFragment import org.koitharu.kotatsu.ui.base.dialog.StorageSelectDialog @@ -35,29 +36,29 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_main) - findPreference(R.string.key_list_mode)?.summary = + findPreference(AppSettings.KEY_LIST_MODE)?.summary = LIST_MODES[settings.listMode]?.let(::getString) - findPreference(R.string.key_grid_size)?.run { + findPreference(AppSettings.KEY_GRID_SIZE)?.run { summary = "%d%%".format(value) setOnPreferenceChangeListener { preference, newValue -> preference.summary = "%d%%".format(newValue) true } } - findPreference(R.string.key_reader_switchers)?.summaryProvider = + findPreference(AppSettings.KEY_READER_SWITCHERS)?.summaryProvider = MultiSummaryProvider(R.string.gestures_only) - findPreference(R.string.key_track_sources)?.summaryProvider = + findPreference(AppSettings.KEY_TRACK_SOURCES)?.summaryProvider = MultiSummaryProvider(R.string.dont_check) - findPreference(R.string.key_app_update_auto)?.run { + findPreference(AppSettings.KEY_APP_UPDATE_AUTO)?.run { isVisible = AppUpdateChecker.isUpdateSupported(context) } - findPreference(R.string.key_local_storage)?.run { + findPreference(AppSettings.KEY_LOCAL_STORAGE)?.run { summary = settings.getStorageDir(context)?.getStorageName(context) ?: getString(R.string.not_available) } - findPreference(R.string.key_protect_app)?.isChecked = + findPreference(AppSettings.KEY_PROTECT_APP)?.isChecked = !settings.appPassword.isNullOrEmpty() - findPreference(R.string.key_app_version)?.run { + findPreference(AppSettings.KEY_APP_VERSION)?.run { title = getString(R.string.app_version, BuildConfig.VERSION_NAME) isEnabled = AppUpdateChecker.isUpdateSupported(context) } @@ -65,13 +66,13 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) { when (key) { - getString(R.string.key_list_mode) -> findPreference(R.string.key_list_mode)?.summary = + AppSettings.KEY_LIST_MODE -> findPreference(key)?.summary = LIST_MODES[settings.listMode]?.let(::getString) - getString(R.string.key_theme) -> { + AppSettings.KEY_THEME -> { AppCompatDelegate.setDefaultNightMode(settings.theme) } - getString(R.string.key_local_storage) -> { - findPreference(R.string.key_local_storage)?.run { + AppSettings.KEY_LOCAL_STORAGE -> { + findPreference(key)?.run { summary = settings.getStorageDir(context)?.getStorageName(context) ?: getString(R.string.not_available) } @@ -91,7 +92,7 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), override fun onResume() { super.onResume() - findPreference(R.string.key_remote_sources)?.run { + findPreference(AppSettings.KEY_REMOTE_SOURCES)?.run { val total = MangaSource.values().size - 1 summary = getString( R.string.enabled_d_from_d, total - settings.hiddenSources.size, total @@ -101,11 +102,11 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), override fun onPreferenceTreeClick(preference: Preference?): Boolean { return when (preference?.key) { - getString(R.string.key_list_mode) -> { + AppSettings.KEY_LIST_MODE -> { ListModeSelectDialog.show(childFragmentManager) true } - getString(R.string.key_notifications_settings) -> { + AppSettings.KEY_NOTIFICATIONS_SETTINGS -> { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS) .putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName) @@ -116,7 +117,7 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), } true } - getString(R.string.key_local_storage) -> { + AppSettings.KEY_LOCAL_STORAGE -> { val ctx = context ?: return false StorageSelectDialog.Builder(ctx, settings.getStorageDir(ctx), this) .setTitle(preference.title) @@ -125,7 +126,7 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), .show() true } - getString(R.string.key_protect_app) -> { + AppSettings.KEY_PROTECT_APP -> { if ((preference as? SwitchPreference ?: return false).isChecked) { enableAppProtection(preference) } else { @@ -133,7 +134,7 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), } true } - getString(R.string.key_app_version) -> { + AppSettings.KEY_APP_VERSION -> { checkForUpdates() true } @@ -197,12 +198,12 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), private fun checkForUpdates() { viewLifecycleScope.launch { - findPreference(R.string.key_app_version)?.run { + findPreference(AppSettings.KEY_APP_VERSION)?.run { setSummary(R.string.checking_for_updates) isSelectable = false } val result = AppUpdateChecker(activity ?: return@launch).checkNow() - findPreference(R.string.key_app_version)?.run { + findPreference(AppSettings.KEY_APP_VERSION)?.run { setSummary( when (result) { true -> R.string.check_for_updates diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt index e4958649f..0430a562d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt @@ -4,6 +4,7 @@ import android.media.RingtoneManager import android.os.Bundle import androidx.preference.Preference import org.koitharu.kotatsu.R +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.ui.base.BasePreferenceFragment import org.koitharu.kotatsu.ui.settings.utils.RingtonePickContract import org.koitharu.kotatsu.utils.ext.toUriOrNull @@ -12,7 +13,7 @@ class NotificationSettingsLegacyFragment : BasePreferenceFragment(R.string.notif override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_notifications) - findPreference(R.string.key_notifications_sound)?.run { + findPreference(AppSettings.KEY_NOTIFICATIONS_SOUND)?.run { val uri = settings.notificationSound.toUriOrNull() summary = RingtoneManager.getRingtone(context, uri).getTitle(context) } @@ -20,10 +21,10 @@ class NotificationSettingsLegacyFragment : BasePreferenceFragment(R.string.notif override fun onPreferenceTreeClick(preference: Preference?): Boolean { return when (preference?.key) { - getString(R.string.key_notifications_sound) -> { + AppSettings.KEY_NOTIFICATIONS_SOUND -> { registerForActivityResult(RingtonePickContract(preference.title.toString())) { uri -> settings.notificationSound = uri?.toString().orEmpty() - findPreference(R.string.key_notifications_sound)?.run { + findPreference(AppSettings.KEY_NOTIFICATIONS_SOUND)?.run { summary = RingtoneManager.getRingtone(context, uri).getTitle(context) } }.launch(settings.notificationSound.toUriOrNull()) diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt index 7fe7c061b..74a990c6d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt @@ -3,6 +3,7 @@ package org.koitharu.kotatsu.ui.settings import android.os.Bundle import androidx.preference.MultiSelectListPreference import org.koitharu.kotatsu.R +import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.ui.base.BasePreferenceFragment import org.koitharu.kotatsu.ui.settings.utils.MultiSummaryProvider @@ -10,7 +11,7 @@ class ReaderSettingsFragment : BasePreferenceFragment(R.string.reader_settings) override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_reader) - findPreference(R.string.key_reader_switchers)?.let { + findPreference(AppSettings.KEY_READER_SWITCHERS)?.let { it.summaryProvider = MultiSummaryProvider(R.string.gestures_only) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt index f8d64afd0..d5c483462 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt @@ -6,6 +6,7 @@ import androidx.preference.PreferenceFragmentCompat import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.model.MangaSource import org.koitharu.kotatsu.core.parser.RemoteMangaRepository +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.ui.settings.utils.EditTextSummaryProvider import org.koitharu.kotatsu.utils.ext.withArgs @@ -23,13 +24,13 @@ class SourceSettingsFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { preferenceManager.sharedPreferencesName = source.name val repo = source.repository as? RemoteMangaRepository ?: return - val keys = repo.onCreatePreferences().map(::getString) + val keys = repo.onCreatePreferences() addPreferencesFromResource(R.xml.pref_source) for (i in 0 until preferenceScreen.preferenceCount) { val pref = preferenceScreen.getPreference(i) pref.isVisible = pref.key in keys } - findPreference(getString(R.string.key_parser_domain))?.summaryProvider = + findPreference(SourceSettings.KEY_DOMAIN)?.summaryProvider = EditTextSummaryProvider(R.string._default) } diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/BoolPreferenceDelegate.kt b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/BoolPreferenceDelegate.kt index a8b6fe28e..dd554acbc 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/BoolPreferenceDelegate.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/BoolPreferenceDelegate.kt @@ -5,11 +5,11 @@ import androidx.core.content.edit import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty -class BoolPreferenceDelegate(private val key: String, private val defValue: Boolean) : +class BoolPreferenceDelegate(private val key: String, private val defaultValue: Boolean) : ReadWriteProperty { override fun getValue(thisRef: SharedPreferences, property: KProperty<*>): Boolean { - return thisRef.getBoolean(key, defValue) + return thisRef.getBoolean(key, defaultValue) } override fun setValue(thisRef: SharedPreferences, property: KProperty<*>, value: Boolean) { diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/IntPreferenceDelegate.kt b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/IntPreferenceDelegate.kt index cf9910552..db41b62b5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/IntPreferenceDelegate.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/IntPreferenceDelegate.kt @@ -5,11 +5,11 @@ import androidx.core.content.edit import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty -class IntPreferenceDelegate(private val key: String, private val defValue: Int) : +class IntPreferenceDelegate(private val key: String, private val defaultValue: Int) : ReadWriteProperty { override fun getValue(thisRef: SharedPreferences, property: KProperty<*>): Int { - return thisRef.getInt(key, defValue) + return thisRef.getInt(key, defaultValue) } override fun setValue(thisRef: SharedPreferences, property: KProperty<*>, value: Int) { diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/LongPreferenceDelegate.kt b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/LongPreferenceDelegate.kt index 34c4c34a3..4e160a8e3 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/LongPreferenceDelegate.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/delegates/prefs/LongPreferenceDelegate.kt @@ -5,11 +5,11 @@ import androidx.core.content.edit import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty -class LongPreferenceDelegate(private val key: String, private val defValue: Long) : +class LongPreferenceDelegate(private val key: String, private val defaultValue: Long) : ReadWriteProperty { override fun getValue(thisRef: SharedPreferences, property: KProperty<*>): Long { - return thisRef.getLong(key, defValue) + return thisRef.getLong(key, defaultValue) } override fun setValue(thisRef: SharedPreferences, property: KProperty<*>, value: Long) { diff --git a/app/src/main/res/values/constants.xml b/app/src/main/res/values/constants.xml index 0d53384e0..ef43396ce 100644 --- a/app/src/main/res/values/constants.xml +++ b/app/src/main/res/values/constants.xml @@ -1,35 +1,5 @@ - list_mode - app_section - theme - sources_order - sources_hidden - traffic_warning - pages_cache_clear - thumbs_cache_clear - search_history_clear - updates_feed_clear - grid_size - remote_sources - local_storage - reader_switchers - track_sources - app_update - app_update_auto - tracker_notifications - notifications_settings - notifications_sound - notifications_vibrate - notifications_light - reader_animation - reader_prefer_rtl - app_password - protect_app - app_version - - domain - ssl -1 1 diff --git a/app/src/main/res/xml/pref_history.xml b/app/src/main/res/xml/pref_history.xml index c05b209c9..3c2f7ec14 100644 --- a/app/src/main/res/xml/pref_history.xml +++ b/app/src/main/res/xml/pref_history.xml @@ -4,13 +4,13 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> @@ -20,13 +20,13 @@ android:title="@string/cache"> diff --git a/app/src/main/res/xml/pref_main.xml b/app/src/main/res/xml/pref_main.xml index a1ccf238b..6e9183c72 100644 --- a/app/src/main/res/xml/pref_main.xml +++ b/app/src/main/res/xml/pref_main.xml @@ -8,20 +8,20 @@ android:defaultValue="-1" android:entries="@array/themes" android:entryValues="@array/values_theme" - android:key="@string/key_theme" + android:key="theme" android:title="@string/theme" app:iconSpaceReserved="false" app:useSimpleSummaryProvider="true" /> @@ -49,7 +49,7 @@ app:iconSpaceReserved="false" /> @@ -86,20 +86,20 @@ android:defaultValue="@array/values_track_sources_default" android:entries="@array/track_sources" android:entryValues="@array/values_track_sources" - android:key="@string/key_track_sources" + android:key="track_sources" android:title="@string/track_sources" app:iconSpaceReserved="false" /> @@ -111,7 +111,7 @@ diff --git a/app/src/main/res/xml/pref_notifications.xml b/app/src/main/res/xml/pref_notifications.xml index 5b72bb9e0..c1a70a6fd 100644 --- a/app/src/main/res/xml/pref_notifications.xml +++ b/app/src/main/res/xml/pref_notifications.xml @@ -4,19 +4,19 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/xml/pref_reader.xml b/app/src/main/res/xml/pref_reader.xml index 258f7ce6a..27b467b9a 100644 --- a/app/src/main/res/xml/pref_reader.xml +++ b/app/src/main/res/xml/pref_reader.xml @@ -7,19 +7,19 @@ android:defaultValue="@array/values_reader_switchers_default" android:entries="@array/reader_switchers" android:entryValues="@array/values_reader_switchers" - android:key="@string/key_reader_switchers" + android:key="reader_switchers" android:title="@string/switch_pages" app:iconSpaceReserved="false" /> diff --git a/app/src/main/res/xml/pref_source.xml b/app/src/main/res/xml/pref_source.xml index 195ad5a21..be8d46f4b 100644 --- a/app/src/main/res/xml/pref_source.xml +++ b/app/src/main/res/xml/pref_source.xml @@ -3,12 +3,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt b/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt index 80bb9cc6a..ff546f9c2 100644 --- a/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt +++ b/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt @@ -13,7 +13,7 @@ import org.koin.test.KoinTest import org.koin.test.get import org.koitharu.kotatsu.core.model.MangaSource import org.koitharu.kotatsu.core.parser.UserAgentInterceptor -import org.koitharu.kotatsu.core.prefs.SourceConfig +import org.koitharu.kotatsu.core.prefs.SourceSettings import org.koitharu.kotatsu.domain.MangaLoaderContext import org.koitharu.kotatsu.utils.AssertX import java.util.concurrent.TimeUnit @@ -106,8 +106,8 @@ class RemoteRepositoryTest(source: MangaSource) : KoinTest { module { single { object : MangaLoaderContext() { - override fun getSettings(source: MangaSource): SourceConfig { - return SourceConfigMock() + override fun getSettings(source: MangaSource): SourceSettings { + return SourceSettingsMock() } } } diff --git a/app/src/test/java/org/koitharu/kotatsu/parsers/SourceConfigMock.kt b/app/src/test/java/org/koitharu/kotatsu/parsers/SourceSettingsMock.kt similarity index 62% rename from app/src/test/java/org/koitharu/kotatsu/parsers/SourceConfigMock.kt rename to app/src/test/java/org/koitharu/kotatsu/parsers/SourceSettingsMock.kt index dd0c41304..e5bb09bf2 100644 --- a/app/src/test/java/org/koitharu/kotatsu/parsers/SourceConfigMock.kt +++ b/app/src/test/java/org/koitharu/kotatsu/parsers/SourceSettingsMock.kt @@ -1,8 +1,8 @@ package org.koitharu.kotatsu.parsers -import org.koitharu.kotatsu.core.prefs.SourceConfig +import org.koitharu.kotatsu.core.prefs.SourceSettings -class SourceConfigMock : SourceConfig { +class SourceSettingsMock : SourceSettings { override fun getDomain(defaultValue: String) = defaultValue