From a3e1cc45b3ce718b40591c12766abc175d8a50f0 Mon Sep 17 00:00:00 2001 From: rebelonion <87634197+rebelonion@users.noreply.github.com> Date: Wed, 1 May 2024 21:08:33 -0500 Subject: [PATCH] fix: scanlator | language selection --- .../main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt | 5 ++++- .../main/java/ani/dantotsu/media/manga/MangaReadFragment.kt | 3 ++- app/src/main/java/ani/dantotsu/parsers/BaseParser.kt | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt index 74cd38d5..d84c03b8 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadAdapter.kt @@ -102,6 +102,9 @@ class MangaReadAdapter( showUserTextListener = { MainScope().launch { binding.animeSourceTitle.text = it } } } } + media.selected?.scanlators?.let { + hiddenScanlators.addAll(it) + } binding.animeSource.setAdapter( ArrayAdapter( fragment.requireContext(), @@ -127,7 +130,7 @@ class MangaReadAdapter( // Check if 'extension' and 'selected' properties exist and are accessible (mangaReadSources[source] as? DynamicMangaParser)?.let { ext -> ext.sourceLanguage = i - fragment.onLangChange(i) + fragment.onLangChange(i, ext.saveName) fragment.onSourceChange(media.selected!!.sourceIndex).apply { binding.animeSourceTitle.text = showUserText showUserTextListener = diff --git a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt index b86a3654..d0694a40 100644 --- a/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/manga/MangaReadFragment.kt @@ -321,11 +321,12 @@ open class MangaReadFragment : Fragment(), ScanlatorSelectionListener { return model.mangaReadSources?.get(i)!! } - fun onLangChange(i: Int) { + fun onLangChange(i: Int, saveName: String) { val selected = model.loadSelected(media) selected.langIndex = i model.saveSelected(media.id, selected) media.selected = selected + PrefManager.removeCustomVal("${saveName}_${media.id}") } fun onScanlatorChange(list: List) { diff --git a/app/src/main/java/ani/dantotsu/parsers/BaseParser.kt b/app/src/main/java/ani/dantotsu/parsers/BaseParser.kt index 014be93d..2d83ab06 100644 --- a/app/src/main/java/ani/dantotsu/parsers/BaseParser.kt +++ b/app/src/main/java/ani/dantotsu/parsers/BaseParser.kt @@ -54,6 +54,11 @@ abstract class BaseParser { * Isn't necessary to override, but recommended, if you want to improve auto search results * **/ open suspend fun autoSearch(mediaObj: Media): ShowResponse? { + (this as? DynamicMangaParser)?.let { ext -> + mediaObj.selected?.langIndex?.let { + ext.sourceLanguage = it + } + } var response: ShowResponse? = loadSavedShowResponse(mediaObj.id) if (response != null && this !is OfflineMangaParser && this !is OfflineAnimeParser) { saveShowResponse(mediaObj.id, response, true)