From aacafb8ab43ab14b0992cc36142cd96c745ad012 Mon Sep 17 00:00:00 2001 From: Kavin <20838718+FireMasterK@users.noreply.github.com> Date: Thu, 27 Oct 2022 12:13:52 +0100 Subject: [PATCH] Fix channel tab nextpage. --- .../java/me/kavin/piped/utils/ResponseHelper.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/kavin/piped/utils/ResponseHelper.java b/src/main/java/me/kavin/piped/utils/ResponseHelper.java index 5f9550b..08506ef 100644 --- a/src/main/java/me/kavin/piped/utils/ResponseHelper.java +++ b/src/main/java/me/kavin/piped/utils/ResponseHelper.java @@ -351,20 +351,26 @@ public class ResponseHelper { return mapper.writeValueAsBytes(new ChannelTabData(nextpage, items)); } - public static byte[] channelTabPageResponse(String data, String nextpage) throws Exception { + public static byte[] channelTabPageResponse(String data, String prevPageStr) throws Exception { if (StringUtils.isEmpty(data)) return mapper.writeValueAsBytes(new InvalidRequestResponse()); YouTubeChannelTabHandler tabHandler = mapper.readValue(data, YouTubeChannelTabHandlerMixin.class); - Page nextPage = mapper.readValue(nextpage, Page.class); + Page prevPage = mapper.readValue(prevPageStr, Page.class); - var info = ChannelTabInfo.getMoreItems(YOUTUBE_SERVICE, tabHandler, nextPage); + var info = ChannelTabInfo.getMoreItems(YOUTUBE_SERVICE, tabHandler, prevPage); + + String nextpage = null; + if (info.hasNextPage()) { + Page page = info.getNextPage(); + nextpage = mapper.writeValueAsString(page); + } List items = collectRelatedItems(info.getItems()); - return mapper.writeValueAsBytes(new ChannelTabData(null, items)); + return mapper.writeValueAsBytes(new ChannelTabData(nextpage, items)); } public static byte[] trendingResponse(String region)