From f5ea928758ea9921c70b552e98f7f6801198ce53 Mon Sep 17 00:00:00 2001 From: hasanpasha Date: Sat, 22 Feb 2025 18:43:37 +0300 Subject: [PATCH] fix: animePage hasNextPage for popular, search, and latest --- .../all/shabakatycinemana/ShabakatyCinemana.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/all/shabakatycinemana/src/eu/kanade/tachiyomi/animeextension/all/shabakatycinemana/ShabakatyCinemana.kt b/src/all/shabakatycinemana/src/eu/kanade/tachiyomi/animeextension/all/shabakatycinemana/ShabakatyCinemana.kt index e8f72120..22a3066d 100644 --- a/src/all/shabakatycinemana/src/eu/kanade/tachiyomi/animeextension/all/shabakatycinemana/ShabakatyCinemana.kt +++ b/src/all/shabakatycinemana/src/eu/kanade/tachiyomi/animeextension/all/shabakatycinemana/ShabakatyCinemana.kt @@ -225,7 +225,7 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() { override fun latestUpdatesParse(response: Response): AnimesPage { val animeList = response.asModelList(SAnimeDeserializer) - return AnimesPage(animeList, animeList.size < LATEST_ITEMS_PER_PAGE) + return AnimesPage(animeList, animeList.size == LATEST_ITEMS_PER_PAGE) } override fun popularAnimeRequest(page: Int): Request { @@ -239,7 +239,7 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() { override fun popularAnimeParse(response: Response): AnimesPage { val animeList = response.asModelList(SAnimeDeserializer) - return AnimesPage(animeList, animeList.size < POPULAR_ITEMS_PER_PAGE) + return AnimesPage(animeList, animeList.size == POPULAR_ITEMS_PER_PAGE) } override suspend fun getSearchAnime( @@ -295,10 +295,11 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() { val resp = client.newCall(GET(url, headers)).execute() // Todo: remove SAnimeWithInfo data class if no longer needed val animeListWithInfo = resp.asModel(SAnimeWithInfoDeserializer) - return AnimesPage(animeListWithInfo.animes, animeListWithInfo.animes.isNotEmpty()) + return AnimesPage(animeListWithInfo.animes, animeListWithInfo.animes.size == POPULAR_ITEMS_PER_PAGE) } else { // star=8&year=1900,2025 url = url.newBuilder() + .addQueryParameter("level", "0") .addPathSegment("AdvancedSearch") .addQueryParameter("type", kindName) .addQueryParameter("page", "${page - 1}") @@ -310,13 +311,17 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() { } if (query.isNotBlank()) { - url = url.newBuilder().addQueryParameter("videoTitle", query).build() + url = url.newBuilder() + .addQueryParameter("videoTitle", query) + .addQueryParameter("staffTitle", query) + .build() } println(url) val resp = client.newCall(GET(url, headers)).execute() val animeList = resp.asModelList(SAnimeDeserializer) - return AnimesPage(animeList, animeList.size < SEARCH_ITEMS_PER_PAGE) + println("search has next page: ${animeList.size} == $SEARCH_ITEMS_PER_PAGE ${animeList.size == SEARCH_ITEMS_PER_PAGE}") + return AnimesPage(animeList, animeList.size == SEARCH_ITEMS_PER_PAGE) } }