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 000000000..b11c9d67b --- /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 4f5e37ec1..15e585c44 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 c32575b45..9242c2fc5 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 263b78112..d52a78ef8 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 2828a521d..66e9b7f46 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 23ba31aa9..6e5558233 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 f49c75046..144675101 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 25774ccd6..439022aac 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 e6a1b66c8..72d2976d1 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 09c2a1c05..504ea8fe0 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 0b00e1fa8..072624b51 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 b57debb2b..602f9e259 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 17e6b4bac..ffe0b04fc 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")) {