From 2629b3420b9042e1161212c357439fa1ea7bc40b Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Wed, 12 May 2021 16:17:39 -0400 Subject: [PATCH] Update for Mangadex api 5.0.5 --- .../java/exh/md/handlers/FollowsHandler.kt | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/exh/md/handlers/FollowsHandler.kt b/app/src/main/java/exh/md/handlers/FollowsHandler.kt index e0059ccd1..3d5077ae8 100644 --- a/app/src/main/java/exh/md/handlers/FollowsHandler.kt +++ b/app/src/main/java/exh/md/handlers/FollowsHandler.kt @@ -59,7 +59,8 @@ class FollowsHandler( } val hasMoreResults = mangaListResponse.limit + mangaListResponse.offset under mangaListResponse.total - val statusListResponse = client.newCall(mangaStatusListRequest(mangaListResponse.results)).await().parseAs() + val statusListResponse = client.newCall(mangaStatusListRequest()).await() + .parseAs() val results = followsParseMangaPage(mangaListResponse.results, statusListResponse.statuses) MetadataMangasPage(results.map { it.first }, hasMoreResults, results.map { it.second }) @@ -202,13 +203,8 @@ class FollowsHandler( followsListRequest(it) } - val statuses = results.chunked(100) - .map { - client.newCall(mangaStatusListRequest(results)).await().parseAs().statuses - }.fold(mutableMapOf()) { acc, curr -> - acc.putAll(curr) - acc - } + val statuses = client.newCall(mangaStatusListRequest()).await() + .parseAs().statuses followsParseMangaPage(results, statuses) } @@ -233,7 +229,13 @@ class FollowsHandler( } } - private fun mangaStatusListRequest(mangaListResponse: List): Request { - return GET(MdUtil.mangaStatus + "/" + mangaListResponse.joinToString("&ids[]=", "?ids[]=") { it.data.id }, MdUtil.getAuthHeaders(headers, preferences, mdList), CacheControl.FORCE_NETWORK) + private fun mangaStatusListRequest(status: FollowStatus? = null): Request { + val mangaStatusUrl = MdUtil.mangaStatus.toHttpUrl().newBuilder() + + if (status != null) { + mangaStatusUrl.addQueryParameter("status", status.name.toLowerCase(Locale.US)) + } + + return GET(mangaStatusUrl.build().toString(), MdUtil.getAuthHeaders(headers, preferences, mdList), CacheControl.FORCE_NETWORK) } }