Skip to content

Commit 2ef63ef

Browse files
committed
Make it really old Android compatible
1 parent 2168f48 commit 2ef63ef

File tree

11 files changed

+36
-35
lines changed

11 files changed

+36
-35
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static org.schabi.newpipe.extractor.utils.Utils.HTTPS;
2626
import static org.schabi.newpipe.extractor.utils.Utils.getStringResultFromRegexArray;
2727
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
28+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
2829

2930
import com.grack.nanojson.JsonArray;
3031
import com.grack.nanojson.JsonBuilder;
@@ -56,7 +57,6 @@
5657
import java.io.UnsupportedEncodingException;
5758
import java.net.MalformedURLException;
5859
import java.net.URL;
59-
import java.nio.charset.StandardCharsets;
6060
import java.security.SecureRandom;
6161
import java.time.LocalDate;
6262
import java.time.OffsetDateTime;
@@ -556,7 +556,7 @@ public static boolean areHardcodedClientVersionAndKeyValid()
556556
.end()
557557
.value("fetchLiveState", true)
558558
.end()
559-
.end().done().getBytes(StandardCharsets.UTF_8);
559+
.end().done().getBytes(UTF_8);
560560
// @formatter:on
561561

562562
final var headers = getClientHeaders("1", HARDCODED_CLIENT_VERSION);
@@ -797,7 +797,7 @@ public static boolean isHardcodedYoutubeMusicKeyValid() throws IOException,
797797
.end()
798798
.end()
799799
.value("input", "")
800-
.end().done().getBytes(StandardCharsets.UTF_8);
800+
.end().done().getBytes(UTF_8);
801801
// @formatter:on
802802

803803
final var headers = new HashMap<>(getOriginReferrerHeaders(YOUTUBE_MUSIC_URL));
@@ -1228,7 +1228,7 @@ public static Page getNextPageFromContinuationItemRenderer(final JsonObject item
12281228
final byte[] body = JsonWriter
12291229
.string(prepareDesktopJsonBuilder(localization, contentCountry)
12301230
.value("continuation", token).done())
1231-
.getBytes(StandardCharsets.UTF_8);
1231+
.getBytes(UTF_8);
12321232

12331233
return new Page(YOUTUBEI_V1_URL + "browse?key=" + getKey() + DISABLE_PRETTY_PRINT_PARAMETER,
12341234
body);
@@ -1435,7 +1435,7 @@ public static byte[] createDesktopPlayerBody(
14351435
.value(CONTENT_CHECK_OK, true)
14361436
.value(RACY_CHECK_OK, true)
14371437
.done())
1438-
.getBytes(StandardCharsets.UTF_8);
1438+
.getBytes(UTF_8);
14391439
// @formatter:on
14401440
}
14411441

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/dashmanifestcreators/YoutubeDashManifestCreatorsUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isTvHtml5SimplyEmbeddedPlayerStreamingUrl;
99
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isWebStreamingUrl;
1010
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
11+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1112

1213
import org.schabi.newpipe.extractor.MediaFormat;
1314
import org.schabi.newpipe.extractor.NewPipe;
@@ -25,7 +26,6 @@
2526

2627
import java.io.IOException;
2728
import java.io.StringWriter;
28-
import java.nio.charset.StandardCharsets;
2929
import java.util.List;
3030
import java.util.Locale;
3131
import java.util.Map;
@@ -623,7 +623,7 @@ public static Response getInitializationResponse(@Nonnull String baseStreamingUr
623623
final var headers = Map.of("User-Agent",
624624
List.of(isAndroidStreamingUrl ? getAndroidUserAgent(null)
625625
: getIosUserAgent(null)));
626-
final byte[] emptyBody = "".getBytes(StandardCharsets.UTF_8);
626+
final byte[] emptyBody = "".getBytes(UTF_8);
627627
return downloader.post(baseStreamingUrl, headers, emptyBody);
628628
} catch (final IOException | ExtractionException e) {
629629
throw new CreationException("Could not get the "

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTextFromObject;
88
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
99
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
10+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1011

1112
import com.grack.nanojson.JsonArray;
1213
import com.grack.nanojson.JsonObject;
@@ -29,7 +30,6 @@
2930
import org.schabi.newpipe.extractor.utils.Utils;
3031

3132
import java.io.IOException;
32-
import java.nio.charset.StandardCharsets;
3333
import java.util.ArrayList;
3434
import java.util.List;
3535
import java.util.Optional;
@@ -95,7 +95,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
9595
getExtractorLocalization(), getExtractorContentCountry())
9696
.value("url", "https://www.youtube.com/" + channelPath)
9797
.done())
98-
.getBytes(StandardCharsets.UTF_8);
98+
.getBytes(UTF_8);
9999

