Initial version -- added millennium read funcionality
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
package com.google.android.gms.common.api.internal;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.os.DeadObjectException;
|
||||
import android.os.RemoteException;
|
||||
import com.google.android.gms.common.api.Api;
|
||||
import com.google.android.gms.common.api.GoogleApiClient;
|
||||
import com.google.android.gms.common.api.Result;
|
||||
import com.google.android.gms.common.api.Status;
|
||||
import com.google.android.gms.common.api.internal.BasePendingResult;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
|
||||
/* JADX INFO: loaded from: classes2.dex */
|
||||
public class BaseImplementation {
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
|
||||
public interface ResultHolder<R> {
|
||||
void setFailedResult(Status status);
|
||||
|
||||
void setResult(R r);
|
||||
}
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
|
||||
public static abstract class ApiMethodImpl<R extends Result, A extends Api.AnyClient> extends BasePendingResult<R> implements ResultHolder<R> {
|
||||
private final Api<?> api;
|
||||
private final Api.AnyClientKey<A> clientKey;
|
||||
|
||||
@Deprecated
|
||||
protected ApiMethodImpl(Api.AnyClientKey<A> anyClientKey, GoogleApiClient googleApiClient) {
|
||||
super((GoogleApiClient) Preconditions.checkNotNull(googleApiClient, "GoogleApiClient must not be null"));
|
||||
this.clientKey = (Api.AnyClientKey) Preconditions.checkNotNull(anyClientKey);
|
||||
this.api = null;
|
||||
}
|
||||
|
||||
private void setFailedResult(RemoteException remoteException) {
|
||||
setFailedResult(new Status(8, remoteException.getLocalizedMessage(), (PendingIntent) null));
|
||||
}
|
||||
|
||||
protected abstract void doExecute(A a) throws RemoteException;
|
||||
|
||||
public final Api<?> getApi() {
|
||||
return this.api;
|
||||
}
|
||||
|
||||
public final Api.AnyClientKey<A> getClientKey() {
|
||||
return this.clientKey;
|
||||
}
|
||||
|
||||
protected void onSetFailedResult(R r) {
|
||||
}
|
||||
|
||||
public final void run(A a) throws DeadObjectException {
|
||||
try {
|
||||
doExecute(a);
|
||||
} catch (DeadObjectException e) {
|
||||
setFailedResult(e);
|
||||
throw e;
|
||||
} catch (RemoteException e2) {
|
||||
setFailedResult(e2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.api.internal.BaseImplementation.ResultHolder
|
||||
public /* bridge */ /* synthetic */ void setResult(Object obj) {
|
||||
super.setResult((Result) obj);
|
||||
}
|
||||
|
||||
protected ApiMethodImpl(Api<?> api, GoogleApiClient googleApiClient) {
|
||||
super((GoogleApiClient) Preconditions.checkNotNull(googleApiClient, "GoogleApiClient must not be null"));
|
||||
Preconditions.checkNotNull(api, "Api must not be null");
|
||||
this.clientKey = api.zab();
|
||||
this.api = api;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.api.internal.BaseImplementation.ResultHolder
|
||||
public final void setFailedResult(Status status) {
|
||||
Preconditions.checkArgument(!status.isSuccess(), "Failed result must not be success");
|
||||
R rCreateFailedResult = createFailedResult(status);
|
||||
setResult((Result) rCreateFailedResult);
|
||||
onSetFailedResult(rCreateFailedResult);
|
||||
}
|
||||
|
||||
protected ApiMethodImpl(BasePendingResult.CallbackHandler<R> callbackHandler) {
|
||||
super(callbackHandler);
|
||||
this.clientKey = new Api.AnyClientKey<>();
|
||||
this.api = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user