Merge pull request #1449 from dustdfg/enumset_mediacaps

Use EnumSet instead of List for MediaCapabilities inside Service
This commit is contained in:
Tobi
2026-02-21 07:53:52 -08:00
committed by GitHub
6 changed files with 17 additions and 15 deletions

View File

@@ -27,6 +27,7 @@ import org.schabi.newpipe.extractor.utils.Utils;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.List;
import java.util.Set;
/*
* Copyright (C) 2018 Christian Schabesberger <chris.schabesberger@mailbox.org>
@@ -54,23 +55,23 @@ public abstract class StreamingService {
public static class ServiceInfo {
private final String name;
private final List<MediaCapability> mediaCapabilities;
private final Set<MediaCapability> mediaCapabilities;
/**
* Creates a new instance of a ServiceInfo
* @param name the name of the service
* @param mediaCapabilities the type of media this service can handle
*/
public ServiceInfo(final String name, final List<MediaCapability> mediaCapabilities) {
public ServiceInfo(final String name, final Set<MediaCapability> mediaCapabilities) {
this.name = name;
this.mediaCapabilities = Collections.unmodifiableList(mediaCapabilities);
this.mediaCapabilities = mediaCapabilities;
}
public String getName() {
return name;
}
public List<MediaCapability> getMediaCapabilities() {
public Set<MediaCapability> getMediaCapabilities() {
return mediaCapabilities;
}
@@ -104,7 +105,7 @@ public abstract class StreamingService {
*/
public StreamingService(final int id,
final String name,
final List<ServiceInfo.MediaCapability> capabilities) {
final Set<ServiceInfo.MediaCapability> capabilities) {
this.serviceId = id;
this.serviceInfo = new ServiceInfo(name, capabilities);
}

View File

@@ -47,12 +47,12 @@ import org.schabi.newpipe.extractor.stream.StreamExtractor;
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
import java.util.Arrays;
import java.util.EnumSet;
public class BandcampService extends StreamingService {
public BandcampService(final int id) {
super(id, "Bandcamp", Arrays.asList(AUDIO, COMMENTS));
super(id, "Bandcamp", EnumSet.of(AUDIO, COMMENTS));
}
@Override

View File

@@ -2,7 +2,6 @@ package org.schabi.newpipe.extractor.services.media_ccc;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
import static java.util.Arrays.asList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,9 +37,11 @@ import org.schabi.newpipe.extractor.stream.StreamExtractor;
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
import java.util.EnumSet;
public class MediaCCCService extends StreamingService {
public MediaCCCService(final int id) {
super(id, "media.ccc.de", asList(AUDIO, VIDEO));
super(id, "media.ccc.de", EnumSet.of(AUDIO, VIDEO));
}
@Override

View File

@@ -2,7 +2,6 @@ package org.schabi.newpipe.extractor.services.peertube;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
import static java.util.Arrays.asList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,6 +37,7 @@ import org.schabi.newpipe.extractor.stream.StreamExtractor;
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
import java.util.EnumSet;
import java.util.List;
public class PeertubeService extends StreamingService {
@@ -49,7 +49,7 @@ public class PeertubeService extends StreamingService {
}
public PeertubeService(final int id, final PeertubeInstance instance) {
super(id, "PeerTube", asList(VIDEO, COMMENTS));
super(id, "PeerTube", EnumSet.of(VIDEO, COMMENTS));
this.instance = instance;
}

View File

@@ -2,7 +2,6 @@ package org.schabi.newpipe.extractor.services.soundcloud;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
import static java.util.Arrays.asList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -38,12 +37,13 @@ import org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSt
import org.schabi.newpipe.extractor.stream.StreamExtractor;
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
import java.util.EnumSet;
import java.util.List;
public class SoundcloudService extends StreamingService {
public SoundcloudService(final int id) {
super(id, "SoundCloud", asList(AUDIO, COMMENTS));
super(id, "SoundCloud", EnumSet.of(AUDIO, COMMENTS));
}
@Override

View File

@@ -4,7 +4,6 @@ import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCap
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.COMMENTS;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.LIVE;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
import static java.util.Arrays.asList;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
@@ -57,6 +56,7 @@ import org.schabi.newpipe.extractor.stream.StreamExtractor;
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
import java.util.EnumSet;
import java.util.List;
import javax.annotation.Nonnull;
@@ -84,7 +84,7 @@ import javax.annotation.Nonnull;
public class YoutubeService extends StreamingService {
public YoutubeService(final int id) {
super(id, "YouTube", asList(AUDIO, VIDEO, LIVE, COMMENTS));
super(id, "YouTube", EnumSet.of(AUDIO, VIDEO, LIVE, COMMENTS));
}
@Override