package androidx.core.provider; import android.content.ContentUris; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ProviderInfo; import android.content.pm.Signature; import android.content.res.Resources; import android.database.Cursor; import android.net.Uri; import android.os.CancellationSignal; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.core.content.res.FontResourcesParserCompat; import androidx.core.provider.FontsContractCompat; import c.d.b.a.a; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class FontProvider { private static final Comparator sByteArrayComparator = new AnonymousClass1(); /* renamed from: androidx.core.provider.FontProvider$1 reason: invalid class name */ public class AnonymousClass1 implements Comparator { public int compare(byte[] bArr, byte[] bArr2) { int i; int i2; if (bArr.length != bArr2.length) { i2 = bArr.length; i = bArr2.length; } else { for (int i3 = 0; i3 < bArr.length; i3++) { if (bArr[i3] != bArr2[i3]) { i2 = bArr[i3]; i = bArr2[i3]; } } return 0; } return (i2 == 1 ? 1 : 0) - (i == 1 ? 1 : 0); } } private FontProvider() { } private static List convertToByteArrayList(Signature[] signatureArr) { ArrayList arrayList = new ArrayList(); for (Signature signature : signatureArr) { arrayList.add(signature.toByteArray()); } return arrayList; } private static boolean equalsByteArrayList(List list, List list2) { if (list.size() != list2.size()) { return false; } for (int i = 0; i < list.size(); i++) { if (!Arrays.equals(list.get(i), list2.get(i))) { return false; } } return true; } private static List> getCertificates(FontRequest fontRequest, Resources resources) { return fontRequest.getCertificates() != null ? fontRequest.getCertificates() : FontResourcesParserCompat.readCerts(resources, fontRequest.getCertificatesArrayResId()); } @NonNull public static FontsContractCompat.FontFamilyResult getFontFamilyResult(@NonNull Context context, @NonNull FontRequest fontRequest, @Nullable CancellationSignal cancellationSignal) throws PackageManager.NameNotFoundException { ProviderInfo provider = getProvider(context.getPackageManager(), fontRequest, context.getResources()); return provider == null ? FontsContractCompat.FontFamilyResult.create(1, null) : FontsContractCompat.FontFamilyResult.create(0, query(context, fontRequest, provider.authority, cancellationSignal)); } @Nullable @VisibleForTesting public static ProviderInfo getProvider(@NonNull PackageManager packageManager, @NonNull FontRequest fontRequest, @Nullable Resources resources) throws PackageManager.NameNotFoundException { String providerAuthority = fontRequest.getProviderAuthority(); ProviderInfo resolveContentProvider = packageManager.resolveContentProvider(providerAuthority, 0); if (resolveContentProvider == null) { throw new PackageManager.NameNotFoundException(a.v("No package found for authority: ", providerAuthority)); } else if (resolveContentProvider.packageName.equals(fontRequest.getProviderPackage())) { List convertToByteArrayList = convertToByteArrayList(packageManager.getPackageInfo(resolveContentProvider.packageName, 64).signatures); Collections.sort(convertToByteArrayList, sByteArrayComparator); List> certificates = getCertificates(fontRequest, resources); for (int i = 0; i < certificates.size(); i++) { ArrayList arrayList = new ArrayList(certificates.get(i)); Collections.sort(arrayList, sByteArrayComparator); if (equalsByteArrayList(convertToByteArrayList, arrayList)) { return resolveContentProvider; } } return null; } else { StringBuilder W = a.W("Found content provider ", providerAuthority, ", but package was not "); W.append(fontRequest.getProviderPackage()); throw new PackageManager.NameNotFoundException(W.toString()); } } @NonNull @VisibleForTesting public static FontsContractCompat.FontInfo[] query(Context context, FontRequest fontRequest, String str, CancellationSignal cancellationSignal) { int i; Uri uri; boolean z2; int i2; ArrayList arrayList = new ArrayList(); Uri build = new Uri.Builder().scheme("content").authority(str).build(); Uri build2 = new Uri.Builder().scheme("content").authority(str).appendPath("file").build(); Cursor cursor = null; try { cursor = context.getContentResolver().query(build, new String[]{"_id", FontsContractCompat.Columns.FILE_ID, FontsContractCompat.Columns.TTC_INDEX, FontsContractCompat.Columns.VARIATION_SETTINGS, FontsContractCompat.Columns.WEIGHT, FontsContractCompat.Columns.ITALIC, FontsContractCompat.Columns.RESULT_CODE}, "query = ?", new String[]{fontRequest.getQuery()}, null, cancellationSignal); if (cursor != null && cursor.getCount() > 0) { int columnIndex = cursor.getColumnIndex(FontsContractCompat.Columns.RESULT_CODE); ArrayList arrayList2 = new ArrayList(); int columnIndex2 = cursor.getColumnIndex("_id"); int columnIndex3 = cursor.getColumnIndex(FontsContractCompat.Columns.FILE_ID); int columnIndex4 = cursor.getColumnIndex(FontsContractCompat.Columns.TTC_INDEX); int columnIndex5 = cursor.getColumnIndex(FontsContractCompat.Columns.WEIGHT); int columnIndex6 = cursor.getColumnIndex(FontsContractCompat.Columns.ITALIC); while (cursor.moveToNext()) { int i3 = columnIndex != -1 ? cursor.getInt(columnIndex) : 0; int i4 = columnIndex4 != -1 ? cursor.getInt(columnIndex4) : 0; if (columnIndex3 == -1) { i = i3; uri = ContentUris.withAppendedId(build, cursor.getLong(columnIndex2)); } else { i = i3; uri = ContentUris.withAppendedId(build2, cursor.getLong(columnIndex3)); } int i5 = columnIndex5 != -1 ? cursor.getInt(columnIndex5) : 400; if (columnIndex6 == -1 || cursor.getInt(columnIndex6) != 1) { i2 = i; z2 = false; } else { i2 = i; z2 = true; } arrayList2.add(FontsContractCompat.FontInfo.create(uri, i4, i5, z2, i2)); } arrayList = arrayList2; } return (FontsContractCompat.FontInfo[]) arrayList.toArray(new FontsContractCompat.FontInfo[0]); } finally { if (cursor != null) { cursor.close(); } } } }