Skip to content

Commit dc109d7

Browse files
committed
Fix bugs and present some in the future
1 parent 775011d commit dc109d7

33 files changed

Lines changed: 178 additions & 84 deletions

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies {
1313
implementation 'com.grack:nanojson:1.1'
1414
implementation 'org.jsoup:jsoup:1.9.2'
1515
implementation 'org.mozilla:rhino:1.7.7.1'
16-
16+
implementation 'com.github.spotbugs:spotbugs:3.1.0'
1717
testImplementation 'junit:junit:4.12'
1818
}
1919

src/main/java/org/schabi/newpipe/extractor/Extractor.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
44
import org.schabi.newpipe.extractor.exceptions.ParsingException;
55

6+
import javax.annotation.Nonnull;
7+
import javax.annotation.Nullable;
68
import java.io.IOException;
79

810
public abstract class Extractor {
@@ -29,6 +31,7 @@ public abstract class Extractor {
2931
* <p>
3032
* Is lazily-cleaned by calling {@link #getCleanUrl()}
3133
*/
34+
@Nullable
3235
private String cleanUrl;
3336

3437
public Extractor(StreamingService service, String url) throws ExtractionException {
@@ -41,16 +44,26 @@ public Extractor(StreamingService service, String url) throws ExtractionExceptio
4144
/**
4245
* @return a {@link UrlIdHandler} of the current extractor type (e.g. a ChannelExtractor should return a channel url handler).
4346
*/
47+
@Nonnull
4448
protected abstract UrlIdHandler getUrlIdHandler() throws ParsingException;
4549

4650
/**
4751
* Fetch the current page.
4852
*/
4953
public abstract void fetchPage() throws IOException, ExtractionException;
5054

55+
@Nonnull
5156
public abstract String getId() throws ParsingException;
57+
58+
/**
59+
* Get the name
60+
* @return the name
61+
* @throws ParsingException if the name cannot be extracted
62+
*/
63+
@Nonnull
5264
public abstract String getName() throws ParsingException;
5365

66+
@Nonnull
5467
public String getOriginalUrl() {
5568
return originalUrl;
5669
}
@@ -59,6 +72,7 @@ public String getOriginalUrl() {
5972
* Get a clean url and as a fallback the original url.
6073
* @return the clean url or the original url
6174
*/
75+
@Nonnull
6276
public String getCleanUrl() {
6377
if (cleanUrl != null && !cleanUrl.isEmpty()) return cleanUrl;
6478

@@ -72,6 +86,7 @@ public String getCleanUrl() {
7286
return cleanUrl;
7387
}
7488

89+
@Nonnull
7590
public StreamingService getService() {
7691
return service;
7792
}

src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
77
import org.schabi.newpipe.extractor.exceptions.ParsingException;
88

9+
import javax.annotation.Nonnull;
910
import java.io.IOException;
1011

1112
/*
@@ -34,6 +35,7 @@ public ChannelExtractor(StreamingService service, String url, String nextStreams
3435
super(service, url, nextStreamsUrl);
3536
}
3637

38+
@Nonnull
3739
@Override
3840
protected UrlIdHandler getUrlIdHandler() throws ParsingException {
3941
return getService().getChannelUrlIdHandler();

src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@
77
import org.schabi.newpipe.extractor.StreamingService;
88
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
99
import org.schabi.newpipe.extractor.exceptions.ParsingException;
10-
import org.schabi.newpipe.extractor.stream.StreamInfoItemCollector;
1110
import org.schabi.newpipe.extractor.utils.ExtractorHelper;
1211

1312
import java.io.IOException;
14-
import java.util.ArrayList;
1513

1614
/*
1715
* Created by Christian Schabesberger on 31.07.16.

src/main/java/org/schabi/newpipe/extractor/kiosk/KioskExtractor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
2626
import org.schabi.newpipe.extractor.exceptions.ParsingException;
2727

28+
import javax.annotation.Nonnull;
2829
import java.io.IOException;
2930

3031
public abstract class KioskExtractor extends ListExtractor {
@@ -51,6 +52,7 @@ public void setContentCountry(String contentCountry) {
5152
}
5253

5354

55+
@Nonnull
5456
@Override
5557
public String getId() throws ParsingException {
5658
return id;
@@ -64,6 +66,7 @@ public String getId() throws ParsingException {
6466
* @return the tranlsated version of id
6567
* @throws ParsingException
6668
*/
69+
@Nonnull
6770
@Override
6871
public abstract String getName() throws ParsingException;
6972

src/main/java/org/schabi/newpipe/extractor/kiosk/KioskList.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package org.schabi.newpipe.extractor.kiosk;
22

33
import org.schabi.newpipe.extractor.NewPipe;
4-
import org.schabi.newpipe.extractor.ServiceList;
54
import org.schabi.newpipe.extractor.StreamingService;
65
import org.schabi.newpipe.extractor.UrlIdHandler;
76
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
87

9-
import java.io.IOError;
108
import java.io.IOException;
119
import java.util.HashMap;
1210
import java.util.Map;
13-
import java.util.Random;
1411
import java.util.Set;
1512

1613
public class KioskList {

src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistExtractor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
77
import org.schabi.newpipe.extractor.exceptions.ParsingException;
88

9+
import javax.annotation.Nonnull;
910
import java.io.IOException;
1011

1112
public abstract class PlaylistExtractor extends ListExtractor {
@@ -14,6 +15,7 @@ public PlaylistExtractor(StreamingService service, String url, String nextStream
1415
super(service, url, nextStreamsUrl);
1516
}
1617

18+
@Nonnull
1719
@Override
1820
protected UrlIdHandler getUrlIdHandler() throws ParsingException {
1921
return getService().getPlaylistUrlIdHandler();

src/main/java/org/schabi/newpipe/extractor/playlist/PlaylistInfo.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.schabi.newpipe.extractor.ListExtractor.NextItemsResult;
55
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
66
import org.schabi.newpipe.extractor.exceptions.ParsingException;
7-
import org.schabi.newpipe.extractor.utils.ExtractorHelper;
87

98
import java.io.IOException;
109

src/main/java/org/schabi/newpipe/extractor/search/SearchResult.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import org.schabi.newpipe.extractor.InfoItem;
44
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
55

6+
import javax.annotation.Nonnull;
67
import java.io.IOException;
78
import java.util.ArrayList;
8-
import java.util.Collection;
99
import java.util.Collections;
1010
import java.util.List;
1111

@@ -32,7 +32,9 @@
3232
public class SearchResult {
3333
private final int serviceId;
3434
public final String suggestion;
35+
@Nonnull
3536
public final List<InfoItem> resultList;
37+
@Nonnull
3638
public final List<Throwable> errors;
3739

3840
public SearchResult(int serviceId, String suggestion, List<InfoItem> results, List<Throwable> errors) {
@@ -66,10 +68,12 @@ public String getSuggestion() {
6668
}
6769

6870

71+
@Nonnull
6972
public List<InfoItem> getResults() {
7073
return Collections.unmodifiableList(resultList);
7174
}
7275

76+
@Nonnull
7377
public List<Throwable> getErrors() {
7478
return errors;
7579
}

src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelExtractor.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.schabi.newpipe.extractor.exceptions.ParsingException;
1212
import org.schabi.newpipe.extractor.stream.StreamInfoItemCollector;
1313

14+
import javax.annotation.Nonnull;
1415
import java.io.IOException;
1516

1617
@SuppressWarnings("WeakerAccess")
@@ -38,16 +39,19 @@ public void fetchPage() throws IOException, ExtractionException {
3839
}
3940
}
4041

42+
@Nonnull
4143
@Override
4244
public String getCleanUrl() {
4345
return user.isString("permalink_url") ? user.getString("permalink_url") : getOriginalUrl();
4446
}
4547

48+
@Nonnull
4649
@Override
4750
public String getId() {
4851
return userId;
4952
}
5053

54+
@Nonnull
5155
@Override
5256
public String getName() {
5357
return user.getString("username");

0 commit comments

Comments
 (0)