[Bandcamp] Null-safe url catenation in track playlist
Previously, if no URL was provided due to the track being a preorder or unpaid track that doesn't have its own public page, we would catenate the artist URL and null to a nonsensical string. This invalid URL would also be used to try fetching a thumbnail URL. The downstream behavior of the NewPipe client is only marginally improved, as it now no longer throws visible exceptions due to the missing thumbnails, but still gives an unfriendly error upon clicking the item that has a `null` URL.
This commit is contained in:
parent
4aaab63c12
commit
97955e5e41
|
@ -43,7 +43,12 @@ public class BandcampPlaylistStreamInfoItemExtractor extends BandcampStreamInfoI
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUrl() {
|
public String getUrl() {
|
||||||
return getUploaderUrl() + track.getString("title_link");
|
final String relativeUrl = track.getString("title_link");
|
||||||
|
if (relativeUrl != null) {
|
||||||
|
return getUploaderUrl() + relativeUrl;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,7 +71,7 @@ public class BandcampPlaylistStreamInfoItemExtractor extends BandcampStreamInfoI
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public List<Image> getThumbnails() throws ParsingException {
|
public List<Image> getThumbnails() throws ParsingException {
|
||||||
if (substituteCovers.isEmpty()) {
|
if (substituteCovers.isEmpty() && getUrl() != null) {
|
||||||
try {
|
try {
|
||||||
final StreamExtractor extractor = service.getStreamExtractor(getUrl());
|
final StreamExtractor extractor = service.getStreamExtractor(getUrl());
|
||||||
extractor.fetchPage();
|
extractor.fetchPage();
|
||||||
|
|
Loading…
Reference in New Issue