46 lines
1.8 KiB
Java
46 lines
1.8 KiB
Java
package org.schabi.newpipe.extractor.services.youtube.linkHandler;
|
|
|
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
|
import org.schabi.newpipe.extractor.linkhandler.SearchQueryHandlerFactory;
|
|
import org.schabi.newpipe.extractor.search.filter.FilterItem;
|
|
import org.schabi.newpipe.extractor.services.youtube.search.filter.YoutubeFilters;
|
|
|
|
import java.util.List;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
public final class YoutubeSearchQueryHandlerFactory extends SearchQueryHandlerFactory {
|
|
|
|
public static final String ALL = "all";
|
|
public static final String VIDEOS = "videos";
|
|
public static final String CHANNELS = "channels";
|
|
public static final String PLAYLISTS = "playlists";
|
|
|
|
public static final String MUSIC_SONGS = "music_songs";
|
|
public static final String MUSIC_VIDEOS = "music_videos";
|
|
public static final String MUSIC_ALBUMS = "music_albums";
|
|
public static final String MUSIC_PLAYLISTS = "music_playlists";
|
|
public static final String MUSIC_ARTISTS = "music_artists";
|
|
|
|
private static final YoutubeSearchQueryHandlerFactory INSTANCE =
|
|
new YoutubeSearchQueryHandlerFactory();
|
|
|
|
private YoutubeSearchQueryHandlerFactory() {
|
|
super(new YoutubeFilters());
|
|
}
|
|
|
|
@Nonnull
|
|
public static YoutubeSearchQueryHandlerFactory getInstance() {
|
|
return INSTANCE;
|
|
}
|
|
|
|
@Override
|
|
public String getUrl(final String searchString,
|
|
@Nonnull final List<FilterItem> selectedContentFilter,
|
|
final List<FilterItem> selectedSortFilter) throws ParsingException {
|
|
searchFilters.setSelectedContentFilter(selectedContentFilter);
|
|
searchFilters.setSelectedSortFilter(selectedSortFilter);
|
|
return searchFilters.evaluateSelectedFilters(searchString);
|
|
}
|
|
}
|