From 7e5def3a37a8f7c4c99314a6a4cf891bf3ea2a66 Mon Sep 17 00:00:00 2001 From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com> Date: Tue, 9 Jan 2024 06:22:25 -0600 Subject: [PATCH] custom novel search fix --- .../main/java/ani/dantotsu/media/MediaDetailsViewModel.kt | 3 ++- .../main/java/ani/dantotsu/media/novel/NovelReadFragment.kt | 3 +-- .../main/java/ani/dantotsu/parsers/novel/NovelAdapter.kt | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt index 35013e02..8d6ac19d 100644 --- a/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt +++ b/app/src/main/java/ani/dantotsu/media/MediaDetailsViewModel.kt @@ -314,7 +314,8 @@ class MediaDetailsViewModel : ViewModel() { val novelSources = NovelSources val novelResponses = MutableLiveData>(null) suspend fun searchNovels(query: String, i: Int) { - val source = novelSources[i] + val position = if (i >= novelSources.list.size) 0 else i + val source = novelSources[position] tryWithSuspend(post = true) { if (source != null) { novelResponses.postValue(source.search(query)) diff --git a/app/src/main/java/ani/dantotsu/media/novel/NovelReadFragment.kt b/app/src/main/java/ani/dantotsu/media/novel/NovelReadFragment.kt index b3e14ed2..fe6ba960 100644 --- a/app/src/main/java/ani/dantotsu/media/novel/NovelReadFragment.kt +++ b/app/src/main/java/ani/dantotsu/media/novel/NovelReadFragment.kt @@ -247,8 +247,7 @@ class NovelReadFragment : Fragment(), headerAdapter.progress?.visibility = View.VISIBLE lifecycleScope.launch(Dispatchers.IO) { if (auto || query == "") model.autoSearchNovels(media) - //else model.searchNovels(query, source) - else model.autoSearchNovels(media) //testing + else model.searchNovels(query, source) } searching = true if (save) { diff --git a/app/src/main/java/ani/dantotsu/parsers/novel/NovelAdapter.kt b/app/src/main/java/ani/dantotsu/parsers/novel/NovelAdapter.kt index 13da2ce2..e23ec62f 100644 --- a/app/src/main/java/ani/dantotsu/parsers/novel/NovelAdapter.kt +++ b/app/src/main/java/ani/dantotsu/parsers/novel/NovelAdapter.kt @@ -22,10 +22,10 @@ class DynamicNovelParser(extension: NovelExtension.Installed) : NovelParser() { override suspend fun search(query: String): List { val source = extension.sources.firstOrNull() - if (source is NovelInterface) { - return source.search(query, client) + return if (source is NovelInterface) { + source.search(query, client) } else { - return emptyList() + emptyList() } }