fix: animePage hasNextPage for popular, search, and latest
This commit is contained in:
parent
b7b46498c7
commit
f5ea928758
1 changed files with 10 additions and 5 deletions
|
@ -225,7 +225,7 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() {
|
||||||
|
|
||||||
override fun latestUpdatesParse(response: Response): AnimesPage {
|
override fun latestUpdatesParse(response: Response): AnimesPage {
|
||||||
val animeList = response.asModelList(SAnimeDeserializer)
|
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 {
|
override fun popularAnimeRequest(page: Int): Request {
|
||||||
|
@ -239,7 +239,7 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() {
|
||||||
|
|
||||||
override fun popularAnimeParse(response: Response): AnimesPage {
|
override fun popularAnimeParse(response: Response): AnimesPage {
|
||||||
val animeList = response.asModelList(SAnimeDeserializer)
|
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(
|
override suspend fun getSearchAnime(
|
||||||
|
@ -295,10 +295,11 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() {
|
||||||
val resp = client.newCall(GET(url, headers)).execute()
|
val resp = client.newCall(GET(url, headers)).execute()
|
||||||
// Todo: remove SAnimeWithInfo data class if no longer needed
|
// Todo: remove SAnimeWithInfo data class if no longer needed
|
||||||
val animeListWithInfo = resp.asModel(SAnimeWithInfoDeserializer)
|
val animeListWithInfo = resp.asModel(SAnimeWithInfoDeserializer)
|
||||||
return AnimesPage(animeListWithInfo.animes, animeListWithInfo.animes.isNotEmpty())
|
return AnimesPage(animeListWithInfo.animes, animeListWithInfo.animes.size == POPULAR_ITEMS_PER_PAGE)
|
||||||
} else {
|
} else {
|
||||||
// star=8&year=1900,2025
|
// star=8&year=1900,2025
|
||||||
url = url.newBuilder()
|
url = url.newBuilder()
|
||||||
|
.addQueryParameter("level", "0")
|
||||||
.addPathSegment("AdvancedSearch")
|
.addPathSegment("AdvancedSearch")
|
||||||
.addQueryParameter("type", kindName)
|
.addQueryParameter("type", kindName)
|
||||||
.addQueryParameter("page", "${page - 1}")
|
.addQueryParameter("page", "${page - 1}")
|
||||||
|
@ -310,13 +311,17 @@ class ShabakatyCinemana : ConfigurableAnimeSource, AnimeHttpSource() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (query.isNotBlank()) {
|
if (query.isNotBlank()) {
|
||||||
url = url.newBuilder().addQueryParameter("videoTitle", query).build()
|
url = url.newBuilder()
|
||||||
|
.addQueryParameter("videoTitle", query)
|
||||||
|
.addQueryParameter("staffTitle", query)
|
||||||
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
println(url)
|
println(url)
|
||||||
val resp = client.newCall(GET(url, headers)).execute()
|
val resp = client.newCall(GET(url, headers)).execute()
|
||||||
val animeList = resp.asModelList(SAnimeDeserializer)
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue