From 2002234d860819c9686d08cd3750dd5d1b5af179 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Mon, 27 Feb 2017 21:31:20 +0100 Subject: [PATCH] fix channel load more videos error --- .../org/schabi/newpipe/ChannelActivity.java | 20 ++++++++++--------- .../youtube/YoutubeChannelExtractor.java | 12 ++++++++--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/ChannelActivity.java b/app/src/main/java/org/schabi/newpipe/ChannelActivity.java index 52cf680b6..1a915633a 100644 --- a/app/src/main/java/org/schabi/newpipe/ChannelActivity.java +++ b/app/src/main/java/org/schabi/newpipe/ChannelActivity.java @@ -232,15 +232,17 @@ public class ChannelActivity extends AppCompatActivity { // start processing isLoading = true; - //delete already displayed content - progressBar.setVisibility(View.VISIBLE); - infoListAdapter.clearSteamItemList(); - if(SDK_INT >= 21) { - channelBanner.setImageDrawable(getDrawable(R.drawable.channel_banner)); - avatarView.setImageDrawable(getDrawable(R.drawable.buddy)); - subscriberLayout.setVisibility(View.GONE); - titleView.setText(""); - getSupportActionBar().setTitle(""); + if(!onlyVideos) { + //delete already displayed content + progressBar.setVisibility(View.VISIBLE); + infoListAdapter.clearSteamItemList(); + if (SDK_INT >= 21) { + channelBanner.setImageDrawable(getDrawable(R.drawable.channel_banner)); + avatarView.setImageDrawable(getDrawable(R.drawable.buddy)); + subscriberLayout.setVisibility(View.GONE); + titleView.setText(""); + getSupportActionBar().setTitle(""); + } } diff --git a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractor.java b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractor.java index 99b1985bd..518769ba1 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractor.java @@ -55,6 +55,7 @@ public class YoutubeChannelExtractor extends ChannelExtractor { private static String avatarUrl = ""; private static String bannerUrl = ""; private static String feedUrl = ""; + private static long subscriberCount = -1; // the fist page is html all other pages are ajax. Every new page can be requested by sending // this request url. private static String nextPageUrl = ""; @@ -296,9 +297,14 @@ public class YoutubeChannelExtractor extends ChannelExtractor { @Override public long getSubscriberCount() throws ParsingException { - String countRaw = doc.select("span[class*=\"yt-subscription-button-subscriber-count\"]").first() - .text(); - return Long.parseLong(countRaw.replaceAll("\\D+","")); + Element el = doc.select("span[class*=\"yt-subscription-button-subscriber-count\"]") + .first(); + if(el != null) { + subscriberCount = Long.parseLong(el.text().replaceAll("\\D+","")); + } else if(el == null && subscriberCount == -1) { + throw new ParsingException("Could not get subscriber count"); + } + return subscriberCount; } @Override