50 lines
1.8 KiB
Java
50 lines
1.8 KiB
Java
|
package com.google.android.gms.dynamic;
|
||
|
|
||
|
import android.content.Context;
|
||
|
import android.os.IBinder;
|
||
|
import com.google.android.gms.common.GooglePlayServicesUtilLight;
|
||
|
import com.google.android.gms.common.internal.Preconditions;
|
||
|
|
||
|
/* loaded from: classes2.dex */
|
||
|
public abstract class RemoteCreator<T> {
|
||
|
private final String zza;
|
||
|
private Object zzb;
|
||
|
|
||
|
/* loaded from: classes2.dex */
|
||
|
public static class RemoteCreatorException extends Exception {
|
||
|
public RemoteCreatorException(String str) {
|
||
|
super(str);
|
||
|
}
|
||
|
|
||
|
public RemoteCreatorException(String str, Throwable th) {
|
||
|
super(str, th);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
protected abstract T getRemoteCreator(IBinder iBinder);
|
||
|
|
||
|
public final T getRemoteCreatorInstance(Context context) throws RemoteCreatorException {
|
||
|
if (this.zzb == null) {
|
||
|
Preconditions.checkNotNull(context);
|
||
|
Context remoteContext = GooglePlayServicesUtilLight.getRemoteContext(context);
|
||
|
if (remoteContext == null) {
|
||
|
throw new RemoteCreatorException("Could not get remote context.");
|
||
|
}
|
||
|
try {
|
||
|
this.zzb = getRemoteCreator((IBinder) remoteContext.getClassLoader().loadClass(this.zza).newInstance());
|
||
|
} catch (ClassNotFoundException e) {
|
||
|
throw new RemoteCreatorException("Could not load creator class.", e);
|
||
|
} catch (IllegalAccessException e2) {
|
||
|
throw new RemoteCreatorException("Could not access creator.", e2);
|
||
|
} catch (InstantiationException e3) {
|
||
|
throw new RemoteCreatorException("Could not instantiate creator.", e3);
|
||
|
}
|
||
|
}
|
||
|
return (T) this.zzb;
|
||
|
}
|
||
|
|
||
|
public RemoteCreator(String str) {
|
||
|
this.zza = str;
|
||
|
}
|
||
|
}
|