Skip to content

Commit 3501172

Browse files
Remove LocaleCompat class
1 parent 5b4feb9 commit 3501172

5 files changed

Lines changed: 15 additions & 76 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/localization/Localization.java

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

33
import org.schabi.newpipe.extractor.exceptions.ParsingException;
4-
import org.schabi.newpipe.extractor.utils.LocaleCompat;
54

65
import java.io.Serializable;
7-
import java.util.ArrayList;
8-
import java.util.Collections;
6+
import java.util.Arrays;
97
import java.util.HashMap;
108
import java.util.List;
119
import java.util.Locale;
1210
import java.util.Map;
1311
import java.util.Objects;
14-
import java.util.Optional;
12+
import java.util.stream.Collectors;
1513

1614
import javax.annotation.Nonnull;
1715
import javax.annotation.Nullable;
@@ -26,30 +24,24 @@ public class Localization implements Serializable {
2624
private final String countryCode;
2725

2826
/**
29-
* @param localizationCodeList a list of localization code, formatted like {@link
30-
* #getLocalizationCode()}
31-
* @throws IllegalArgumentException If any of the localizationCodeList is formatted incorrectly
27+
* @param localizationCodes a list of localization code, formatted like
28+
* {@link #getLocalizationCode()}
3229
* @return list of Localization objects
3330
*/
3431
@Nonnull
35-
public static List<Localization> listFrom(final String... localizationCodeList) {
36-
final List<Localization> toReturn = new ArrayList<>();
37-
for (final String localizationCode : localizationCodeList) {
38-
toReturn.add(fromLocalizationCode(localizationCode)
39-
.orElseThrow(() -> new IllegalArgumentException(
40-
"Not a localization code: " + localizationCode
41-
)));
42-
}
43-
return Collections.unmodifiableList(toReturn);
32+
public static List<Localization> listFrom(final String... localizationCodes) {
33+
return Arrays.stream(localizationCodes)
34+
.map(Localization::fromLocalizationCode)
35+
.collect(Collectors.toUnmodifiableList());
4436
}
4537

4638
/**
4739
* @param localizationCode a localization code, formatted like {@link #getLocalizationCode()}
4840
* @return A Localization, if the code was valid.
4941
*/
5042
@Nonnull
51-
public static Optional<Localization> fromLocalizationCode(final String localizationCode) {
52-
return LocaleCompat.forLanguageTag(localizationCode).map(Localization::fromLocale);
43+
public static Localization fromLocalizationCode(final String localizationCode) {
44+
return Localization.fromLocale(Locale.forLanguageTag(localizationCode));
5345
}
5446

5547
public Localization(@Nonnull final String languageCode, @Nullable final String countryCode) {

extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.schabi.newpipe.extractor.stream.StreamType;
2929
import org.schabi.newpipe.extractor.stream.VideoStream;
3030
import org.schabi.newpipe.extractor.utils.JsonUtils;
31-
import org.schabi.newpipe.extractor.utils.LocaleCompat;
3231

3332
import java.io.IOException;
3433
import java.util.ArrayList;
@@ -130,10 +129,7 @@ public List<AudioStream> getAudioStreams() throws ExtractionException {
130129
// track with multiple languages, so there is no specific language for this stream
131130
// Don't set the audio language in this case
132131
if (language != null && !language.contains("-")) {
133-
builder.setAudioLocale(LocaleCompat.forLanguageTag(language).orElseThrow(() ->
134-
new ParsingException(
135-
"Cannot convert this language to a locale: " + language)
136-
));
132+
builder.setAudioLocale(Locale.forLanguageTag(language));
137133
}
138134

139135
// Not checking containsSimilarStream here, since MediaCCC does not provide enough

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
import org.schabi.newpipe.extractor.stream.SubtitlesStream;
8080
import org.schabi.newpipe.extractor.stream.VideoStream;
8181
import org.schabi.newpipe.extractor.utils.JsonUtils;
82-
import org.schabi.newpipe.extractor.utils.LocaleCompat;
8382
import org.schabi.newpipe.extractor.utils.Pair;
8483
import org.schabi.newpipe.extractor.utils.Parser;
8584
import org.schabi.newpipe.extractor.utils.Utils;
@@ -1412,9 +1411,8 @@ private ItagInfo buildAndAddItagInfoToList(
14121411
final int audioTrackIdLastLocaleCharacter = audioTrackId.indexOf(".");
14131412
if (audioTrackIdLastLocaleCharacter != -1) {
14141413
// Audio tracks IDs are in the form LANGUAGE_CODE.TRACK_NUMBER
1415-
LocaleCompat.forLanguageTag(
1416-
audioTrackId.substring(0, audioTrackIdLastLocaleCharacter)
1417-
).ifPresent(itagItem::setAudioLocale);
1414+
final String tag = audioTrackId.substring(0, audioTrackIdLastLocaleCharacter);
1415+
itagItem.setAudioLocale(Locale.forLanguageTag(tag));
14181416
}
14191417
itagItem.setAudioTrackType(YoutubeParsingHelper.extractAudioTrackType(streamUrl));
14201418
}

extractor/src/main/java/org/schabi/newpipe/extractor/stream/SubtitlesStream.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import org.schabi.newpipe.extractor.MediaFormat;
44
import org.schabi.newpipe.extractor.exceptions.ParsingException;
55
import org.schabi.newpipe.extractor.services.youtube.ItagItem;
6-
import org.schabi.newpipe.extractor.utils.LocaleCompat;
76

87
import java.util.Locale;
98

@@ -230,11 +229,9 @@ private SubtitlesStream(@Nonnull final String id,
230229
@Nonnull final DeliveryMethod deliveryMethod,
231230
@Nonnull final String languageCode,
232231
final boolean autoGenerated,
233-
@Nullable final String manifestUrl) throws ParsingException {
232+
@Nullable final String manifestUrl) {
234233
super(id, content, isUrl, mediaFormat, deliveryMethod, manifestUrl);
235-
this.locale = LocaleCompat.forLanguageTag(languageCode).orElseThrow(
236-
() -> new ParsingException(
237-
"not a valid locale language code: " + languageCode));
234+
this.locale = Locale.forLanguageTag(languageCode);
238235
this.code = languageCode;
239236
this.format = mediaFormat;
240237
this.autoGenerated = autoGenerated;

extractor/src/main/java/org/schabi/newpipe/extractor/utils/LocaleCompat.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)