Skip to content

Commit 79e623d

Browse files
evermind-zzInfinityLoop1308
authored andcommitted
searchfilters: convert core components to new framework
1 parent 47ad26c commit 79e623d

7 files changed

Lines changed: 69 additions & 48 deletions

File tree

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
package org.schabi.newpipe.extractor;
22

3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
4+
35
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
46

57
import java.util.List;
68

79
public abstract class ListInfo<T extends InfoItem> extends Info {
810
private List<T> relatedItems;
911
private Page nextPage = null;
10-
private final List<String> contentFilters;
11-
private final String sortFilter;
12+
private final List<FilterItem> contentFilters;
13+
private final List<FilterItem> sortFilter;
1214

1315
public ListInfo(final int serviceId,
1416
final String id,
1517
final String url,
1618
final String originalUrl,
1719
final String name,
18-
final List<String> contentFilter,
19-
final String sortFilter) {
20+
final List<FilterItem> contentFilter,
21+
final List<FilterItem> sortFilter) {
2022
super(serviceId, id, url, originalUrl, name);
2123
this.contentFilters = contentFilter;
2224
this.sortFilter = sortFilter;
@@ -50,11 +52,11 @@ public void setNextPage(final Page page) {
5052
this.nextPage = page;
5153
}
5254

53-
public List<String> getContentFilters() {
55+
public List<FilterItem> getContentFilters() {
5456
return contentFilters;
5557
}
5658

57-
public String getSortFilter() {
59+
public List<FilterItem> getSortFilter() {
5860
return sortFilter;
5961
}
6062
}

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.schabi.newpipe.extractor;
22

3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
4+
35
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
46
import org.schabi.newpipe.extractor.comments.CommentsExtractor;
57
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
@@ -228,23 +230,24 @@ public abstract CommentsExtractor getCommentsExtractor(ListLinkHandler linkHandl
228230
//////////////////////////////////////////////////////////////////////////*/
229231

230232
public SearchExtractor getSearchExtractor(final String query,
231-
final List<String> contentFilter,
232-
final String sortFilter) throws ExtractionException {
233+
final List<FilterItem> contentFilter,
234+
final List<FilterItem> sortFilter)
235+
throws ExtractionException {
233236
return getSearchExtractor(getSearchQHFactory()
234237
.fromQuery(query, contentFilter, sortFilter));
235238
}
236239

237240
public ChannelExtractor getChannelExtractor(final String id,
238-
final List<String> contentFilter,
239-
final String sortFilter)
241+
final List<FilterItem> contentFilter,
242+
final List<FilterItem> sortFilter)
240243
throws ExtractionException {
241244
return getChannelExtractor(getChannelLHFactory()
242245
.fromQuery(id, contentFilter, sortFilter));
243246
}
244247

245248
public PlaylistExtractor getPlaylistExtractor(final String id,
246-
final List<String> contentFilter,
247-
final String sortFilter)
249+
final List<FilterItem> contentFilter,
250+
final List<FilterItem> sortFilter)
248251
throws ExtractionException {
249252
return getPlaylistExtractor(getPlaylistLHFactory()
250253
.fromQuery(id, contentFilter, sortFilter));

extractor/src/main/java/org/schabi/newpipe/extractor/feed/FeedInfo.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.schabi.newpipe.extractor.feed;
22

3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
4+
35
import org.schabi.newpipe.extractor.ListExtractor.InfoItemsPage;
46
import org.schabi.newpipe.extractor.ListInfo;
57
import org.schabi.newpipe.extractor.NewPipe;
@@ -8,6 +10,7 @@
810
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
911
import org.schabi.newpipe.extractor.utils.ExtractorHelper;
1012

13+
1114
import java.io.IOException;
1215
import java.util.List;
1316

@@ -18,8 +21,8 @@ public FeedInfo(final int serviceId,
1821
final String url,
1922
final String originalUrl,
2023
final String name,
21-
final List<String> contentFilter,
22-
final String sortFilter) {
24+
final List<FilterItem> contentFilter,
25+
final List<FilterItem> sortFilter) {
2326
super(serviceId, id, url, originalUrl, name, contentFilter, sortFilter);
2427
}
2528

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
package org.schabi.newpipe.extractor.linkhandler;
22

3-
import static org.schabi.newpipe.extractor.utils.Utils.EMPTY_STRING;
3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
44

55
import java.util.Collections;
66
import java.util.List;
77

88
public class ListLinkHandler extends LinkHandler {
9-
protected final List<String> contentFilters;
10-
protected final String sortFilter;
9+
protected final List<FilterItem> contentFilters;
10+
protected final List<FilterItem> sortFilter;
1111

1212
public ListLinkHandler(final String originalUrl,
1313
final String url,
1414
final String id,
15-
final List<String> contentFilters,
16-
final String sortFilter) {
15+
final List<FilterItem> selectedContentFilters,
16+
final List<FilterItem> selectedSortFilter) {
1717
super(originalUrl, url, id);
18-
this.contentFilters = Collections.unmodifiableList(contentFilters);
19-
this.sortFilter = sortFilter;
18+
this.contentFilters = Collections.unmodifiableList(selectedContentFilters);
19+
this.sortFilter = selectedSortFilter;
2020
}
2121

2222
public ListLinkHandler(final ListLinkHandler handler) {
@@ -32,14 +32,14 @@ public ListLinkHandler(final LinkHandler handler) {
3232
handler.url,
3333
handler.id,
3434
Collections.emptyList(),
35-
EMPTY_STRING);
35+
null);
3636
}
3737

38-
public List<String> getContentFilters() {
38+
public List<FilterItem> getContentFilters() {
3939
return contentFilters;
4040
}
4141

42-
public String getSortFilter() {
42+
public List<FilterItem> getSortFilter() {
4343
return sortFilter;
4444
}
4545
}

extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/ListLinkHandlerFactory.java

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.schabi.newpipe.extractor.linkhandler;
22

3+
import org.schabi.newpipe.extractor.search.filter.Filter;
4+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
5+
36
import org.schabi.newpipe.extractor.exceptions.ParsingException;
47
import org.schabi.newpipe.extractor.utils.Utils;
58

@@ -12,12 +15,12 @@ public abstract class ListLinkHandlerFactory extends LinkHandlerFactory {
1215
// To Override
1316
///////////////////////////////////
1417

15-
public abstract String getUrl(String id, List<String> contentFilter, String sortFilter)
18+
public abstract String getUrl(String id, List<FilterItem> contentFilter, List<FilterItem> sortFilter)
1619
throws ParsingException;
1720

1821
public String getUrl(final String id,
19-
final List<String> contentFilter,
20-
final String sortFilter,
22+
final List<FilterItem> contentFilter,
23+
final List<FilterItem> sortFilter,
2124
final String baseUrl) throws ParsingException {
2225
return getUrl(id, contentFilter, sortFilter);
2326
}
@@ -52,16 +55,16 @@ public ListLinkHandler fromId(final String id, final String baseUrl) throws Pars
5255
return new ListLinkHandler(super.fromId(id, baseUrl));
5356
}
5457

55-
public ListLinkHandler fromQuery(final String id,
56-
final List<String> contentFilters,
57-
final String sortFilter) throws ParsingException {
58-
final String url = getUrl(id, contentFilters, sortFilter);
59-
return new ListLinkHandler(url, url, id, contentFilters, sortFilter);
58+
public ListLinkHandler fromQuery(final String query,
59+
final List<FilterItem> contentFilter,
60+
final List<FilterItem> sortFilter) throws ParsingException {
61+
final String url = getUrl(query, contentFilter, sortFilter);
62+
return new ListLinkHandler(url, url, query, contentFilter, sortFilter);
6063
}
6164

6265
public ListLinkHandler fromQuery(final String id,
63-
final List<String> contentFilters,
64-
final String sortFilter,
66+
final List<FilterItem> contentFilters,
67+
final List<FilterItem> sortFilter,
6568
final String baseUrl) throws ParsingException {
6669
final String url = getUrl(id, contentFilters, sortFilter, baseUrl);
6770
return new ListLinkHandler(url, url, id, contentFilters, sortFilter);
@@ -75,12 +78,12 @@ public ListLinkHandler fromQuery(final String id,
7578
* @return the url corresponding to id without any filters applied
7679
*/
7780
public String getUrl(final String id) throws ParsingException {
78-
return getUrl(id, new ArrayList<>(0), "");
81+
return getUrl(id, new ArrayList<>(0), null);
7982
}
8083

8184
@Override
8285
public String getUrl(final String id, final String baseUrl) throws ParsingException {
83-
return getUrl(id, new ArrayList<>(0), "", baseUrl);
86+
return getUrl(id, new ArrayList<>(0), null, baseUrl);
8487
}
8588

8689
/**
@@ -89,8 +92,8 @@ public String getUrl(final String id, final String baseUrl) throws ParsingExcept
8992
*
9093
* @return filter that can be applied when building a query for getting a list
9194
*/
92-
public String[] getAvailableContentFilter() {
93-
return new String[0];
95+
public Filter getAvailableContentFilter() {
96+
return null;
9497
}
9598

9699
/**
@@ -99,7 +102,15 @@ public String[] getAvailableContentFilter() {
99102
*
100103
* @return filter that can be applied when building a query for getting a list
101104
*/
102-
public String[] getAvailableSortFilter() {
103-
return new String[0];
105+
public Filter getAvailableSortFilter() {
106+
return null;
107+
}
108+
109+
public Filter getContentFilterSortFilterVariant(final int contentFilterId) {
110+
return null;
111+
}
112+
113+
public FilterItem getFilterItem(final int filterId) {
114+
return null;
104115
}
105116
}

extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package org.schabi.newpipe.extractor.linkhandler;
22

3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
4+
35
import java.util.List;
46

57
public class SearchQueryHandler extends ListLinkHandler {
68

79
public SearchQueryHandler(final String originalUrl,
810
final String url,
911
final String searchString,
10-
final List<String> contentFilters,
11-
final String sortFilter) {
12+
final List<FilterItem> contentFilters,
13+
final List<FilterItem> sortFilter) {
1214
super(originalUrl, url, searchString, contentFilters, sortFilter);
1315
}
1416

extractor/src/main/java/org/schabi/newpipe/extractor/linkhandler/SearchQueryHandlerFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.schabi.newpipe.extractor.linkhandler;
22

3-
import static org.schabi.newpipe.extractor.utils.Utils.EMPTY_STRING;
3+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
44

55
import org.schabi.newpipe.extractor.exceptions.ParsingException;
66

@@ -14,8 +14,8 @@ public abstract class SearchQueryHandlerFactory extends ListLinkHandlerFactory {
1414
///////////////////////////////////
1515

1616
@Override
17-
public abstract String getUrl(String query, List<String> contentFilter, String sortFilter)
18-
throws ParsingException;
17+
public abstract String getUrl(String query, List<FilterItem> selectedContentFilter,
18+
List<FilterItem> selectedSortFilter) throws ParsingException;
1919

2020
@SuppressWarnings("unused")
2121
public String getSearchString(final String url) {
@@ -33,13 +33,13 @@ public String getId(final String url) {
3333

3434
@Override
3535
public SearchQueryHandler fromQuery(final String query,
36-
final List<String> contentFilter,
37-
final String sortFilter) throws ParsingException {
36+
final List<FilterItem> contentFilter,
37+
final List<FilterItem> sortFilter) throws ParsingException {
3838
return new SearchQueryHandler(super.fromQuery(query, contentFilter, sortFilter));
3939
}
4040

4141
public SearchQueryHandler fromQuery(final String query) throws ParsingException {
42-
return fromQuery(query, Collections.emptyList(), EMPTY_STRING);
42+
return fromQuery(query, Collections.emptyList(), null);
4343
}
4444

4545
/**

0 commit comments

Comments
 (0)