Add some missing finals, nullables and comments
This commit is contained in:
parent
f11fe87688
commit
57e7994c9e
|
@ -12,9 +12,9 @@ public final class MediaCCCParsingHelper {
|
|||
private MediaCCCParsingHelper() { }
|
||||
|
||||
public static Calendar parseDateFrom(final String textualUploadDate) throws ParsingException {
|
||||
Date date;
|
||||
final Date date;
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
date = sdf.parse(textualUploadDate);
|
||||
} catch (ParseException e) {
|
||||
|
|
|
@ -30,6 +30,7 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class MediaCCCStreamExtractor extends StreamExtractor {
|
||||
private JsonObject data;
|
||||
|
@ -217,6 +218,7 @@ public class MediaCCCStreamExtractor extends StreamExtractor {
|
|||
return StreamType.VIDEO_STREAM;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public StreamInfoItemsCollector getRelatedStreams() {
|
||||
return null;
|
||||
|
|
|
@ -96,7 +96,8 @@ public class PeertubeAccountExtractor extends ChannelExtractor {
|
|||
}
|
||||
|
||||
@Override
|
||||
public InfoItemsPage<StreamInfoItem> getPage(final Page page) throws IOException, ExtractionException {
|
||||
public InfoItemsPage<StreamInfoItem> getPage(final Page page)
|
||||
throws IOException, ExtractionException {
|
||||
if (page == null || isNullOrEmpty(page.getUrl())) {
|
||||
throw new IllegalArgumentException("Page doesn't contain an URL");
|
||||
}
|
||||
|
@ -126,7 +127,8 @@ public class PeertubeAccountExtractor extends ChannelExtractor {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
|
||||
public void onFetchPage(@Nonnull final Downloader downloader)
|
||||
throws IOException, ExtractionException {
|
||||
String accountUrl = baseUrl + PeertubeChannelLinkHandlerFactory.API_ENDPOINT;
|
||||
if (getId().contains("accounts/")) {
|
||||
accountUrl += getId();
|
||||
|
|
|
@ -38,6 +38,7 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class PeertubeStreamExtractor extends StreamExtractor {
|
||||
private final String baseUrl;
|
||||
|
@ -113,7 +114,7 @@ public class PeertubeStreamExtractor extends StreamExtractor {
|
|||
|
||||
@Override
|
||||
public long getTimeStamp() throws ParsingException {
|
||||
long timestamp =
|
||||
final long timestamp =
|
||||
getTimestampSeconds("((#|&|\\?)start=\\d{0,3}h?\\d{0,3}m?\\d{1,3}s?)");
|
||||
|
||||
if (timestamp == -2) {
|
||||
|
@ -261,19 +262,24 @@ public class PeertubeStreamExtractor extends StreamExtractor {
|
|||
return StreamType.VIDEO_STREAM;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public StreamInfoItemsCollector getRelatedStreams() throws IOException, ExtractionException {
|
||||
final StreamInfoItemsCollector collector = new StreamInfoItemsCollector(getServiceId());
|
||||
final List<String> tags = getTags();
|
||||
final String apiUrl;
|
||||
if (!tags.isEmpty()) {
|
||||
apiUrl = getRelatedStreamsUrl(tags);
|
||||
|
||||
} else {
|
||||
if (tags.isEmpty()) {
|
||||
apiUrl = getUploaderUrl() + "/videos?start=0&count=8";
|
||||
} else {
|
||||
apiUrl = getRelatedStreamsUrl(tags);
|
||||
}
|
||||
|
||||
if (Utils.isBlank(apiUrl)) {
|
||||
return null;
|
||||
} else {
|
||||
final StreamInfoItemsCollector collector = new StreamInfoItemsCollector(getServiceId());
|
||||
getStreamsFromApi(collector, apiUrl);
|
||||
return collector;
|
||||
}
|
||||
if (!Utils.isBlank(apiUrl)) getStreamsFromApi(collector, apiUrl);
|
||||
return collector;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
|
|
|
@ -33,6 +33,7 @@ import java.util.List;
|
|||
import java.util.Locale;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.schabi.newpipe.extractor.utils.JsonUtils.EMPTY_STRING;
|
||||
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
|
||||
|
@ -262,6 +263,7 @@ public class SoundcloudStreamExtractor extends StreamExtractor {
|
|||
return StreamType.AUDIO_STREAM;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public StreamInfoItemsCollector getRelatedStreams() throws IOException, ExtractionException {
|
||||
final StreamInfoItemsCollector collector = new StreamInfoItemsCollector(getServiceId());
|
||||
|
|
|
@ -183,9 +183,9 @@ public class YoutubeParsingHelper {
|
|||
}
|
||||
|
||||
public static Calendar parseDateFrom(String textualUploadDate) throws ParsingException {
|
||||
Date date;
|
||||
final Date date;
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
date = sdf.parse(textualUploadDate);
|
||||
} catch (ParseException e) {
|
||||
|
|
|
@ -576,11 +576,14 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
|||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public StreamInfoItemsCollector getRelatedStreams() throws ExtractionException {
|
||||
assertPageFetched();
|
||||
|
||||
if (getAgeLimit() != NO_AGE_LIMIT) return null;
|
||||
if (getAgeLimit() != NO_AGE_LIMIT) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
final StreamInfoItemsCollector collector = new StreamInfoItemsCollector(getServiceId());
|
||||
|
|
|
@ -321,6 +321,7 @@ public abstract class StreamExtractor extends Extractor {
|
|||
* @throws IOException
|
||||
* @throws ExtractionException
|
||||
*/
|
||||
@Nullable
|
||||
public abstract StreamInfoItemsCollector getRelatedStreams() throws IOException, ExtractionException;
|
||||
|
||||
/**
|
||||
|
|
|
@ -249,6 +249,7 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
assertFalse(stream.getResolution().isEmpty());
|
||||
|
||||
final int formatId = stream.getFormatId();
|
||||
// see MediaFormat: video stream formats range from 0 to 0x100
|
||||
assertTrue("format id does not fit a video stream: " + formatId,
|
||||
0 <= formatId && formatId < 0x100);
|
||||
}
|
||||
|
@ -270,6 +271,7 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
assertIsSecureUrl(stream.getUrl());
|
||||
|
||||
final int formatId = stream.getFormatId();
|
||||
// see MediaFormat: video stream formats range from 0x100 to 0x1000
|
||||
assertTrue("format id does not fit an audio stream: " + formatId,
|
||||
0x100 <= formatId && formatId < 0x1000);
|
||||
}
|
||||
|
@ -291,6 +293,7 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
assertIsSecureUrl(stream.getUrl());
|
||||
|
||||
final int formatId = stream.getFormatId();
|
||||
// see MediaFormat: video stream formats range from 0x1000 to 0x10000
|
||||
assertTrue("format id does not fit a subtitles stream: " + formatId,
|
||||
0x1000 <= formatId && formatId < 0x10000);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue