diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index 88a3c0f3d..14a0ee3e0 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -307,8 +307,6 @@ object PreferenceKeys { const val useNewSourceNavigation = "use_new_source_navigation" - const val mangaDexLowQualityCovers = "manga_dex_low_quality_covers" - const val mangaDexForceLatestCovers = "manga_dex_force_latest_covers" const val preferredMangaDexId = "preferred_mangaDex_id" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index c77303795..3303e1e2a 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -427,8 +427,6 @@ class PreferencesHelper(val context: Context) { fun useNewSourceNavigation() = flowPrefs.getBoolean(Keys.useNewSourceNavigation, true) - fun mangaDexLowQualityCovers() = flowPrefs.getBoolean(Keys.mangaDexLowQualityCovers, false) - fun mangaDexForceLatestCovers() = flowPrefs.getBoolean(Keys.mangaDexForceLatestCovers, false) fun preferredMangaDexId() = flowPrefs.getString(Keys.preferredMangaDexId, "0") diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt index b27565dbb..86dea0cd6 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/all/MangaDex.kt @@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.source.online.all import android.app.Activity import android.content.Context +import android.content.SharedPreferences import android.net.Uri import androidx.core.text.HtmlCompat import com.bluelinelabs.conductor.Controller @@ -84,6 +85,12 @@ class MangaDex(delegate: HttpSource, val context: Context) : val preferences: PreferencesHelper by injectLazy() val trackManager: TrackManager by injectLazy() + private val sourcePreferences: SharedPreferences by lazy { + context.getSharedPreferences("source_$id", 0x0000) + } + + private fun useLowQualityThumbnail() = sourcePreferences.getInt(SHOW_THUMBNAIL_PREF, 0) == LOW_QUALITY + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable = urlImportFetchSearchManga(context, query) { importIdToMdId(query) { @@ -144,7 +151,7 @@ class MangaDex(delegate: HttpSource, val context: Context) : } override fun fetchFollows(): Observable { - return FollowsHandler(client, headers, Injekt.get()).fetchFollows() + return FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).fetchFollows() } override val needsLogin: Boolean = true @@ -218,15 +225,15 @@ class MangaDex(delegate: HttpSource, val context: Context) : } override fun fetchAllFollows(forceHd: Boolean): Flow>> { - return flow { emit(FollowsHandler(client, headers, Injekt.get()).fetchAllFollows(forceHd)) } + return flow { emit(FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).fetchAllFollows(forceHd)) } } fun updateReadingProgress(track: Track): Flow { - return flow { FollowsHandler(client, headers, Injekt.get()).updateReadingProgress(track) } + return flow { FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).updateReadingProgress(track) } } fun updateRating(track: Track): Flow { - return flow { FollowsHandler(client, headers, Injekt.get()).updateRating(track) } + return flow { FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).updateRating(track) } } override fun fetchTrackingInfo(url: String): Flow { @@ -234,12 +241,12 @@ class MangaDex(delegate: HttpSource, val context: Context) : if (!isLogged()) { throw Exception("Not Logged in") } - emit(FollowsHandler(client, headers, Injekt.get()).fetchTrackingInfo(url)) + emit(FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).fetchTrackingInfo(url)) } } override fun updateFollowStatus(mangaID: String, followStatus: FollowStatus): Flow { - return flow { emit(FollowsHandler(client, headers, Injekt.get()).updateFollowStatus(mangaID, followStatus)) } + return flow { emit(FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).updateFollowStatus(mangaID, followStatus)) } } override fun getFilterHeader(controller: Controller): MangaDexFabHeaderAdapter { @@ -273,5 +280,7 @@ class MangaDex(delegate: HttpSource, val context: Context) : companion object { private const val REMEMBER_ME = "mangadex_rememberme_token" + private const val SHOW_THUMBNAIL_PREF = "showThumbnailDefault" + private const val LOW_QUALITY = 1 } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt index 4b4e7d7a9..83e275244 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMangaDexController.kt @@ -54,12 +54,6 @@ class SettingsMangaDexController : entryValues = mangaDexs.map { it.id.toString() }.toTypedArray() } - switchPreference { - key = PreferenceKeys.mangaDexLowQualityCovers - titleRes = R.string.mangadex_low_quality_covers - defaultValue = false - } - switchPreference { key = PreferenceKeys.mangaDexForceLatestCovers titleRes = R.string.mangadex_use_latest_cover diff --git a/app/src/main/java/exh/md/handlers/FollowsHandler.kt b/app/src/main/java/exh/md/handlers/FollowsHandler.kt index fabd5f2ef..12ecb66d9 100644 --- a/app/src/main/java/exh/md/handlers/FollowsHandler.kt +++ b/app/src/main/java/exh/md/handlers/FollowsHandler.kt @@ -28,7 +28,7 @@ import okhttp3.Request import okhttp3.Response import rx.Observable -class FollowsHandler(val client: OkHttpClient, val headers: Headers, val preferences: PreferencesHelper) { +class FollowsHandler(val client: OkHttpClient, val headers: Headers, val preferences: PreferencesHelper, private val useLowQualityCovers: Boolean) { /** * fetch follows by page @@ -62,7 +62,7 @@ class FollowsHandler(val client: OkHttpClient, val headers: Headers, val prefere if (empty == null || empty) { return MetadataMangasPage(mutableListOf(), false, mutableListOf()) } - val lowQualityCovers = if (forceHd) false else preferences.mangaDexLowQualityCovers().get() + val lowQualityCovers = if (forceHd) false else useLowQualityCovers val follows = followsPageResult!!.result.map { followFromElement(it, lowQualityCovers) diff --git a/app/src/main/java/exh/md/handlers/PopularHandler.kt b/app/src/main/java/exh/md/handlers/PopularHandler.kt index 9a1e1689e..b0909c072 100644 --- a/app/src/main/java/exh/md/handlers/PopularHandler.kt +++ b/app/src/main/java/exh/md/handlers/PopularHandler.kt @@ -21,7 +21,7 @@ import uy.kohesive.injekt.injectLazy /** * Returns the latest manga from the updates url since it actually respects the users settings */ -class PopularHandler(val client: OkHttpClient, private val headers: Headers) { +class PopularHandler(val client: OkHttpClient, private val headers: Headers, private val useLowQualityCovers: Boolean) { private val preferences: PreferencesHelper by injectLazy() @@ -59,7 +59,7 @@ class PopularHandler(val client: OkHttpClient, private val headers: Headers) { manga.title = it.text().trim() } - manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, preferences.mangaDexLowQualityCovers().get()) + manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, useLowQualityCovers) return manga } diff --git a/app/src/main/java/exh/md/handlers/SearchHandler.kt b/app/src/main/java/exh/md/handlers/SearchHandler.kt index 2a56d0293..57aa772cc 100644 --- a/app/src/main/java/exh/md/handlers/SearchHandler.kt +++ b/app/src/main/java/exh/md/handlers/SearchHandler.kt @@ -20,7 +20,7 @@ import rx.Observable import uy.kohesive.injekt.injectLazy // Unused, kept for reference todo -class SearchHandler(val client: OkHttpClient, private val headers: Headers, val langs: List) { +class SearchHandler(val client: OkHttpClient, private val headers: Headers, val langs: List, private val useLowQualityCovers: Boolean) { private val preferences: PreferencesHelper by injectLazy() @@ -191,7 +191,7 @@ class SearchHandler(val client: OkHttpClient, private val headers: Headers, val manga.title = it.text().trim() } - manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, preferences.mangaDexLowQualityCovers().get()) + manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, useLowQualityCovers) return manga }