100100
final JsonObject jsonResponse = getJsonPostResponse("navigation/resolve_url",
101101
body, getExtractorLocalization());
@@ -133,7 +133,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
133133
.value("browseId", id)
134134
.value("params", "EgZ2aWRlb3M%3D") // Equal to videos
135135
.done())
136-
.getBytes(StandardCharsets.UTF_8);
136+
.getBytes(UTF_8);
137137

138138
final JsonObject jsonResponse = getJsonPostResponse("browse", body,
139139
getExtractorLocalization());
@@ -426,7 +426,7 @@ private Page getNextPageFrom(final JsonObject continuations,
426426
getExtractorContentCountry())
427427
.value("continuation", continuation)
428428
.done())
429-
.getBytes(StandardCharsets.UTF_8);
429+
.getBytes(UTF_8);
430430

431431
return new Page(YOUTUBEI_V1_URL + "browse?key=" + getKey()
432432
+ DISABLE_PRETTY_PRINT_PARAMETER, null, channelIds, null, body);

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsExtractor.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.grack.nanojson.JsonArray;
44
import com.grack.nanojson.JsonObject;
55
import com.grack.nanojson.JsonWriter;
6+
67
import org.schabi.newpipe.extractor.Page;
78
import org.schabi.newpipe.extractor.StreamingService;
89
import org.schabi.newpipe.extractor.comments.CommentsExtractor;
@@ -19,13 +20,13 @@
1920
import javax.annotation.Nonnull;
2021
import javax.annotation.Nullable;
2122
import java.io.IOException;
22-
import java.nio.charset.StandardCharsets;
2323
import java.util.Collections;
2424
import java.util.List;
2525

2626
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getJsonPostResponse;
2727
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTextFromObject;
2828
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
29+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
2930
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
3031

3132
public class YoutubeCommentsExtractor extends CommentsExtractor {
@@ -191,7 +192,7 @@ public InfoItemsPage<CommentsInfoItem> getPage(final Page page)
191192
prepareDesktopJsonBuilder(localization, getExtractorContentCountry())
192193
.value("continuation", page.getId())
193194
.done())
194-
.getBytes(StandardCharsets.UTF_8);
195+
.getBytes(UTF_8);
195196
// @formatter:on
196197

197198
final JsonObject jsonObject = getJsonPostResponse("next", body, localization);
@@ -272,7 +273,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
272273
prepareDesktopJsonBuilder(localization, getExtractorContentCountry())
273274
.value("videoId", getId())
274275
.done())
275-
.getBytes(StandardCharsets.UTF_8);
276+
.getBytes(UTF_8);
276277
// @formatter:on
277278

278279
final String initialToken =
@@ -287,7 +288,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
287288
prepareDesktopJsonBuilder(localization, getExtractorContentCountry())
288289
.value("continuation", initialToken)
289290
.done())
290-
.getBytes(StandardCharsets.UTF_8);
291+
.getBytes(UTF_8);
291292
// @formatter:on
292293

293294
ajaxJson = getJsonPostResponse("next", ajaxBody, localization);

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import static org.schabi.newpipe.extractor.utils.Utils.getQueryValue;
1212
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
1313
import static org.schabi.newpipe.extractor.utils.Utils.stringToURL;
14+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1415

