From c7757c099497a6033af406a8a0873e4d4dd2d65d Mon Sep 17 00:00:00 2001 From: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com> Date: Wed, 16 Mar 2022 20:14:08 +0100 Subject: [PATCH] Apply requested changes --- .../extractors/SoundcloudPlaylistExtractor.java | 8 +++++--- .../youtube/extractors/YoutubeMixPlaylistExtractor.java | 4 ++-- .../youtube/extractors/YoutubePlaylistExtractor.java | 9 ++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java index ffde3fb72..3d525e631 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudPlaylistExtractor.java @@ -127,11 +127,13 @@ public class SoundcloudPlaylistExtractor extends PlaylistExtractor { new StreamInfoItemsCollector(getServiceId()); final List ids = new ArrayList<>(); - final JsonArray tracks = playlist.getArray("tracks"); - tracks.stream().filter(JsonObject.class::isInstance) + playlist.getArray("tracks") + .stream() + .filter(JsonObject.class::isInstance) .map(JsonObject.class::cast) .forEachOrdered(track -> { - if (track.has("title")) { // i.e. if full info is available + // i.e. if full info is available + if (track.has("title")) { streamInfoItemsCollector.commit( new SoundcloudStreamInfoItemExtractor(track)); } else { diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java index 0a0431392..a98fa617a 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java @@ -224,8 +224,8 @@ public class YoutubeMixPlaylistExtractor extends PlaylistExtractor { streams.stream() .filter(JsonObject.class::isInstance) - .map(stream -> ((JsonObject) stream) - .getObject("playlistPanelVideoRenderer")) + .map(JsonObject.class::cast) + .map(stream -> stream.getObject("playlistPanelVideoRenderer")) .filter(Objects::nonNull) .map(streamInfo -> new YoutubeStreamInfoItemExtractor(streamInfo, timeAgoParser)) .forEachOrdered(collector::commit); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java index 0e0c6003e..11ffa1d57 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java @@ -236,6 +236,7 @@ public class YoutubePlaylistExtractor extends PlaylistExtractor { .getArray("contents"); final JsonObject videoPlaylistObject = contents.stream() + .filter(JsonObject.class::isInstance) .map(JsonObject.class::cast) .map(content -> content.getObject("itemSectionRenderer") .getArray("contents") @@ -316,9 +317,11 @@ public class YoutubePlaylistExtractor extends PlaylistExtractor { final TimeAgoParser timeAgoParser = getTimeAgoParser(); videos.stream() - .filter(video -> ((JsonObject) video).has(PLAYLIST_VIDEO_RENDERER)) - .map(video -> new YoutubeStreamInfoItemExtractor(((JsonObject) video) - .getObject(PLAYLIST_VIDEO_RENDERER), timeAgoParser) { + .filter(JsonObject.class::isInstance) + .map(JsonObject.class::cast) + .filter(video -> video.has(PLAYLIST_VIDEO_RENDERER)) + .map(video -> new YoutubeStreamInfoItemExtractor( + video.getObject(PLAYLIST_VIDEO_RENDERER), timeAgoParser) { @Override public long getViewCount() { return -1;