package com.google.android.gms.common; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; import com.google.android.gms.common.internal.Preconditions; import com.google.errorprone.annotations.CheckReturnValue; import com.google.errorprone.annotations.RestrictedInheritance; import java.util.Set; import javax.annotation.Nullable; /* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */ /* JADX INFO: loaded from: classes2.dex */ @CheckReturnValue @RestrictedInheritance(allowedOnPath = ".*java.*/com/google/android/gms/common/testing/.*", explanation = "Sub classing of GMS Core's APIs are restricted to testing fakes.", link = "go/gmscore-restrictedinheritance") public class GoogleSignatureVerifier { @Nullable private static GoogleSignatureVerifier zza; @Nullable private static volatile Set zzb; private final Context zzc; private volatile String zzd; public GoogleSignatureVerifier(Context context) { this.zzc = context.getApplicationContext(); } public static GoogleSignatureVerifier getInstance(Context context) { Preconditions.checkNotNull(context); synchronized (GoogleSignatureVerifier.class) { if (zza == null) { zzn.zze(context); zza = new GoogleSignatureVerifier(context); } } return zza; } @Nullable static final zzj zza(PackageInfo packageInfo, zzj... zzjVarArr) { if (packageInfo.signatures != null) { if (packageInfo.signatures.length != 1) { Log.w("GoogleSignatureVerifier", "Package has more than one signature."); return null; } zzk zzkVar = new zzk(packageInfo.signatures[0].toByteArray()); for (int i = 0; i < zzjVarArr.length; i++) { if (zzjVarArr[i].equals(zzkVar)) { return zzjVarArr[i]; } } } return null; } public static final boolean zzb(PackageInfo packageInfo, boolean z) { PackageInfo packageInfo2; if (!z) { packageInfo2 = packageInfo; } else if (packageInfo != null) { if ("com.android.vending".equals(packageInfo.packageName) || "com.google.android.gms".equals(packageInfo.packageName)) { ApplicationInfo applicationInfo = packageInfo.applicationInfo; z = (applicationInfo == null || (applicationInfo.flags & 129) == 0) ? false : true; } packageInfo2 = packageInfo; } else { packageInfo2 = null; } if (packageInfo != null && packageInfo2.signatures != null) { if ((z ? zza(packageInfo2, zzm.zza) : zza(packageInfo2, zzm.zza[0])) != null) { return true; } } return false; } private final zzx zzc(@Nullable String str, boolean z, boolean z2) { zzx zzxVarZzc; if (str == null) { return zzx.zzc("null pkg"); } if (str.equals(this.zzd)) { return zzx.zzb(); } if (zzn.zzg()) { zzxVarZzc = zzn.zzb(str, GooglePlayServicesUtilLight.honorsDebugCertificates(this.zzc), false, false); } else { try { PackageInfo packageInfo = this.zzc.getPackageManager().getPackageInfo(str, 64); boolean zHonorsDebugCertificates = GooglePlayServicesUtilLight.honorsDebugCertificates(this.zzc); if (packageInfo == null) { zzxVarZzc = zzx.zzc("null pkg"); } else if (packageInfo.signatures == null || packageInfo.signatures.length != 1) { zzxVarZzc = zzx.zzc("single cert required"); } else { zzk zzkVar = new zzk(packageInfo.signatures[0].toByteArray()); String str2 = packageInfo.packageName; zzx zzxVarZza = zzn.zza(str2, zzkVar, zHonorsDebugCertificates, false); zzxVarZzc = (!zzxVarZza.zza || packageInfo.applicationInfo == null || (packageInfo.applicationInfo.flags & 2) == 0 || !zzn.zza(str2, zzkVar, false, true).zza) ? zzxVarZza : zzx.zzc("debuggable release cert app rejected"); } } catch (PackageManager.NameNotFoundException e) { return zzx.zzd("no pkg ".concat(str), e); } } if (zzxVarZzc.zza) { this.zzd = str; } return zzxVarZzc; } public boolean isGooglePublicSignedPackage(PackageInfo packageInfo) { if (packageInfo == null) { return false; } if (zzb(packageInfo, false)) { return true; } if (zzb(packageInfo, true)) { if (GooglePlayServicesUtilLight.honorsDebugCertificates(this.zzc)) { return true; } Log.w("GoogleSignatureVerifier", "Test-keys aren't accepted on this build."); } return false; } public boolean isPackageGoogleSigned(@Nullable String str) { zzx zzxVarZzc = zzc(str, false, false); zzxVarZzc.zze(); return zzxVarZzc.zza; } public boolean isUidGoogleSigned(int i) { zzx zzxVarZzc; int length; String[] packagesForUid = this.zzc.getPackageManager().getPackagesForUid(i); if (packagesForUid != null && (length = packagesForUid.length) != 0) { zzxVarZzc = null; int i2 = 0; while (true) { if (i2 >= length) { Preconditions.checkNotNull(zzxVarZzc); break; } zzxVarZzc = zzc(packagesForUid[i2], false, false); if (zzxVarZzc.zza) { break; } i2++; } } else { zzxVarZzc = zzx.zzc("no pkgs"); } zzxVarZzc.zze(); return zzxVarZzc.zza; } }