1516
import com.grack.nanojson.JsonArray;
1617
import com.grack.nanojson.JsonBuilder;
@@ -38,7 +39,6 @@
3839

3940
import java.io.IOException;
4041
import java.net.URL;
41-
import java.nio.charset.StandardCharsets;
4242
import java.util.HashMap;
4343
import java.util.List;
4444
import java.util.Map;
@@ -87,7 +87,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
8787
jsonBody.value("playlistIndex", Integer.parseInt(playlistIndexString));
8888
}
8989

90-
final byte[] body = JsonWriter.string(jsonBody.done()).getBytes(StandardCharsets.UTF_8);
90+
final byte[] body = JsonWriter.string(jsonBody.done()).getBytes(UTF_8);
9191

9292
// Cookie is required due to consent
9393
final var headers = getYouTubeHeaders();
@@ -212,7 +212,7 @@ private Page getNextPageFrom(@Nonnull final JsonObject playlistJson,
212212
.value("playlistIndex", index)
213213
.value("params", params)
214214
.done())
215-
.getBytes(StandardCharsets.UTF_8);
215+
.getBytes(UTF_8);
216216

217217
return new Page(YOUTUBEI_V1_URL + "next?key=" + getKey(), null, null, cookies, body);
218218
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicSearchExtractor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.MUSIC_SONGS;
1313
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.MUSIC_VIDEOS;
1414
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
15+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1516

1617
import com.grack.nanojson.JsonArray;
1718
import com.grack.nanojson.JsonObject;
@@ -38,7 +39,6 @@
3839
import org.schabi.newpipe.extractor.utils.Utils;
3940

4041
import java.io.IOException;
41-
import java.nio.charset.StandardCharsets;
4242
import java.util.Collections;
4343
import java.util.List;
4444
import java.util.stream.Collectors;
@@ -112,7 +112,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
112112
.end()
113113
.value("query", getSearchString())
114114
.value("params", params)
115-
.end().done().getBytes(StandardCharsets.UTF_8);
115+
.end().done().getBytes(UTF_8);
116116
// @formatter:on
117117

118118
final String responseBody = getValidJsonResponseBody(
@@ -240,7 +240,7 @@ public InfoItemsPage<InfoItem> getPage(final Page page)
240240
.value("enableSafetyMode", false)
241241
.end()
242242
.end()
243-
.end().done().getBytes(StandardCharsets.UTF_8);
243+
.end().done().getBytes(UTF_8);
244244
// @formatter:on
245245

246246
final String responseBody = getValidJsonResponseBody(

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getUrlFromNavigationEndpoint;
88
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
99
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
10+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1011

1112
import com.grack.nanojson.JsonArray;
1213
import com.grack.nanojson.JsonObject;
@@ -29,7 +30,6 @@
2930
import org.schabi.newpipe.extractor.utils.Utils;
3031

3132
import java.io.IOException;
32-
import java.nio.charset.StandardCharsets;
3333

3434
import javax.annotation.Nonnull;
3535
import javax.annotation.Nullable;
@@ -63,7 +63,7 @@ public void onFetchPage(@Nonnull final Downloader downloader) throws IOException
6363
.value("browseId", "VL" + getId())
6464
.value("params", "wgYCCAA%3D") // Show unavailable videos
6565
.done())
66-
.getBytes(StandardCharsets.UTF_8);
66+
.getBytes(UTF_8);
6767

6868
browseResponse = getJsonPostResponse("browse", body, localization);
6969
YoutubeParsingHelper.defaultAlertsCheck(browseResponse);

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeSearchExtractor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
99
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.getSearchParameter;
1010
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
11+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
1112

1213
import com.grack.nanojson.JsonArray;
1314
import com.grack.nanojson.JsonBuilder;
@@ -30,7 +31,6 @@
3031
import org.schabi.newpipe.extractor.utils.JsonUtils;
3132

3233
import java.io.IOException;
33-
import java.nio.charset.StandardCharsets;
3434
import java.util.List;
3535

3636
import javax.annotation.Nonnull;
@@ -87,7 +87,7 @@ public void onFetchPage(@Nonnull final Downloader downloader) throws IOException
8787
jsonBody.value("params", params);
8888
}
8989

