Skip to content

Commit 824486d

Browse files
authored
Merge pull request #1449 from dustdfg/enumset_mediacaps
Use EnumSet instead of List for MediaCapabilities inside Service
2 parents ba70ea7 + a5aa7a0 commit 824486d

6 files changed

Lines changed: 17 additions & 15 deletions

File tree

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import javax.annotation.Nullable;
2828
import java.util.Collections;
2929
import java.util.List;
30+
import java.util.Set;
3031

3132
/*
3233
* Copyright (C) 2018 Christian Schabesberger <chris.schabesberger@mailbox.org>
@@ -54,23 +55,23 @@ public abstract class StreamingService {
5455
public static class ServiceInfo {
5556
private final String name;
5657

57-
private final List<MediaCapability> mediaCapabilities;
58+
private final Set<MediaCapability> mediaCapabilities;
5859

5960
/**
6061
* Creates a new instance of a ServiceInfo
6162
* @param name the name of the service
6263
* @param mediaCapabilities the type of media this service can handle
6364
*/
64-
public ServiceInfo(final String name, final List<MediaCapability> mediaCapabilities) {
65+
public ServiceInfo(final String name, final Set<MediaCapability> mediaCapabilities) {
6566
this.name = name;
66-
this.mediaCapabilities = Collections.unmodifiableList(mediaCapabilities);
67+
this.mediaCapabilities = mediaCapabilities;
6768
}
6869

6970
public String getName() {
7071
return name;
7172
}
7273

73-
public List<MediaCapability> getMediaCapabilities() {
74+
public Set<MediaCapability> getMediaCapabilities() {
7475
return mediaCapabilities;
7576
}
7677

@@ -104,7 +105,7 @@ public enum LinkType {
104105
*/
105106
public StreamingService(final int id,
106107
final String name,
107-
final List<ServiceInfo.MediaCapability> capabilities) {
108+
final Set<ServiceInfo.MediaCapability> capabilities) {
108109
this.serviceId = id;
109110
this.serviceInfo = new ServiceInfo(name, capabilities);
110111
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@
4747
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
4848
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
4949

50-
import java.util.Arrays;
50+
import java.util.EnumSet;
5151

5252
public class BandcampService extends StreamingService {
5353

5454
public BandcampService(final int id) {
55-
super(id, "Bandcamp", Arrays.asList(AUDIO, COMMENTS));
55+
super(id, "Bandcamp", EnumSet.of(AUDIO, COMMENTS));
5656
}
5757

5858
@Override

extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
44
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
5-
import static java.util.Arrays.asList;
65

76
import org.schabi.newpipe.extractor.StreamingService;
87
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,9 +37,11 @@
3837
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
3938
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
4039

40+
import java.util.EnumSet;
41+
4142
public class MediaCCCService extends StreamingService {
4243
public MediaCCCService(final int id) {
43-
super(id, "media.ccc.de", asList(AUDIO, VIDEO));
44+
super(id, "media.ccc.de", EnumSet.of(AUDIO, VIDEO));
4445
}
4546

4647
@Override

extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/PeertubeService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
44
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
5-
import static java.util.Arrays.asList;
65

76
import org.schabi.newpipe.extractor.StreamingService;
87
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,6 +37,7 @@
3837
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
3938
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
4039

40+
import java.util.EnumSet;
4141
import java.util.List;
4242

4343
public class PeertubeService extends StreamingService {
@@ -49,7 +49,7 @@ public PeertubeService(final int id) {
4949
}
5050

5151
public PeertubeService(final int id, final PeertubeInstance instance) {
52-
super(id, "PeerTube", asList(VIDEO, COMMENTS));
52+
super(id, "PeerTube", EnumSet.of(VIDEO, COMMENTS));
5353
this.instance = instance;
5454
}
5555

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
44
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
5-
import static java.util.Arrays.asList;
65

76
import org.schabi.newpipe.extractor.StreamingService;
87
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,12 +37,13 @@
3837
import org.schabi.newpipe.extractor.stream.StreamExtractor;
3938
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
4039

40+
import java.util.EnumSet;
4141
import java.util.List;
4242

4343
public class SoundcloudService extends StreamingService {
4444

4545
public SoundcloudService(final int id) {
46-
super(id, "SoundCloud", asList(AUDIO, COMMENTS));
46+
super(id, "SoundCloud", EnumSet.of(AUDIO, COMMENTS));
4747
}
4848

4949
@Override

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
55
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.LIVE;
66
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
7-
import static java.util.Arrays.asList;
87

98
import org.schabi.newpipe.extractor.StreamingService;
109
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -57,6 +56,7 @@
5756
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
5857
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
5958

59+
import java.util.EnumSet;
6060
import java.util.List;
6161

6262
import javax.annotation.Nonnull;
@@ -84,7 +84,7 @@
8484
public class YoutubeService extends StreamingService {
8585

8686
public YoutubeService(final int id) {
87-
super(id, "YouTube", asList(AUDIO, VIDEO, LIVE, COMMENTS));
87+
super(id, "YouTube", EnumSet.of(AUDIO, VIDEO, LIVE, COMMENTS));
8888
}
8989

9090
@Override

0 commit comments

Comments
 (0)