Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

442 lines
20 KiB
Java

package com.google.android.gms.internal.ads;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.webkit.WebView;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import com.google.android.gms.ads.internal.util.client.VersionInfoParcel;
import com.google.android.gms.common.GoogleApiAvailabilityLight;
import com.google.android.gms.common.wrappers.Wrappers;
import com.ironsource.ad;
import com.mbridge.msdk.foundation.download.core.DownloadCommon;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.WeakHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicBoolean;
/* loaded from: classes3.dex */
public final class zzbuh implements zzbuj {
@Nullable
@VisibleForTesting
public static zzbuj zza;
@Nullable
@VisibleForTesting
static zzbuj zzb;
@Nullable
@VisibleForTesting
static zzbuj zzc;
@Nullable
@VisibleForTesting
static Boolean zzd;
private static final Object zze = new Object();
private final Object zzf;
private final Context zzg;
private final WeakHashMap zzh;
private final ExecutorService zzi;
private final VersionInfoParcel zzj;
@Nullable
private final PackageInfo zzk;
private final String zzl;
@Nullable
private final String zzm;
private final AtomicBoolean zzn;
private boolean zzo;
/* JADX WARN: Removed duplicated region for block: B:14:0x0077 */
/* JADX WARN: Removed duplicated region for block: B:17:0x0093 */
/* JADX WARN: Removed duplicated region for block: B:29:0x00b0 */
/* JADX WARN: Removed duplicated region for block: B:30:0x0080 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public zzbuh(android.content.Context r3, com.google.android.gms.ads.internal.util.client.VersionInfoParcel r4) {
/*
r2 = this;
r2.<init>()
java.lang.Object r0 = new java.lang.Object
r0.<init>()
r2.zzf = r0
java.util.WeakHashMap r0 = new java.util.WeakHashMap
r0.<init>()
r2.zzh = r0
com.google.android.gms.internal.ads.zzfqv.zza()
java.util.concurrent.ExecutorService r0 = java.util.concurrent.Executors.newCachedThreadPool()
java.util.concurrent.ExecutorService r0 = java.util.concurrent.Executors.unconfigurableExecutorService(r0)
r2.zzi = r0
java.util.concurrent.atomic.AtomicBoolean r0 = new java.util.concurrent.atomic.AtomicBoolean
r0.<init>()
r2.zzn = r0
android.content.Context r0 = r3.getApplicationContext()
if (r0 == 0) goto L2f
android.content.Context r3 = r3.getApplicationContext()
L2f:
r2.zzg = r3
r2.zzj = r4
com.google.android.gms.internal.ads.zzbcc r4 = com.google.android.gms.internal.ads.zzbcl.zzhG
com.google.android.gms.internal.ads.zzbcj r0 = com.google.android.gms.ads.internal.client.zzbe.zzc()
java.lang.Object r4 = r0.zza(r4)
java.lang.Boolean r4 = (java.lang.Boolean) r4
boolean r4 = r4.booleanValue()
r0 = 0
if (r4 == 0) goto L50
android.os.Handler r4 = com.google.android.gms.ads.internal.util.client.zzf.zza
if (r3 == 0) goto L50
android.content.pm.ApplicationInfo r4 = r3.getApplicationInfo()
if (r4 != 0) goto L52
L50:
r3 = r0
goto L61
L52:
com.google.android.gms.common.wrappers.PackageManagerWrapper r4 = com.google.android.gms.common.wrappers.Wrappers.packageManager(r3) // Catch: android.content.pm.PackageManager.NameNotFoundException -> L50
android.content.pm.ApplicationInfo r3 = r3.getApplicationInfo() // Catch: android.content.pm.PackageManager.NameNotFoundException -> L50
java.lang.String r3 = r3.packageName // Catch: android.content.pm.PackageManager.NameNotFoundException -> L50
r1 = 0
android.content.pm.PackageInfo r3 = r4.getPackageInfo(r3, r1) // Catch: android.content.pm.PackageManager.NameNotFoundException -> L50
L61:
r2.zzk = r3
com.google.android.gms.internal.ads.zzbcc r3 = com.google.android.gms.internal.ads.zzbcl.zzhE
com.google.android.gms.internal.ads.zzbcj r4 = com.google.android.gms.ads.internal.client.zzbe.zzc()
java.lang.Object r4 = r4.zza(r3)
java.lang.Boolean r4 = (java.lang.Boolean) r4
boolean r4 = r4.booleanValue()
java.lang.String r1 = "unknown"
if (r4 == 0) goto L80
java.util.Locale r4 = java.util.Locale.getDefault()
java.lang.String r4 = r4.getCountry()
goto L81
L80:
r4 = r1
L81:
r2.zzl = r4
com.google.android.gms.internal.ads.zzbcj r4 = com.google.android.gms.ads.internal.client.zzbe.zzc()
java.lang.Object r3 = r4.zza(r3)
java.lang.Boolean r3 = (java.lang.Boolean) r3
boolean r3 = r3.booleanValue()
if (r3 == 0) goto Lb0
android.content.Context r3 = r2.zzg
android.os.Handler r4 = com.google.android.gms.ads.internal.util.client.zzf.zza
if (r3 != 0) goto L9a
goto Lb1
L9a:
com.google.android.gms.common.wrappers.PackageManagerWrapper r3 = com.google.android.gms.common.wrappers.Wrappers.packageManager(r3) // Catch: android.content.pm.PackageManager.NameNotFoundException -> Lb1
java.lang.String r4 = "com.android.vending"
r1 = 128(0x80, float:1.8E-43)
android.content.pm.PackageInfo r3 = r3.getPackageInfo(r4, r1) // Catch: android.content.pm.PackageManager.NameNotFoundException -> Lb1
if (r3 != 0) goto La9
goto Lb1
La9:
int r3 = r3.versionCode // Catch: android.content.pm.PackageManager.NameNotFoundException -> Lb1
java.lang.String r0 = java.lang.Integer.toString(r3) // Catch: android.content.pm.PackageManager.NameNotFoundException -> Lb1
goto Lb1
Lb0:
r0 = r1
Lb1:
r2.zzm = r0
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.internal.ads.zzbuh.<init>(android.content.Context, com.google.android.gms.ads.internal.util.client.VersionInfoParcel):void");
}
public static zzbuj zza(Context context) {
synchronized (zze) {
try {
if (zza == null) {
if (zzl(context)) {
zza = new zzbuh(context, VersionInfoParcel.forPackage());
} else {
zza = new zzbui();
}
}
} catch (Throwable th) {
throw th;
}
}
return zza;
}
public static zzbuj zzb(Context context, VersionInfoParcel versionInfoParcel) {
synchronized (zze) {
try {
if (zzc == null) {
boolean z = false;
if (((Boolean) zzbed.zzc.zze()).booleanValue()) {
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhz)).booleanValue() || ((Boolean) zzbed.zza.zze()).booleanValue()) {
z = true;
}
}
if (zzl(context)) {
zzbuh zzbuhVar = new zzbuh(context, versionInfoParcel);
zzbuhVar.zzk();
zzbuhVar.zzj();
zzc = zzbuhVar;
} else if (!z || context == null) {
zzc = new zzbui();
} else {
zzbuh zzbuhVar2 = new zzbuh(context, versionInfoParcel, true);
zzbuhVar2.zzk();
zzbuhVar2.zzj();
zzc = zzbuhVar2;
}
}
} catch (Throwable th) {
throw th;
}
}
return zzc;
}
public static zzbuj zzc(Context context) {
synchronized (zze) {
try {
if (zzb == null) {
if (((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhA)).booleanValue()) {
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhz)).booleanValue()) {
zzb = new zzbuh(context, VersionInfoParcel.forPackage());
}
}
zzb = new zzbui();
}
} catch (Throwable th) {
throw th;
}
}
return zzb;
}
public static zzbuj zzd(Context context, VersionInfoParcel versionInfoParcel) {
synchronized (zze) {
try {
if (zzb == null) {
if (((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhA)).booleanValue()) {
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhz)).booleanValue()) {
zzb = new zzbuh(context, versionInfoParcel);
}
}
zzb = new zzbui();
}
} catch (Throwable th) {
throw th;
}
}
return zzb;
}
public static String zze(Throwable th) {
StringWriter stringWriter = new StringWriter();
th.printStackTrace(new PrintWriter(stringWriter));
return stringWriter.toString();
}
public static String zzf(Throwable th) {
return zzfve.zzc(com.google.android.gms.ads.internal.util.client.zzf.zzg(zze(th)));
}
private final void zzj() {
Thread.setDefaultUncaughtExceptionHandler(new zzbuf(this, Thread.getDefaultUncaughtExceptionHandler()));
}
private final void zzk() {
Thread thread = Looper.getMainLooper().getThread();
if (thread == null) {
return;
}
synchronized (this.zzf) {
this.zzh.put(thread, Boolean.TRUE);
}
thread.setUncaughtExceptionHandler(new zzbug(this, thread.getUncaughtExceptionHandler()));
}
private static boolean zzl(Context context) {
if (context == null) {
return false;
}
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzmE)).booleanValue()) {
if (((Boolean) zzbeu.zze.zze()).booleanValue()) {
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhz)).booleanValue()) {
return true;
}
}
return false;
}
synchronized (zze) {
try {
if (zzd == null) {
zzd = Boolean.valueOf(com.google.android.gms.ads.internal.client.zzbc.zze().nextInt(100) < ((Integer) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzmB)).intValue());
}
} catch (Throwable th) {
throw th;
}
}
if (zzd.booleanValue()) {
if (!((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhz)).booleanValue()) {
return true;
}
}
return false;
}
public final void zzg(Thread thread, Throwable th) {
if (th != null) {
boolean z = false;
boolean z2 = false;
for (Throwable th2 = th; th2 != null; th2 = th2.getCause()) {
for (StackTraceElement stackTraceElement : th2.getStackTrace()) {
z |= com.google.android.gms.ads.internal.util.client.zzf.zzo(stackTraceElement.getClassName());
z2 |= zzbuh.class.getName().equals(stackTraceElement.getClassName());
}
}
if (!z || z2) {
return;
}
if (!this.zzo) {
zzh(th, "");
}
if (this.zzn.getAndSet(true) || !((Boolean) zzbed.zzc.zze()).booleanValue()) {
return;
}
zzbbv.zzc(this.zzg);
}
}
@Override // com.google.android.gms.internal.ads.zzbuj
public final void zzh(Throwable th, String str) {
if (this.zzo) {
return;
}
zzi(th, str, 1.0f);
}
@Override // com.google.android.gms.internal.ads.zzbuj
public final void zzi(Throwable th, String str, float f) {
Throwable th2;
String str2;
ActivityManager.MemoryInfo zzc2;
if (this.zzo) {
return;
}
Handler handler = com.google.android.gms.ads.internal.util.client.zzf.zza;
boolean z = false;
if (((Boolean) zzbeu.zzf.zze()).booleanValue()) {
th2 = th;
} else {
LinkedList linkedList = new LinkedList();
for (Throwable th3 = th; th3 != null; th3 = th3.getCause()) {
linkedList.push(th3);
}
th2 = null;
while (!linkedList.isEmpty()) {
Throwable th4 = (Throwable) linkedList.pop();
StackTraceElement[] stackTrace = th4.getStackTrace();
boolean z2 = ((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzcs)).booleanValue() && stackTrace != null && stackTrace.length == 0 && com.google.android.gms.ads.internal.util.client.zzf.zzo(th4.getClass().getName());
ArrayList arrayList = new ArrayList();
arrayList.add(new StackTraceElement(th4.getClass().getName(), "<filtered>", "<filtered>", 1));
for (StackTraceElement stackTraceElement : stackTrace) {
if (com.google.android.gms.ads.internal.util.client.zzf.zzo(stackTraceElement.getClassName())) {
arrayList.add(stackTraceElement);
z2 = true;
} else {
String className = stackTraceElement.getClassName();
if (!TextUtils.isEmpty(className) && (className.startsWith("android.") || className.startsWith("java."))) {
arrayList.add(stackTraceElement);
} else {
arrayList.add(new StackTraceElement("<filtered>", "<filtered>", "<filtered>", 1));
}
}
}
if (z2) {
th2 = th2 == null ? new Throwable(th4.getMessage()) : new Throwable(th4.getMessage(), th2);
th2.setStackTrace((StackTraceElement[]) arrayList.toArray(new StackTraceElement[0]));
}
}
}
if (th2 != null) {
String name = th.getClass().getName();
String zze2 = zze(th);
String zzf = ((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zziI)).booleanValue() ? zzf(th) : "";
double d = f;
double random = Math.random();
int i = f > 0.0f ? (int) (1.0f / f) : 1;
if (random < d) {
ArrayList<String> arrayList2 = new ArrayList();
try {
z = Wrappers.packageManager(this.zzg).isCallerInstantApp();
} catch (Throwable th5) {
com.google.android.gms.ads.internal.util.client.zzo.zzh("Error fetching instant app info", th5);
}
try {
str2 = this.zzg.getPackageName();
} catch (Throwable unused) {
com.google.android.gms.ads.internal.util.client.zzo.zzj("Cannot obtain package name, proceeding.");
str2 = "unknown";
}
Uri.Builder appendQueryParameter = new Uri.Builder().scheme("https").path("//pagead2.googlesyndication.com/pagead/gen_204").appendQueryParameter("is_aia", Boolean.toString(z)).appendQueryParameter("id", "gmob-apps-report-exception").appendQueryParameter(ad.y, Build.VERSION.RELEASE).appendQueryParameter("api", String.valueOf(Build.VERSION.SDK_INT));
String str3 = Build.MANUFACTURER;
String str4 = Build.MODEL;
if (!str4.startsWith(str3)) {
str4 = str3 + " " + str4;
}
Uri.Builder appendQueryParameter2 = appendQueryParameter.appendQueryParameter("device", str4).appendQueryParameter("js", this.zzj.afmaVersion).appendQueryParameter("appid", str2).appendQueryParameter("exceptiontype", name).appendQueryParameter("stacktrace", zze2).appendQueryParameter("eids", TextUtils.join(",", com.google.android.gms.ads.internal.client.zzbe.zza().zza())).appendQueryParameter("exceptionkey", str).appendQueryParameter("cl", "697668803").appendQueryParameter(DownloadCommon.DOWNLOAD_REPORT_RETRY_COUNT, "dev").appendQueryParameter("sampling_rate", Integer.toString(i)).appendQueryParameter("pb_tm", String.valueOf(zzbeu.zzc.zze())).appendQueryParameter("gmscv", String.valueOf(GoogleApiAvailabilityLight.getInstance().getApkVersion(this.zzg))).appendQueryParameter("lite", true != this.zzj.isLiteSdk ? "0" : "1");
if (!TextUtils.isEmpty(zzf)) {
appendQueryParameter2.appendQueryParameter("hash", zzf);
}
if (((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhF)).booleanValue() && (zzc2 = com.google.android.gms.ads.internal.util.client.zzf.zzc(this.zzg)) != null) {
appendQueryParameter2.appendQueryParameter("available_memory", Long.toString(zzc2.availMem));
appendQueryParameter2.appendQueryParameter("total_memory", Long.toString(zzc2.totalMem));
appendQueryParameter2.appendQueryParameter("is_low_memory", true != zzc2.lowMemory ? "0" : "1");
}
if (((Boolean) com.google.android.gms.ads.internal.client.zzbe.zzc().zza(zzbcl.zzhE)).booleanValue()) {
if (!TextUtils.isEmpty(this.zzl)) {
appendQueryParameter2.appendQueryParameter("countrycode", this.zzl);
}
if (!TextUtils.isEmpty(this.zzm)) {
appendQueryParameter2.appendQueryParameter("psv", this.zzm);
}
PackageInfo currentWebViewPackage = WebView.getCurrentWebViewPackage();
if (currentWebViewPackage != null) {
appendQueryParameter2.appendQueryParameter("wvvc", Integer.toString(currentWebViewPackage.versionCode));
appendQueryParameter2.appendQueryParameter("wvvn", currentWebViewPackage.versionName);
appendQueryParameter2.appendQueryParameter("wvpn", currentWebViewPackage.packageName);
}
}
PackageInfo packageInfo = this.zzk;
if (packageInfo != null) {
appendQueryParameter2.appendQueryParameter("appvc", String.valueOf(packageInfo.versionCode));
appendQueryParameter2.appendQueryParameter("appvn", this.zzk.versionName);
}
arrayList2.add(appendQueryParameter2.toString());
for (final String str5 : arrayList2) {
final com.google.android.gms.ads.internal.util.client.zzu zzuVar = new com.google.android.gms.ads.internal.util.client.zzu(null);
this.zzi.execute(new Runnable() { // from class: com.google.android.gms.internal.ads.zzbue
@Override // java.lang.Runnable
public final void run() {
com.google.android.gms.ads.internal.util.client.zzu.this.zza(str5);
}
});
}
}
}
}
public zzbuh(Context context, VersionInfoParcel versionInfoParcel, boolean z) {
this(context, versionInfoParcel);
this.zzo = true;
}
}