147 lines
5.4 KiB
Java
147 lines
5.4 KiB
Java
package com.google.android.gms.common.api.internal;
|
|
|
|
import android.os.Looper;
|
|
import android.util.Log;
|
|
import com.google.android.gms.common.api.GoogleApiClient;
|
|
import com.google.android.gms.common.api.PendingResult;
|
|
import com.google.android.gms.common.api.Releasable;
|
|
import com.google.android.gms.common.api.Result;
|
|
import com.google.android.gms.common.api.ResultCallback;
|
|
import com.google.android.gms.common.api.ResultCallbacks;
|
|
import com.google.android.gms.common.api.ResultTransform;
|
|
import com.google.android.gms.common.api.Status;
|
|
import com.google.android.gms.common.api.TransformedResult;
|
|
import com.google.android.gms.common.internal.Preconditions;
|
|
import java.lang.ref.WeakReference;
|
|
|
|
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
|
|
/* JADX INFO: loaded from: classes2.dex */
|
|
public final class zada<R extends Result> extends TransformedResult<R> implements ResultCallback<R> {
|
|
private final WeakReference zag;
|
|
private final zacz zah;
|
|
private ResultTransform zaa = null;
|
|
private zada zab = null;
|
|
private volatile ResultCallbacks zac = null;
|
|
private PendingResult zad = null;
|
|
private final Object zae = new Object();
|
|
private Status zaf = null;
|
|
private boolean zai = false;
|
|
|
|
public zada(WeakReference weakReference) {
|
|
Preconditions.checkNotNull(weakReference, "GoogleApiClient reference must not be null");
|
|
this.zag = weakReference;
|
|
GoogleApiClient googleApiClient = (GoogleApiClient) weakReference.get();
|
|
this.zah = new zacz(this, googleApiClient != null ? googleApiClient.getLooper() : Looper.getMainLooper());
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public final void zaj(Status status) {
|
|
synchronized (this.zae) {
|
|
this.zaf = status;
|
|
zal(status);
|
|
}
|
|
}
|
|
|
|
private final void zak() {
|
|
if (this.zaa == null && this.zac == null) {
|
|
return;
|
|
}
|
|
GoogleApiClient googleApiClient = (GoogleApiClient) this.zag.get();
|
|
if (!this.zai && this.zaa != null && googleApiClient != null) {
|
|
googleApiClient.zao(this);
|
|
this.zai = true;
|
|
}
|
|
Status status = this.zaf;
|
|
if (status != null) {
|
|
zal(status);
|
|
return;
|
|
}
|
|
PendingResult pendingResult = this.zad;
|
|
if (pendingResult != null) {
|
|
pendingResult.setResultCallback(this);
|
|
}
|
|
}
|
|
|
|
private final void zal(Status status) {
|
|
synchronized (this.zae) {
|
|
ResultTransform resultTransform = this.zaa;
|
|
if (resultTransform != null) {
|
|
((zada) Preconditions.checkNotNull(this.zab)).zaj((Status) Preconditions.checkNotNull(resultTransform.onFailure(status), "onFailure must not return null"));
|
|
} else if (zam()) {
|
|
((ResultCallbacks) Preconditions.checkNotNull(this.zac)).onFailure(status);
|
|
}
|
|
}
|
|
}
|
|
|
|
private final boolean zam() {
|
|
return (this.zac == null || ((GoogleApiClient) this.zag.get()) == null) ? false : true;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static final void zan(Result result) {
|
|
if (result instanceof Releasable) {
|
|
try {
|
|
((Releasable) result).release();
|
|
} catch (RuntimeException e) {
|
|
Log.w("TransformedResultImpl", "Unable to release ".concat(String.valueOf(String.valueOf(result))), e);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.common.api.TransformedResult
|
|
public final void andFinally(ResultCallbacks<? super R> resultCallbacks) {
|
|
synchronized (this.zae) {
|
|
boolean z = true;
|
|
Preconditions.checkState(this.zac == null, "Cannot call andFinally() twice.");
|
|
if (this.zaa != null) {
|
|
z = false;
|
|
}
|
|
Preconditions.checkState(z, "Cannot call then() and andFinally() on the same TransformedResult.");
|
|
this.zac = resultCallbacks;
|
|
zak();
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.common.api.ResultCallback
|
|
public final void onResult(Result result) {
|
|
synchronized (this.zae) {
|
|
if (!result.getStatus().isSuccess()) {
|
|
zaj(result.getStatus());
|
|
zan(result);
|
|
} else if (this.zaa != null) {
|
|
zaco.zaa().submit(new zacy(this, result));
|
|
} else if (zam()) {
|
|
((ResultCallbacks) Preconditions.checkNotNull(this.zac)).onSuccess(result);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.common.api.TransformedResult
|
|
public final <S extends Result> TransformedResult<S> then(ResultTransform<? super R, ? extends S> resultTransform) {
|
|
zada zadaVar;
|
|
synchronized (this.zae) {
|
|
boolean z = true;
|
|
Preconditions.checkState(this.zaa == null, "Cannot call then() twice.");
|
|
if (this.zac != null) {
|
|
z = false;
|
|
}
|
|
Preconditions.checkState(z, "Cannot call then() and andFinally() on the same TransformedResult.");
|
|
this.zaa = resultTransform;
|
|
zadaVar = new zada(this.zag);
|
|
this.zab = zadaVar;
|
|
zak();
|
|
}
|
|
return zadaVar;
|
|
}
|
|
|
|
final void zah() {
|
|
this.zac = null;
|
|
}
|
|
|
|
public final void zai(PendingResult pendingResult) {
|
|
synchronized (this.zae) {
|
|
this.zad = pendingResult;
|
|
zak();
|
|
}
|
|
}
|
|
} |