Skip to content

Commit 857c181

Browse files
author
Yevhen Babiichuk (DustDFG)
committed
Use EnumSet instead of List for MediaCapabilities inside Service
1 parent 592b5ca commit 857c181

6 files changed

Lines changed: 18 additions & 15 deletions

File tree

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626

2727
import javax.annotation.Nullable;
2828
import java.util.Collections;
29+
import java.util.EnumSet;
2930
import java.util.List;
31+
import java.util.Set;
3032

3133
/*
3234
* Copyright (C) 2018 Christian Schabesberger <chris.schabesberger@mailbox.org>
@@ -54,23 +56,23 @@ public abstract class StreamingService {
5456
public static class ServiceInfo {
5557
private final String name;
5658

57-
private final List<MediaCapability> mediaCapabilities;
59+
private final EnumSet<MediaCapability> mediaCapabilities;
5860

5961
/**
6062
* Creates a new instance of a ServiceInfo
6163
* @param name the name of the service
6264
* @param mediaCapabilities the type of media this service can handle
6365
*/
64-
public ServiceInfo(final String name, final List<MediaCapability> mediaCapabilities) {
66+
public ServiceInfo(final String name, final EnumSet<MediaCapability> mediaCapabilities) {
6567
this.name = name;
66-
this.mediaCapabilities = Collections.unmodifiableList(mediaCapabilities);
68+
this.mediaCapabilities = mediaCapabilities;
6769
}
6870

6971
public String getName() {
7072
return name;
7173
}
7274

73-
public List<MediaCapability> getMediaCapabilities() {
75+
public Set<MediaCapability> getMediaCapabilities() {
7476
return mediaCapabilities;
7577
}
7678

@@ -104,7 +106,7 @@ public enum LinkType {
104106
*/
105107
public StreamingService(final int id,
106108
final String name,
107-
final List<ServiceInfo.MediaCapability> capabilities) {
109+
final EnumSet<ServiceInfo.MediaCapability> capabilities) {
108110
this.serviceId = id;
109111
this.serviceInfo = new ServiceInfo(name, capabilities);
110112
}

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)