Initial version -- added millennium read funcionality
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
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;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
|
||||
/* JADX INFO: loaded from: classes2.dex */
|
||||
public abstract class RemoteCreator<T> {
|
||||
private final String zza;
|
||||
private Object zzb;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-basement@@18.3.0 */
|
||||
public static class RemoteCreatorException extends Exception {
|
||||
public RemoteCreatorException(String str) {
|
||||
super(str);
|
||||
}
|
||||
|
||||
public RemoteCreatorException(String str, Throwable th) {
|
||||
super(str, th);
|
||||
}
|
||||
}
|
||||
|
||||
protected RemoteCreator(String str) {
|
||||
this.zza = str;
|
||||
}
|
||||
|
||||
protected abstract T getRemoteCreator(IBinder iBinder);
|
||||
|
||||
protected 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user