Switch to the Mangadex extension for the low quality covers setting
This commit is contained in:
parent
9945752667
commit
a8b1e8fdb0
@ -307,8 +307,6 @@ object PreferenceKeys {
|
|||||||
|
|
||||||
const val useNewSourceNavigation = "use_new_source_navigation"
|
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 mangaDexForceLatestCovers = "manga_dex_force_latest_covers"
|
||||||
|
|
||||||
const val preferredMangaDexId = "preferred_mangaDex_id"
|
const val preferredMangaDexId = "preferred_mangaDex_id"
|
||||||
|
@ -427,8 +427,6 @@ class PreferencesHelper(val context: Context) {
|
|||||||
|
|
||||||
fun useNewSourceNavigation() = flowPrefs.getBoolean(Keys.useNewSourceNavigation, true)
|
fun useNewSourceNavigation() = flowPrefs.getBoolean(Keys.useNewSourceNavigation, true)
|
||||||
|
|
||||||
fun mangaDexLowQualityCovers() = flowPrefs.getBoolean(Keys.mangaDexLowQualityCovers, false)
|
|
||||||
|
|
||||||
fun mangaDexForceLatestCovers() = flowPrefs.getBoolean(Keys.mangaDexForceLatestCovers, false)
|
fun mangaDexForceLatestCovers() = flowPrefs.getBoolean(Keys.mangaDexForceLatestCovers, false)
|
||||||
|
|
||||||
fun preferredMangaDexId() = flowPrefs.getString(Keys.preferredMangaDexId, "0")
|
fun preferredMangaDexId() = flowPrefs.getString(Keys.preferredMangaDexId, "0")
|
||||||
|
@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.source.online.all
|
|||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
import com.bluelinelabs.conductor.Controller
|
import com.bluelinelabs.conductor.Controller
|
||||||
@ -84,6 +85,12 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
|||||||
val preferences: PreferencesHelper by injectLazy()
|
val preferences: PreferencesHelper by injectLazy()
|
||||||
val trackManager: TrackManager 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<MangasPage> =
|
override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> =
|
||||||
urlImportFetchSearchManga(context, query) {
|
urlImportFetchSearchManga(context, query) {
|
||||||
importIdToMdId(query) {
|
importIdToMdId(query) {
|
||||||
@ -144,7 +151,7 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun fetchFollows(): Observable<MangasPage> {
|
override fun fetchFollows(): Observable<MangasPage> {
|
||||||
return FollowsHandler(client, headers, Injekt.get()).fetchFollows()
|
return FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).fetchFollows()
|
||||||
}
|
}
|
||||||
|
|
||||||
override val needsLogin: Boolean = true
|
override val needsLogin: Boolean = true
|
||||||
@ -218,15 +225,15 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun fetchAllFollows(forceHd: Boolean): Flow<List<Pair<SManga, MangaDexSearchMetadata>>> {
|
override fun fetchAllFollows(forceHd: Boolean): Flow<List<Pair<SManga, MangaDexSearchMetadata>>> {
|
||||||
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<Boolean> {
|
fun updateReadingProgress(track: Track): Flow<Boolean> {
|
||||||
return flow { FollowsHandler(client, headers, Injekt.get()).updateReadingProgress(track) }
|
return flow { FollowsHandler(client, headers, Injekt.get(), useLowQualityThumbnail()).updateReadingProgress(track) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateRating(track: Track): Flow<Boolean> {
|
fun updateRating(track: Track): Flow<Boolean> {
|
||||||
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<Track> {
|
override fun fetchTrackingInfo(url: String): Flow<Track> {
|
||||||
@ -234,12 +241,12 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
|||||||
if (!isLogged()) {
|
if (!isLogged()) {
|
||||||
throw Exception("Not Logged in")
|
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<Boolean> {
|
override fun updateFollowStatus(mangaID: String, followStatus: FollowStatus): Flow<Boolean> {
|
||||||
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 {
|
override fun getFilterHeader(controller: Controller): MangaDexFabHeaderAdapter {
|
||||||
@ -273,5 +280,7 @@ class MangaDex(delegate: HttpSource, val context: Context) :
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val REMEMBER_ME = "mangadex_rememberme_token"
|
private const val REMEMBER_ME = "mangadex_rememberme_token"
|
||||||
|
private const val SHOW_THUMBNAIL_PREF = "showThumbnailDefault"
|
||||||
|
private const val LOW_QUALITY = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,12 +54,6 @@ class SettingsMangaDexController :
|
|||||||
entryValues = mangaDexs.map { it.id.toString() }.toTypedArray()
|
entryValues = mangaDexs.map { it.id.toString() }.toTypedArray()
|
||||||
}
|
}
|
||||||
|
|
||||||
switchPreference {
|
|
||||||
key = PreferenceKeys.mangaDexLowQualityCovers
|
|
||||||
titleRes = R.string.mangadex_low_quality_covers
|
|
||||||
defaultValue = false
|
|
||||||
}
|
|
||||||
|
|
||||||
switchPreference {
|
switchPreference {
|
||||||
key = PreferenceKeys.mangaDexForceLatestCovers
|
key = PreferenceKeys.mangaDexForceLatestCovers
|
||||||
titleRes = R.string.mangadex_use_latest_cover
|
titleRes = R.string.mangadex_use_latest_cover
|
||||||
|
@ -28,7 +28,7 @@ import okhttp3.Request
|
|||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import rx.Observable
|
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
|
* fetch follows by page
|
||||||
@ -62,7 +62,7 @@ class FollowsHandler(val client: OkHttpClient, val headers: Headers, val prefere
|
|||||||
if (empty == null || empty) {
|
if (empty == null || empty) {
|
||||||
return MetadataMangasPage(mutableListOf(), false, mutableListOf())
|
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 {
|
val follows = followsPageResult!!.result.map {
|
||||||
followFromElement(it, lowQualityCovers)
|
followFromElement(it, lowQualityCovers)
|
||||||
|
@ -21,7 +21,7 @@ import uy.kohesive.injekt.injectLazy
|
|||||||
/**
|
/**
|
||||||
* Returns the latest manga from the updates url since it actually respects the users settings
|
* 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()
|
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.title = it.text().trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, preferences.mangaDexLowQualityCovers().get())
|
manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, useLowQualityCovers)
|
||||||
|
|
||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ import rx.Observable
|
|||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
||||||
// Unused, kept for reference todo
|
// Unused, kept for reference todo
|
||||||
class SearchHandler(val client: OkHttpClient, private val headers: Headers, val langs: List<String>) {
|
class SearchHandler(val client: OkHttpClient, private val headers: Headers, val langs: List<String>, private val useLowQualityCovers: Boolean) {
|
||||||
|
|
||||||
private val preferences: PreferencesHelper by injectLazy()
|
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.title = it.text().trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, preferences.mangaDexLowQualityCovers().get())
|
manga.thumbnail_url = MdUtil.formThumbUrl(manga.url, useLowQualityCovers)
|
||||||
|
|
||||||
return manga
|
return manga
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user