package androidx.core.os; import androidx.annotation.IntRange; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import c.d.b.a.a; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Locale; public final class LocaleListCompatWrapper implements LocaleListInterface { private static final Locale EN_LATN = LocaleListCompat.forLanguageTagCompat("en-Latn"); private static final Locale LOCALE_AR_XB = new Locale("ar", "XB"); private static final Locale LOCALE_EN_XA = new Locale("en", "XA"); private static final Locale[] sEmptyList = new Locale[0]; private final Locale[] mList; @NonNull private final String mStringRepresentation; public LocaleListCompatWrapper(@NonNull Locale... localeArr) { if (localeArr.length == 0) { this.mList = sEmptyList; this.mStringRepresentation = ""; return; } Locale[] localeArr2 = new Locale[localeArr.length]; HashSet hashSet = new HashSet(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < localeArr.length; i++) { Locale locale = localeArr[i]; if (locale == null) { throw new NullPointerException(a.l("list[", i, "] is null")); } else if (!hashSet.contains(locale)) { Locale locale2 = (Locale) locale.clone(); localeArr2[i] = locale2; toLanguageTag(sb, locale2); if (i < localeArr.length - 1) { sb.append(','); } hashSet.add(locale2); } else { throw new IllegalArgumentException(a.l("list[", i, "] is a repetition")); } } this.mList = localeArr2; this.mStringRepresentation = sb.toString(); } private Locale computeFirstMatch(Collection collection, boolean z2) { int computeFirstMatchIndex = computeFirstMatchIndex(collection, z2); if (computeFirstMatchIndex == -1) { return null; } return this.mList[computeFirstMatchIndex]; } /* JADX WARNING: Code restructure failed: missing block: B:11:0x001b, code lost: if (r6 < Integer.MAX_VALUE) goto L_0x0021; */ private int computeFirstMatchIndex(Collection collection, boolean z2) { int i; Locale[] localeArr = this.mList; if (localeArr.length == 1) { return 0; } if (localeArr.length == 0) { return -1; } if (z2) { i = findFirstMatchIndex(EN_LATN); if (i == 0) { return 0; } } i = Integer.MAX_VALUE; for (String str : collection) { int findFirstMatchIndex = findFirstMatchIndex(LocaleListCompat.forLanguageTagCompat(str)); if (findFirstMatchIndex == 0) { return 0; } if (findFirstMatchIndex < i) { i = findFirstMatchIndex; } } if (i == Integer.MAX_VALUE) { return 0; } return i; } private int findFirstMatchIndex(Locale locale) { int i = 0; while (true) { Locale[] localeArr = this.mList; if (i >= localeArr.length) { return Integer.MAX_VALUE; } if (matchScore(locale, localeArr[i]) > 0) { return i; } i++; } } private static String getLikelyScript(Locale locale) { String script = locale.getScript(); return !script.isEmpty() ? script : ""; } private static boolean isPseudoLocale(Locale locale) { return LOCALE_EN_XA.equals(locale) || LOCALE_AR_XB.equals(locale); } @IntRange(from = 0, to = 1) private static int matchScore(Locale locale, Locale locale2) { if (locale.equals(locale2)) { return 1; } if (!locale.getLanguage().equals(locale2.getLanguage()) || isPseudoLocale(locale) || isPseudoLocale(locale2)) { return 0; } String likelyScript = getLikelyScript(locale); if (!likelyScript.isEmpty()) { return likelyScript.equals(getLikelyScript(locale2)) ? 1 : 0; } String country = locale.getCountry(); return (country.isEmpty() || country.equals(locale2.getCountry())) ? 1 : 0; } @VisibleForTesting public static void toLanguageTag(StringBuilder sb, Locale locale) { sb.append(locale.getLanguage()); String country = locale.getCountry(); if (country != null && !country.isEmpty()) { sb.append('-'); sb.append(locale.getCountry()); } } public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof LocaleListCompatWrapper)) { return false; } Locale[] localeArr = ((LocaleListCompatWrapper) obj).mList; if (this.mList.length != localeArr.length) { return false; } int i = 0; while (true) { Locale[] localeArr2 = this.mList; if (i >= localeArr2.length) { return true; } if (!localeArr2[i].equals(localeArr[i])) { return false; } i++; } } @Override // androidx.core.os.LocaleListInterface public Locale get(int i) { if (i >= 0) { Locale[] localeArr = this.mList; if (i < localeArr.length) { return localeArr[i]; } } return null; } @Override // androidx.core.os.LocaleListInterface public Locale getFirstMatch(@NonNull String[] strArr) { return computeFirstMatch(Arrays.asList(strArr), false); } @Override // androidx.core.os.LocaleListInterface @Nullable public Object getLocaleList() { return null; } public int hashCode() { int i = 1; int i2 = 0; while (true) { Locale[] localeArr = this.mList; if (i2 >= localeArr.length) { return i; } i = (i * 31) + localeArr[i2].hashCode(); i2++; } } @Override // androidx.core.os.LocaleListInterface public int indexOf(Locale locale) { int i = 0; while (true) { Locale[] localeArr = this.mList; if (i >= localeArr.length) { return -1; } if (localeArr[i].equals(locale)) { return i; } i++; } } @Override // androidx.core.os.LocaleListInterface public boolean isEmpty() { return this.mList.length == 0; } @Override // androidx.core.os.LocaleListInterface public int size() { return this.mList.length; } @Override // androidx.core.os.LocaleListInterface public String toLanguageTags() { return this.mStringRepresentation; } public String toString() { StringBuilder L = a.L("["); int i = 0; while (true) { Locale[] localeArr = this.mList; if (i < localeArr.length) { L.append(localeArr[i]); if (i < this.mList.length - 1) { L.append(','); } i++; } else { L.append("]"); return L.toString(); } } } }