From 448b68700c140bc4b763e15ed7494edfa96db9fd Mon Sep 17 00:00:00 2001 From: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com> Date: Tue, 23 Feb 2021 19:03:34 +0100 Subject: [PATCH] Use final in exceptions and add AgeRestrictedException AgeRestrictedException will be thrown only if the reason message equals to "Sign in to confirm your age" and if the age limit is 18. --- .../exceptions/AgeRestrictedContentException.java | 10 ++++++++++ .../exceptions/ContentNotAvailableException.java | 4 ++-- .../exceptions/ContentNotSupportedException.java | 4 ++-- .../extractor/exceptions/ExtractionException.java | 6 +++--- .../newpipe/extractor/exceptions/FoundAdException.java | 4 ++-- .../exceptions/GeographicRestrictionException.java | 4 ++-- .../extractor/exceptions/PaidContentException.java | 4 ++-- .../newpipe/extractor/exceptions/ParsingException.java | 6 +++--- .../extractor/exceptions/PrivateContentException.java | 4 ++-- .../extractor/exceptions/ReCaptchaException.java | 2 +- .../exceptions/SoundCloudGoPlusContentException.java | 2 +- .../YoutubeMusicPremiumContentException.java | 2 +- .../youtube/extractors/YoutubeStreamExtractor.java | 3 +++ 13 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/AgeRestrictedContentException.java diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/AgeRestrictedContentException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/AgeRestrictedContentException.java new file mode 100644 index 00000000..b11c9d67 --- /dev/null +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/AgeRestrictedContentException.java @@ -0,0 +1,10 @@ +package org.schabi.newpipe.extractor.exceptions; + +public class AgeRestrictedContentException extends ContentNotAvailableException { + public AgeRestrictedContentException(final String message) { + super(message); + } + public AgeRestrictedContentException(final String message, final Throwable cause) { + super(message, cause); + } +} diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotAvailableException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotAvailableException.java index 4f5e37ec..15e585c4 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotAvailableException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotAvailableException.java @@ -1,11 +1,11 @@ package org.schabi.newpipe.extractor.exceptions; public class ContentNotAvailableException extends ParsingException { - public ContentNotAvailableException(String message) { + public ContentNotAvailableException(final String message) { super(message); } - public ContentNotAvailableException(String message, Throwable cause) { + public ContentNotAvailableException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotSupportedException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotSupportedException.java index c32575b4..9242c2fc 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotSupportedException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ContentNotSupportedException.java @@ -1,11 +1,11 @@ package org.schabi.newpipe.extractor.exceptions; public class ContentNotSupportedException extends ParsingException { - public ContentNotSupportedException(String message) { + public ContentNotSupportedException(final String message) { super(message); } - public ContentNotSupportedException(String message, Throwable cause) { + public ContentNotSupportedException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ExtractionException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ExtractionException.java index 263b7811..d52a78ef 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ExtractionException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ExtractionException.java @@ -21,15 +21,15 @@ package org.schabi.newpipe.extractor.exceptions; */ public class ExtractionException extends Exception { - public ExtractionException(String message) { + public ExtractionException(final String message) { super(message); } - public ExtractionException(Throwable cause) { + public ExtractionException(final Throwable cause) { super(cause); } - public ExtractionException(String message, Throwable cause) { + public ExtractionException(final String message, final Throwable cause) { super(message, cause); } } \ No newline at end of file diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/FoundAdException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/FoundAdException.java index 2828a521..66e9b7f4 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/FoundAdException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/FoundAdException.java @@ -21,11 +21,11 @@ package org.schabi.newpipe.extractor.exceptions; */ public class FoundAdException extends ParsingException { - public FoundAdException(String message) { + public FoundAdException(final String message) { super(message); } - public FoundAdException(String message, Throwable cause) { + public FoundAdException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/GeographicRestrictionException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/GeographicRestrictionException.java index 23ba31aa..6e555823 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/GeographicRestrictionException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/GeographicRestrictionException.java @@ -1,11 +1,11 @@ package org.schabi.newpipe.extractor.exceptions; public class GeographicRestrictionException extends ContentNotAvailableException { - public GeographicRestrictionException(String message) { + public GeographicRestrictionException(final String message) { super(message); } - public GeographicRestrictionException(String message, Throwable cause) { + public GeographicRestrictionException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PaidContentException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PaidContentException.java index f49c7504..14467510 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PaidContentException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PaidContentException.java @@ -1,11 +1,11 @@ package org.schabi.newpipe.extractor.exceptions; public class PaidContentException extends ContentNotAvailableException { - public PaidContentException(String message) { + public PaidContentException(final String message) { super(message); } - public PaidContentException(String message, Throwable cause) { + public PaidContentException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ParsingException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ParsingException.java index 25774ccd..439022aa 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ParsingException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ParsingException.java @@ -22,11 +22,11 @@ package org.schabi.newpipe.extractor.exceptions; public class ParsingException extends ExtractionException { - public ParsingException(String message) { + public ParsingException(final String message) { super(message); } - public ParsingException(String message, Throwable cause) { + public ParsingException(final String message, final Throwable cause) { super(message, cause); } -} \ No newline at end of file +} diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PrivateContentException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PrivateContentException.java index e6a1b66c..72d2976d 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PrivateContentException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/PrivateContentException.java @@ -1,11 +1,11 @@ package org.schabi.newpipe.extractor.exceptions; public class PrivateContentException extends ContentNotAvailableException { - public PrivateContentException(String message) { + public PrivateContentException(final String message) { super(message); } - public PrivateContentException(String message, Throwable cause) { + public PrivateContentException(final String message, final Throwable cause) { super(message, cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ReCaptchaException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ReCaptchaException.java index 09c2a1c0..504ea8fe 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ReCaptchaException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/ReCaptchaException.java @@ -23,7 +23,7 @@ package org.schabi.newpipe.extractor.exceptions; public class ReCaptchaException extends ExtractionException { private String url; - public ReCaptchaException(String message, String url) { + public ReCaptchaException(final String message, final String url) { super(message); this.url = url; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/SoundCloudGoPlusContentException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/SoundCloudGoPlusContentException.java index 0b00e1fa..072624b5 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/SoundCloudGoPlusContentException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/SoundCloudGoPlusContentException.java @@ -5,7 +5,7 @@ public class SoundCloudGoPlusContentException extends ContentNotAvailableExcepti super("This track is a SoundCloud Go+ track"); } - public SoundCloudGoPlusContentException(Throwable cause) { + public SoundCloudGoPlusContentException(final Throwable cause) { super("This track is a SoundCloud Go+ track", cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/YoutubeMusicPremiumContentException.java b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/YoutubeMusicPremiumContentException.java index b57debb2..602f9e25 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/YoutubeMusicPremiumContentException.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/exceptions/YoutubeMusicPremiumContentException.java @@ -5,7 +5,7 @@ public class YoutubeMusicPremiumContentException extends ContentNotAvailableExce super("This video is a YouTube Music Premium video"); } - public YoutubeMusicPremiumContentException(Throwable cause) { + public YoutubeMusicPremiumContentException(final Throwable cause) { super("This video is a YouTube Music Premium video", cause); } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index 17e6b4ba..ffe0b04f 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -16,6 +16,7 @@ import org.schabi.newpipe.extractor.MetaInfo; import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.StreamingService; import org.schabi.newpipe.extractor.downloader.Downloader; +import org.schabi.newpipe.extractor.exceptions.AgeRestrictedContentException; import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.GeographicRestrictionException; @@ -735,6 +736,8 @@ public class YoutubeStreamExtractor extends StreamExtractor { if (message != null && message.equals("This is a private video. Please sign in to verify that you may see it.")) { throw new PrivateContentException("This video is private."); } + } else if (reason.equals("Sign in to confirm your age") && getAgeLimit() == 18) { + throw new AgeRestrictedContentException("This age-restricted video cannot be watched."); } } if (status.toLowerCase().equals("unplayable")) {