Initial commit
This commit is contained in:
603
sources/com/google/android/gms/dynamite/DynamiteModule.java
Normal file
603
sources/com/google/android/gms/dynamite/DynamiteModule.java
Normal file
@@ -0,0 +1,603 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.os.IBinder;
|
||||
import android.os.IInterface;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
import com.google.android.gms.common.GoogleApiAvailabilityLight;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.common.util.CrashUtils;
|
||||
import com.google.android.gms.common.util.DynamiteApi;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
import com.google.android.gms.dynamic.ObjectWrapper;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class DynamiteModule {
|
||||
private static Boolean b = null;
|
||||
private static zzi c = null;
|
||||
private static zzk d = null;
|
||||
private static String e = null;
|
||||
private static int f = -1;
|
||||
private static final ThreadLocal<zza> g = new ThreadLocal<>();
|
||||
private static final VersionPolicy.zza h = new com.google.android.gms.dynamite.zza();
|
||||
public static final VersionPolicy i;
|
||||
private final Context a;
|
||||
|
||||
@DynamiteApi
|
||||
public static class DynamiteLoaderClassLoader {
|
||||
public static ClassLoader sClassLoader;
|
||||
}
|
||||
|
||||
public static class LoadingException extends Exception {
|
||||
private LoadingException(String str) {
|
||||
super(str);
|
||||
}
|
||||
|
||||
private LoadingException(String str, Throwable th) {
|
||||
super(str, th);
|
||||
}
|
||||
|
||||
/* synthetic */ LoadingException(String str, com.google.android.gms.dynamite.zza zzaVar) {
|
||||
this(str);
|
||||
}
|
||||
|
||||
/* synthetic */ LoadingException(String str, Throwable th, com.google.android.gms.dynamite.zza zzaVar) {
|
||||
this(str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public interface VersionPolicy {
|
||||
|
||||
public interface zza {
|
||||
int a(Context context, String str);
|
||||
|
||||
int a(Context context, String str, boolean z) throws LoadingException;
|
||||
}
|
||||
|
||||
public static class zzb {
|
||||
public int a = 0;
|
||||
public int b = 0;
|
||||
public int c = 0;
|
||||
}
|
||||
|
||||
zzb a(Context context, String str, zza zzaVar) throws LoadingException;
|
||||
}
|
||||
|
||||
private static class zza {
|
||||
public Cursor a;
|
||||
|
||||
private zza() {
|
||||
}
|
||||
|
||||
/* synthetic */ zza(com.google.android.gms.dynamite.zza zzaVar) {
|
||||
this();
|
||||
}
|
||||
}
|
||||
|
||||
private static class zzb implements VersionPolicy.zza {
|
||||
private final int a;
|
||||
|
||||
public zzb(int i, int i2) {
|
||||
this.a = i;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy.zza
|
||||
public final int a(Context context, String str) {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy.zza
|
||||
public final int a(Context context, String str, boolean z) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
new com.google.android.gms.dynamite.zzb();
|
||||
new zzc();
|
||||
new zzd();
|
||||
i = new zze();
|
||||
new zzf();
|
||||
new zzg();
|
||||
}
|
||||
|
||||
private DynamiteModule(Context context) {
|
||||
Preconditions.a(context);
|
||||
this.a = context;
|
||||
}
|
||||
|
||||
public static DynamiteModule a(Context context, VersionPolicy versionPolicy, String str) throws LoadingException {
|
||||
zza zzaVar = g.get();
|
||||
com.google.android.gms.dynamite.zza zzaVar2 = null;
|
||||
zza zzaVar3 = new zza(zzaVar2);
|
||||
g.set(zzaVar3);
|
||||
try {
|
||||
VersionPolicy.zzb a = versionPolicy.a(context, str, h);
|
||||
int i2 = a.a;
|
||||
int i3 = a.b;
|
||||
StringBuilder sb = new StringBuilder(String.valueOf(str).length() + 68 + String.valueOf(str).length());
|
||||
sb.append("Considering local module ");
|
||||
sb.append(str);
|
||||
sb.append(":");
|
||||
sb.append(i2);
|
||||
sb.append(" and remote module ");
|
||||
sb.append(str);
|
||||
sb.append(":");
|
||||
sb.append(i3);
|
||||
Log.i("DynamiteModule", sb.toString());
|
||||
if (a.c == 0 || ((a.c == -1 && a.a == 0) || (a.c == 1 && a.b == 0))) {
|
||||
int i4 = a.a;
|
||||
int i5 = a.b;
|
||||
StringBuilder sb2 = new StringBuilder(91);
|
||||
sb2.append("No acceptable module found. Local version is ");
|
||||
sb2.append(i4);
|
||||
sb2.append(" and remote version is ");
|
||||
sb2.append(i5);
|
||||
sb2.append(".");
|
||||
throw new LoadingException(sb2.toString(), zzaVar2);
|
||||
}
|
||||
if (a.c == -1) {
|
||||
DynamiteModule b2 = b(context, str);
|
||||
Cursor cursor = zzaVar3.a;
|
||||
if (cursor != null) {
|
||||
cursor.close();
|
||||
}
|
||||
g.set(zzaVar);
|
||||
return b2;
|
||||
}
|
||||
if (a.c != 1) {
|
||||
int i6 = a.c;
|
||||
StringBuilder sb3 = new StringBuilder(47);
|
||||
sb3.append("VersionPolicy returned invalid code:");
|
||||
sb3.append(i6);
|
||||
throw new LoadingException(sb3.toString(), zzaVar2);
|
||||
}
|
||||
try {
|
||||
DynamiteModule a2 = a(context, str, a.b);
|
||||
Cursor cursor2 = zzaVar3.a;
|
||||
if (cursor2 != null) {
|
||||
cursor2.close();
|
||||
}
|
||||
g.set(zzaVar);
|
||||
return a2;
|
||||
} catch (LoadingException e2) {
|
||||
String valueOf = String.valueOf(e2.getMessage());
|
||||
Log.w("DynamiteModule", valueOf.length() != 0 ? "Failed to load remote module: ".concat(valueOf) : new String("Failed to load remote module: "));
|
||||
if (a.a == 0 || versionPolicy.a(context, str, new zzb(a.a, 0)).c != -1) {
|
||||
throw new LoadingException("Remote load failed. No local fallback found.", e2, zzaVar2);
|
||||
}
|
||||
DynamiteModule b3 = b(context, str);
|
||||
Cursor cursor3 = zzaVar3.a;
|
||||
if (cursor3 != null) {
|
||||
cursor3.close();
|
||||
}
|
||||
g.set(zzaVar);
|
||||
return b3;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
Cursor cursor4 = zzaVar3.a;
|
||||
if (cursor4 != null) {
|
||||
cursor4.close();
|
||||
}
|
||||
g.set(zzaVar);
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
private static int b(Context context, String str, boolean z) {
|
||||
zzi a = a(context);
|
||||
if (a == null) {
|
||||
return 0;
|
||||
}
|
||||
try {
|
||||
if (a.g() >= 2) {
|
||||
return a.a(ObjectWrapper.a(context), str, z);
|
||||
}
|
||||
Log.w("DynamiteModule", "IDynamite loader version < 2, falling back to getModuleVersion2");
|
||||
return a.b(ObjectWrapper.a(context), str, z);
|
||||
} catch (RemoteException e2) {
|
||||
String valueOf = String.valueOf(e2.getMessage());
|
||||
Log.w("DynamiteModule", valueOf.length() != 0 ? "Failed to retrieve remote module version: ".concat(valueOf) : new String("Failed to retrieve remote module version: "));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:48:0x00b0 */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
private static int c(android.content.Context r8, java.lang.String r9, boolean r10) throws com.google.android.gms.dynamite.DynamiteModule.LoadingException {
|
||||
/*
|
||||
r0 = 0
|
||||
android.content.ContentResolver r1 = r8.getContentResolver() // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
if (r10 == 0) goto La
|
||||
java.lang.String r8 = "api_force_staging"
|
||||
goto Lc
|
||||
La:
|
||||
java.lang.String r8 = "api"
|
||||
Lc:
|
||||
int r10 = r8.length() // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
int r10 = r10 + 42
|
||||
java.lang.String r2 = java.lang.String.valueOf(r9) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
int r2 = r2.length() // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
int r10 = r10 + r2
|
||||
java.lang.StringBuilder r2 = new java.lang.StringBuilder // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
r2.<init>(r10) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
java.lang.String r10 = "content://com.google.android.gms.chimera/"
|
||||
r2.append(r10) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
r2.append(r8) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
java.lang.String r8 = "/"
|
||||
r2.append(r8) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
r2.append(r9) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
java.lang.String r8 = r2.toString() // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
android.net.Uri r2 = android.net.Uri.parse(r8) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
r3 = 0
|
||||
r4 = 0
|
||||
r5 = 0
|
||||
r6 = 0
|
||||
android.database.Cursor r8 = r1.query(r2, r3, r4, r5, r6) // Catch: java.lang.Throwable -> L9b java.lang.Exception -> L9d
|
||||
if (r8 == 0) goto L83
|
||||
boolean r9 = r8.moveToFirst() // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
if (r9 == 0) goto L83
|
||||
r9 = 0
|
||||
int r9 = r8.getInt(r9) // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
if (r9 <= 0) goto L7d
|
||||
java.lang.Class<com.google.android.gms.dynamite.DynamiteModule> r10 = com.google.android.gms.dynamite.DynamiteModule.class
|
||||
monitor-enter(r10) // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
r1 = 2
|
||||
java.lang.String r1 = r8.getString(r1) // Catch: java.lang.Throwable -> L7a
|
||||
com.google.android.gms.dynamite.DynamiteModule.e = r1 // Catch: java.lang.Throwable -> L7a
|
||||
java.lang.String r1 = "loaderVersion"
|
||||
int r1 = r8.getColumnIndex(r1) // Catch: java.lang.Throwable -> L7a
|
||||
if (r1 < 0) goto L67
|
||||
int r1 = r8.getInt(r1) // Catch: java.lang.Throwable -> L7a
|
||||
com.google.android.gms.dynamite.DynamiteModule.f = r1 // Catch: java.lang.Throwable -> L7a
|
||||
L67:
|
||||
monitor-exit(r10) // Catch: java.lang.Throwable -> L7a
|
||||
java.lang.ThreadLocal<com.google.android.gms.dynamite.DynamiteModule$zza> r10 = com.google.android.gms.dynamite.DynamiteModule.g // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
java.lang.Object r10 = r10.get() // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
com.google.android.gms.dynamite.DynamiteModule$zza r10 = (com.google.android.gms.dynamite.DynamiteModule.zza) r10 // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
if (r10 == 0) goto L7d
|
||||
android.database.Cursor r1 = r10.a // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
if (r1 != 0) goto L7d
|
||||
r10.a = r8 // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
r8 = r0
|
||||
goto L7d
|
||||
L7a:
|
||||
r9 = move-exception
|
||||
monitor-exit(r10) // Catch: java.lang.Throwable -> L7a
|
||||
throw r9 // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
L7d:
|
||||
if (r8 == 0) goto L82
|
||||
r8.close()
|
||||
L82:
|
||||
return r9
|
||||
L83:
|
||||
java.lang.String r9 = "DynamiteModule"
|
||||
java.lang.String r10 = "Failed to retrieve remote module version."
|
||||
android.util.Log.w(r9, r10) // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
com.google.android.gms.dynamite.DynamiteModule$LoadingException r9 = new com.google.android.gms.dynamite.DynamiteModule$LoadingException // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
java.lang.String r10 = "Failed to connect to dynamite module ContentResolver."
|
||||
r9.<init>(r10, r0) // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
throw r9 // Catch: java.lang.Throwable -> L92 java.lang.Exception -> L96
|
||||
L92:
|
||||
r9 = move-exception
|
||||
r0 = r8
|
||||
r8 = r9
|
||||
goto Lae
|
||||
L96:
|
||||
r9 = move-exception
|
||||
r7 = r9
|
||||
r9 = r8
|
||||
r8 = r7
|
||||
goto L9f
|
||||
L9b:
|
||||
r8 = move-exception
|
||||
goto Lae
|
||||
L9d:
|
||||
r8 = move-exception
|
||||
r9 = r0
|
||||
L9f:
|
||||
boolean r10 = r8 instanceof com.google.android.gms.dynamite.DynamiteModule.LoadingException // Catch: java.lang.Throwable -> Lac
|
||||
if (r10 == 0) goto La4
|
||||
throw r8 // Catch: java.lang.Throwable -> Lac
|
||||
La4:
|
||||
com.google.android.gms.dynamite.DynamiteModule$LoadingException r10 = new com.google.android.gms.dynamite.DynamiteModule$LoadingException // Catch: java.lang.Throwable -> Lac
|
||||
java.lang.String r1 = "V2 version check failed"
|
||||
r10.<init>(r1, r8, r0) // Catch: java.lang.Throwable -> Lac
|
||||
throw r10 // Catch: java.lang.Throwable -> Lac
|
||||
Lac:
|
||||
r8 = move-exception
|
||||
r0 = r9
|
||||
Lae:
|
||||
if (r0 == 0) goto Lb3
|
||||
r0.close()
|
||||
Lb3:
|
||||
throw r8
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.dynamite.DynamiteModule.c(android.content.Context, java.lang.String, boolean):int");
|
||||
}
|
||||
|
||||
private static DynamiteModule b(Context context, String str) {
|
||||
String valueOf = String.valueOf(str);
|
||||
Log.i("DynamiteModule", valueOf.length() != 0 ? "Selected local version of ".concat(valueOf) : new String("Selected local version of "));
|
||||
return new DynamiteModule(context.getApplicationContext());
|
||||
}
|
||||
|
||||
private static DynamiteModule b(Context context, String str, int i2) throws LoadingException {
|
||||
IObjectWrapper a;
|
||||
String str2 = "Failed to load remote module.";
|
||||
StringBuilder sb = new StringBuilder(String.valueOf(str).length() + 51);
|
||||
sb.append("Selected remote version of ");
|
||||
sb.append(str);
|
||||
sb.append(", version >= ");
|
||||
sb.append(i2);
|
||||
Log.i("DynamiteModule", sb.toString());
|
||||
zzi a2 = a(context);
|
||||
com.google.android.gms.dynamite.zza zzaVar = null;
|
||||
if (a2 != null) {
|
||||
try {
|
||||
if (a2.g() >= 2) {
|
||||
a = a2.b(ObjectWrapper.a(context), str, i2);
|
||||
} else {
|
||||
Log.w("DynamiteModule", "Dynamite loader version < 2, falling back to createModuleContext");
|
||||
a = a2.a(ObjectWrapper.a(context), str, i2);
|
||||
}
|
||||
if (ObjectWrapper.a(a) != null) {
|
||||
return new DynamiteModule((Context) ObjectWrapper.a(a));
|
||||
}
|
||||
throw new LoadingException(str2, zzaVar);
|
||||
} catch (RemoteException e2) {
|
||||
throw new LoadingException(str2, e2, zzaVar);
|
||||
}
|
||||
}
|
||||
throw new LoadingException("Failed to create IDynamiteLoader.", zzaVar);
|
||||
}
|
||||
|
||||
private static DynamiteModule c(Context context, String str, int i2) throws LoadingException {
|
||||
zzk zzkVar;
|
||||
StringBuilder sb = new StringBuilder(String.valueOf(str).length() + 51);
|
||||
sb.append("Selected remote version of ");
|
||||
sb.append(str);
|
||||
sb.append(", version >= ");
|
||||
sb.append(i2);
|
||||
Log.i("DynamiteModule", sb.toString());
|
||||
synchronized (DynamiteModule.class) {
|
||||
zzkVar = d;
|
||||
}
|
||||
com.google.android.gms.dynamite.zza zzaVar = null;
|
||||
if (zzkVar != null) {
|
||||
zza zzaVar2 = g.get();
|
||||
if (zzaVar2 != null && zzaVar2.a != null) {
|
||||
Context a = a(context.getApplicationContext(), str, i2, zzaVar2.a, zzkVar);
|
||||
if (a != null) {
|
||||
return new DynamiteModule(a);
|
||||
}
|
||||
throw new LoadingException("Failed to get module context", zzaVar);
|
||||
}
|
||||
throw new LoadingException("No result cursor", zzaVar);
|
||||
}
|
||||
throw new LoadingException("DynamiteLoaderV2 was not cached.", zzaVar);
|
||||
}
|
||||
|
||||
public static int a(Context context, String str) {
|
||||
try {
|
||||
ClassLoader classLoader = context.getApplicationContext().getClassLoader();
|
||||
StringBuilder sb = new StringBuilder(String.valueOf(str).length() + 61);
|
||||
sb.append("com.google.android.gms.dynamite.descriptors.");
|
||||
sb.append(str);
|
||||
sb.append(".ModuleDescriptor");
|
||||
Class<?> loadClass = classLoader.loadClass(sb.toString());
|
||||
Field declaredField = loadClass.getDeclaredField("MODULE_ID");
|
||||
Field declaredField2 = loadClass.getDeclaredField("MODULE_VERSION");
|
||||
if (!declaredField.get(null).equals(str)) {
|
||||
String valueOf = String.valueOf(declaredField.get(null));
|
||||
StringBuilder sb2 = new StringBuilder(String.valueOf(valueOf).length() + 51 + String.valueOf(str).length());
|
||||
sb2.append("Module descriptor id '");
|
||||
sb2.append(valueOf);
|
||||
sb2.append("' didn't match expected id '");
|
||||
sb2.append(str);
|
||||
sb2.append("'");
|
||||
Log.e("DynamiteModule", sb2.toString());
|
||||
return 0;
|
||||
}
|
||||
return declaredField2.getInt(null);
|
||||
} catch (ClassNotFoundException unused) {
|
||||
StringBuilder sb3 = new StringBuilder(String.valueOf(str).length() + 45);
|
||||
sb3.append("Local module descriptor class for ");
|
||||
sb3.append(str);
|
||||
sb3.append(" not found.");
|
||||
Log.w("DynamiteModule", sb3.toString());
|
||||
return 0;
|
||||
} catch (Exception e2) {
|
||||
String valueOf2 = String.valueOf(e2.getMessage());
|
||||
Log.e("DynamiteModule", valueOf2.length() != 0 ? "Failed to load module descriptor class: ".concat(valueOf2) : new String("Failed to load module descriptor class: "));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static int a(Context context, String str, boolean z) {
|
||||
Class<?> loadClass;
|
||||
Field declaredField;
|
||||
Boolean bool;
|
||||
try {
|
||||
synchronized (DynamiteModule.class) {
|
||||
Boolean bool2 = b;
|
||||
if (bool2 == null) {
|
||||
try {
|
||||
loadClass = context.getApplicationContext().getClassLoader().loadClass(DynamiteLoaderClassLoader.class.getName());
|
||||
declaredField = loadClass.getDeclaredField("sClassLoader");
|
||||
} catch (ClassNotFoundException | IllegalAccessException | NoSuchFieldException e2) {
|
||||
String valueOf = String.valueOf(e2);
|
||||
StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 30);
|
||||
sb.append("Failed to load module via V2: ");
|
||||
sb.append(valueOf);
|
||||
Log.w("DynamiteModule", sb.toString());
|
||||
bool2 = Boolean.FALSE;
|
||||
}
|
||||
synchronized (loadClass) {
|
||||
ClassLoader classLoader = (ClassLoader) declaredField.get(null);
|
||||
if (classLoader != null) {
|
||||
if (classLoader == ClassLoader.getSystemClassLoader()) {
|
||||
bool = Boolean.FALSE;
|
||||
} else {
|
||||
try {
|
||||
a(classLoader);
|
||||
} catch (LoadingException unused) {
|
||||
}
|
||||
bool = Boolean.TRUE;
|
||||
}
|
||||
} else if ("com.google.android.gms".equals(context.getApplicationContext().getPackageName())) {
|
||||
declaredField.set(null, ClassLoader.getSystemClassLoader());
|
||||
bool = Boolean.FALSE;
|
||||
} else {
|
||||
try {
|
||||
int c2 = c(context, str, z);
|
||||
if (e != null && !e.isEmpty()) {
|
||||
zzh zzhVar = new zzh(e, ClassLoader.getSystemClassLoader());
|
||||
a(zzhVar);
|
||||
declaredField.set(null, zzhVar);
|
||||
b = Boolean.TRUE;
|
||||
return c2;
|
||||
}
|
||||
return c2;
|
||||
} catch (LoadingException unused2) {
|
||||
declaredField.set(null, ClassLoader.getSystemClassLoader());
|
||||
bool = Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
bool2 = bool;
|
||||
b = bool2;
|
||||
}
|
||||
}
|
||||
if (bool2.booleanValue()) {
|
||||
try {
|
||||
return c(context, str, z);
|
||||
} catch (LoadingException e3) {
|
||||
String valueOf2 = String.valueOf(e3.getMessage());
|
||||
Log.w("DynamiteModule", valueOf2.length() != 0 ? "Failed to retrieve remote module version: ".concat(valueOf2) : new String("Failed to retrieve remote module version: "));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return b(context, str, z);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
CrashUtils.a(context, th);
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
private static DynamiteModule a(Context context, String str, int i2) throws LoadingException {
|
||||
Boolean bool;
|
||||
try {
|
||||
synchronized (DynamiteModule.class) {
|
||||
bool = b;
|
||||
}
|
||||
if (bool != null) {
|
||||
if (bool.booleanValue()) {
|
||||
return c(context, str, i2);
|
||||
}
|
||||
return b(context, str, i2);
|
||||
}
|
||||
throw new LoadingException("Failed to determine which loading route to use.", (com.google.android.gms.dynamite.zza) null);
|
||||
} catch (Throwable th) {
|
||||
CrashUtils.a(context, th);
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
private static zzi a(Context context) {
|
||||
zzi zzjVar;
|
||||
synchronized (DynamiteModule.class) {
|
||||
if (c != null) {
|
||||
return c;
|
||||
}
|
||||
if (GoogleApiAvailabilityLight.a().b(context) != 0) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
IBinder iBinder = (IBinder) context.createPackageContext("com.google.android.gms", 3).getClassLoader().loadClass("com.google.android.gms.chimera.container.DynamiteLoaderImpl").newInstance();
|
||||
if (iBinder == null) {
|
||||
zzjVar = null;
|
||||
} else {
|
||||
IInterface queryLocalInterface = iBinder.queryLocalInterface("com.google.android.gms.dynamite.IDynamiteLoader");
|
||||
if (queryLocalInterface instanceof zzi) {
|
||||
zzjVar = (zzi) queryLocalInterface;
|
||||
} else {
|
||||
zzjVar = new zzj(iBinder);
|
||||
}
|
||||
}
|
||||
if (zzjVar != null) {
|
||||
c = zzjVar;
|
||||
return zzjVar;
|
||||
}
|
||||
} catch (Exception e2) {
|
||||
String valueOf = String.valueOf(e2.getMessage());
|
||||
Log.e("DynamiteModule", valueOf.length() != 0 ? "Failed to load IDynamiteLoader from GmsCore: ".concat(valueOf) : new String("Failed to load IDynamiteLoader from GmsCore: "));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Boolean a() {
|
||||
Boolean valueOf;
|
||||
synchronized (DynamiteModule.class) {
|
||||
valueOf = Boolean.valueOf(f >= 2);
|
||||
}
|
||||
return valueOf;
|
||||
}
|
||||
|
||||
private static Context a(Context context, String str, int i2, Cursor cursor, zzk zzkVar) {
|
||||
IObjectWrapper a;
|
||||
try {
|
||||
ObjectWrapper.a((Object) null);
|
||||
if (a().booleanValue()) {
|
||||
Log.v("DynamiteModule", "Dynamite loader version >= 2, using loadModule2NoCrashUtils");
|
||||
a = zzkVar.b(ObjectWrapper.a(context), str, i2, ObjectWrapper.a(cursor));
|
||||
} else {
|
||||
Log.w("DynamiteModule", "Dynamite loader version < 2, falling back to loadModule2");
|
||||
a = zzkVar.a(ObjectWrapper.a(context), str, i2, ObjectWrapper.a(cursor));
|
||||
}
|
||||
return (Context) ObjectWrapper.a(a);
|
||||
} catch (Exception e2) {
|
||||
String valueOf = String.valueOf(e2.toString());
|
||||
Log.e("DynamiteModule", valueOf.length() != 0 ? "Failed to load DynamiteLoader: ".concat(valueOf) : new String("Failed to load DynamiteLoader: "));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static void a(ClassLoader classLoader) throws LoadingException {
|
||||
zzk zzlVar;
|
||||
com.google.android.gms.dynamite.zza zzaVar = null;
|
||||
try {
|
||||
IBinder iBinder = (IBinder) classLoader.loadClass("com.google.android.gms.dynamiteloader.DynamiteLoaderV2").getConstructor(new Class[0]).newInstance(new Object[0]);
|
||||
if (iBinder == null) {
|
||||
zzlVar = null;
|
||||
} else {
|
||||
IInterface queryLocalInterface = iBinder.queryLocalInterface("com.google.android.gms.dynamite.IDynamiteLoaderV2");
|
||||
if (queryLocalInterface instanceof zzk) {
|
||||
zzlVar = (zzk) queryLocalInterface;
|
||||
} else {
|
||||
zzlVar = new zzl(iBinder);
|
||||
}
|
||||
}
|
||||
d = zzlVar;
|
||||
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e2) {
|
||||
throw new LoadingException("Failed to instantiate dynamite loader", e2, zzaVar);
|
||||
}
|
||||
}
|
||||
|
||||
public final IBinder a(String str) throws LoadingException {
|
||||
try {
|
||||
return (IBinder) this.a.getClassLoader().loadClass(str).newInstance();
|
||||
} catch (ClassNotFoundException | IllegalAccessException | InstantiationException e2) {
|
||||
String valueOf = String.valueOf(str);
|
||||
throw new LoadingException(valueOf.length() != 0 ? "Failed to instantiate module class: ".concat(valueOf) : new String("Failed to instantiate module class: "), e2, null);
|
||||
}
|
||||
}
|
||||
}
|
20
sources/com/google/android/gms/dynamite/zza.java
Normal file
20
sources/com/google/android/gms/dynamite/zza.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zza implements DynamiteModule.VersionPolicy.zza {
|
||||
zza() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy.zza
|
||||
public final int a(Context context, String str, boolean z) throws DynamiteModule.LoadingException {
|
||||
return DynamiteModule.a(context, str, z);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy.zza
|
||||
public final int a(Context context, String str) {
|
||||
return DynamiteModule.a(context, str);
|
||||
}
|
||||
}
|
25
sources/com/google/android/gms/dynamite/zzb.java
Normal file
25
sources/com/google/android/gms/dynamite/zzb.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzb implements DynamiteModule.VersionPolicy {
|
||||
zzb() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
if (zzbVar.b != 0) {
|
||||
zzbVar.c = 1;
|
||||
} else {
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
if (zzbVar.a != 0) {
|
||||
zzbVar.c = -1;
|
||||
}
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
25
sources/com/google/android/gms/dynamite/zzc.java
Normal file
25
sources/com/google/android/gms/dynamite/zzc.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzc implements DynamiteModule.VersionPolicy {
|
||||
zzc() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
if (zzbVar.a != 0) {
|
||||
zzbVar.c = -1;
|
||||
} else {
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
if (zzbVar.b != 0) {
|
||||
zzbVar.c = 1;
|
||||
}
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
25
sources/com/google/android/gms/dynamite/zzd.java
Normal file
25
sources/com/google/android/gms/dynamite/zzd.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzd implements DynamiteModule.VersionPolicy {
|
||||
zzd() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
if (zzbVar.a == 0 && zzbVar.b == 0) {
|
||||
zzbVar.c = 0;
|
||||
} else if (zzbVar.a >= zzbVar.b) {
|
||||
zzbVar.c = -1;
|
||||
} else {
|
||||
zzbVar.c = 1;
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
29
sources/com/google/android/gms/dynamite/zze.java
Normal file
29
sources/com/google/android/gms/dynamite/zze.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zze implements DynamiteModule.VersionPolicy {
|
||||
zze() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
if (zzbVar.a != 0) {
|
||||
zzbVar.b = zzaVar.a(context, str, false);
|
||||
} else {
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
}
|
||||
if (zzbVar.a == 0 && zzbVar.b == 0) {
|
||||
zzbVar.c = 0;
|
||||
} else if (zzbVar.a >= zzbVar.b) {
|
||||
zzbVar.c = -1;
|
||||
} else {
|
||||
zzbVar.c = 1;
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
25
sources/com/google/android/gms/dynamite/zzf.java
Normal file
25
sources/com/google/android/gms/dynamite/zzf.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzf implements DynamiteModule.VersionPolicy {
|
||||
zzf() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
if (zzbVar.a == 0 && zzbVar.b == 0) {
|
||||
zzbVar.c = 0;
|
||||
} else if (zzbVar.b >= zzbVar.a) {
|
||||
zzbVar.c = 1;
|
||||
} else {
|
||||
zzbVar.c = -1;
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
29
sources/com/google/android/gms/dynamite/zzg.java
Normal file
29
sources/com/google/android/gms/dynamite/zzg.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.dynamite.DynamiteModule;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzg implements DynamiteModule.VersionPolicy {
|
||||
zzg() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.DynamiteModule.VersionPolicy
|
||||
public final DynamiteModule.VersionPolicy.zzb a(Context context, String str, DynamiteModule.VersionPolicy.zza zzaVar) throws DynamiteModule.LoadingException {
|
||||
DynamiteModule.VersionPolicy.zzb zzbVar = new DynamiteModule.VersionPolicy.zzb();
|
||||
zzbVar.a = zzaVar.a(context, str);
|
||||
if (zzbVar.a != 0) {
|
||||
zzbVar.b = zzaVar.a(context, str, false);
|
||||
} else {
|
||||
zzbVar.b = zzaVar.a(context, str, true);
|
||||
}
|
||||
if (zzbVar.a == 0 && zzbVar.b == 0) {
|
||||
zzbVar.c = 0;
|
||||
} else if (zzbVar.b >= zzbVar.a) {
|
||||
zzbVar.c = 1;
|
||||
} else {
|
||||
zzbVar.c = -1;
|
||||
}
|
||||
return zzbVar;
|
||||
}
|
||||
}
|
21
sources/com/google/android/gms/dynamite/zzh.java
Normal file
21
sources/com/google/android/gms/dynamite/zzh.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import dalvik.system.PathClassLoader;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
final class zzh extends PathClassLoader {
|
||||
zzh(String str, ClassLoader classLoader) {
|
||||
super(str, classLoader);
|
||||
}
|
||||
|
||||
@Override // java.lang.ClassLoader
|
||||
protected final Class<?> loadClass(String str, boolean z) throws ClassNotFoundException {
|
||||
if (!str.startsWith("java.") && !str.startsWith("android.")) {
|
||||
try {
|
||||
return findClass(str);
|
||||
} catch (ClassNotFoundException unused) {
|
||||
}
|
||||
}
|
||||
return super.loadClass(str, z);
|
||||
}
|
||||
}
|
18
sources/com/google/android/gms/dynamite/zzi.java
Normal file
18
sources/com/google/android/gms/dynamite/zzi.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.os.IInterface;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface zzi extends IInterface {
|
||||
int a(IObjectWrapper iObjectWrapper, String str, boolean z) throws RemoteException;
|
||||
|
||||
IObjectWrapper a(IObjectWrapper iObjectWrapper, String str, int i) throws RemoteException;
|
||||
|
||||
int b(IObjectWrapper iObjectWrapper, String str, boolean z) throws RemoteException;
|
||||
|
||||
IObjectWrapper b(IObjectWrapper iObjectWrapper, String str, int i) throws RemoteException;
|
||||
|
||||
int g() throws RemoteException;
|
||||
}
|
69
sources/com/google/android/gms/dynamite/zzj.java
Normal file
69
sources/com/google/android/gms/dynamite/zzj.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.os.IBinder;
|
||||
import android.os.Parcel;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class zzj extends com.google.android.gms.internal.common.zza implements zzi {
|
||||
zzj(IBinder iBinder) {
|
||||
super(iBinder, "com.google.android.gms.dynamite.IDynamiteLoader");
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzi
|
||||
public final IObjectWrapper a(IObjectWrapper iObjectWrapper, String str, int i) throws RemoteException {
|
||||
Parcel i2 = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper);
|
||||
i2.writeString(str);
|
||||
i2.writeInt(i);
|
||||
Parcel a = a(2, i2);
|
||||
IObjectWrapper a2 = IObjectWrapper.Stub.a(a.readStrongBinder());
|
||||
a.recycle();
|
||||
return a2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzi
|
||||
public final int b(IObjectWrapper iObjectWrapper, String str, boolean z) throws RemoteException {
|
||||
Parcel i = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i, iObjectWrapper);
|
||||
i.writeString(str);
|
||||
com.google.android.gms.internal.common.zzc.a(i, z);
|
||||
Parcel a = a(3, i);
|
||||
int readInt = a.readInt();
|
||||
a.recycle();
|
||||
return readInt;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzi
|
||||
public final int g() throws RemoteException {
|
||||
Parcel a = a(6, i());
|
||||
int readInt = a.readInt();
|
||||
a.recycle();
|
||||
return readInt;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzi
|
||||
public final int a(IObjectWrapper iObjectWrapper, String str, boolean z) throws RemoteException {
|
||||
Parcel i = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i, iObjectWrapper);
|
||||
i.writeString(str);
|
||||
com.google.android.gms.internal.common.zzc.a(i, z);
|
||||
Parcel a = a(5, i);
|
||||
int readInt = a.readInt();
|
||||
a.recycle();
|
||||
return readInt;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzi
|
||||
public final IObjectWrapper b(IObjectWrapper iObjectWrapper, String str, int i) throws RemoteException {
|
||||
Parcel i2 = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper);
|
||||
i2.writeString(str);
|
||||
i2.writeInt(i);
|
||||
Parcel a = a(4, i2);
|
||||
IObjectWrapper a2 = IObjectWrapper.Stub.a(a.readStrongBinder());
|
||||
a.recycle();
|
||||
return a2;
|
||||
}
|
||||
}
|
12
sources/com/google/android/gms/dynamite/zzk.java
Normal file
12
sources/com/google/android/gms/dynamite/zzk.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.os.IInterface;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface zzk extends IInterface {
|
||||
IObjectWrapper a(IObjectWrapper iObjectWrapper, String str, int i, IObjectWrapper iObjectWrapper2) throws RemoteException;
|
||||
|
||||
IObjectWrapper b(IObjectWrapper iObjectWrapper, String str, int i, IObjectWrapper iObjectWrapper2) throws RemoteException;
|
||||
}
|
39
sources/com/google/android/gms/dynamite/zzl.java
Normal file
39
sources/com/google/android/gms/dynamite/zzl.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package com.google.android.gms.dynamite;
|
||||
|
||||
import android.os.IBinder;
|
||||
import android.os.Parcel;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.dynamic.IObjectWrapper;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class zzl extends com.google.android.gms.internal.common.zza implements zzk {
|
||||
zzl(IBinder iBinder) {
|
||||
super(iBinder, "com.google.android.gms.dynamite.IDynamiteLoaderV2");
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzk
|
||||
public final IObjectWrapper a(IObjectWrapper iObjectWrapper, String str, int i, IObjectWrapper iObjectWrapper2) throws RemoteException {
|
||||
Parcel i2 = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper);
|
||||
i2.writeString(str);
|
||||
i2.writeInt(i);
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper2);
|
||||
Parcel a = a(2, i2);
|
||||
IObjectWrapper a2 = IObjectWrapper.Stub.a(a.readStrongBinder());
|
||||
a.recycle();
|
||||
return a2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.dynamite.zzk
|
||||
public final IObjectWrapper b(IObjectWrapper iObjectWrapper, String str, int i, IObjectWrapper iObjectWrapper2) throws RemoteException {
|
||||
Parcel i2 = i();
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper);
|
||||
i2.writeString(str);
|
||||
i2.writeInt(i);
|
||||
com.google.android.gms.internal.common.zzc.a(i2, iObjectWrapper2);
|
||||
Parcel a = a(3, i2);
|
||||
IObjectWrapper a2 = IObjectWrapper.Stub.a(a.readStrongBinder());
|
||||
a.recycle();
|
||||
return a2;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user