90-
final byte[] body = JsonWriter.string(jsonBody.done()).getBytes(StandardCharsets.UTF_8);
90+
final byte[] body = JsonWriter.string(jsonBody.done()).getBytes(UTF_8);
9191

9292
initialData = getJsonPostResponse("search", body, localization);
9393
}
@@ -190,7 +190,7 @@ public InfoItemsPage<InfoItem> getPage(final Page page) throws IOException,
190190
getExtractorContentCountry())
191191
.value("continuation", page.getId())
192192
.done())
193-
.getBytes(StandardCharsets.UTF_8);
193+
.getBytes(UTF_8);
194194
// @formatter:on
195195

196196
final JsonObject ajaxJson = getJsonPostResponse("search", json, localization);

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
4040
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareIosMobileJsonBuilder;
4141
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
42+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
4243

4344
import com.grack.nanojson.JsonArray;
4445
import com.grack.nanojson.JsonObject;
@@ -88,7 +89,6 @@
8889
import org.schabi.newpipe.extractor.utils.Utils;
8990

9091
import java.io.IOException;
91-
import java.nio.charset.StandardCharsets;
9292
import java.time.LocalDate;
9393
import java.time.OffsetDateTime;
9494
import java.time.format.DateTimeFormatter;
@@ -878,7 +878,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
878878
.value(CONTENT_CHECK_OK, true)
879879
.value(RACY_CHECK_OK, true)
880880
.done())
881-
.getBytes(StandardCharsets.UTF_8);
881+
.getBytes(UTF_8);
882882
nextResponse = getJsonPostResponse(NEXT, body, localization);
883883

884884
// streamType can only have LIVE_STREAM, POST_LIVE_STREAM and VIDEO_STREAM values (see
@@ -987,7 +987,7 @@ private void fetchAndroidMobileJsonPlayer(@Nonnull final ContentCountry contentC
987987
// 10.29.2022
988988
.value("params", "8AEB")
989989
.done())
990-
.getBytes(StandardCharsets.UTF_8);
990+
.getBytes(UTF_8);
991991

992992
final JsonObject androidPlayerResponse = getJsonAndroidPostResponse(PLAYER,
993993
mobileBody, localization, "&t=" + generateTParameter()
@@ -1022,7 +1022,7 @@ private void fetchIosMobileJsonPlayer(@Nonnull final ContentCountry contentCount
10221022
.value(CONTENT_CHECK_OK, true)
10231023
.value(RACY_CHECK_OK, true)
10241024
.done())
1025-
.getBytes(StandardCharsets.UTF_8);
1025+
.getBytes(UTF_8);
10261026

10271027
final JsonObject iosPlayerResponse = getJsonIosPostResponse(PLAYER,
10281028
mobileBody, localization, "&t=" + generateTParameter()

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeTrendingExtractor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTextAtKey;
2525
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.prepareDesktopJsonBuilder;
2626
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
27+
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
2728

2829
import com.grack.nanojson.JsonObject;
2930
import com.grack.nanojson.JsonWriter;
@@ -40,7 +41,6 @@
4041
import org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector;
4142

4243
import java.io.IOException;
43-
import java.nio.charset.StandardCharsets;
4444
import java.util.stream.Stream;
4545

4646
import javax.annotation.Nonnull;
@@ -65,7 +65,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
6565
.value("browseId", "FEtrending")
6666
.value("params", VIDEOS_TAB_PARAMS)
6767
.done())
68-
.getBytes(StandardCharsets.UTF_8);
68+
.getBytes(UTF_8);
6969
// @formatter:on
7070

7171
initialData = getJsonPostResponse("browse", body, getExtractorLocalization());

0 commit comments

Comments
 (0)