- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
347 lines
11 KiB
Java
347 lines
11 KiB
Java
package com.google.android.gms.tasks;
|
|
|
|
import android.app.Activity;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import com.google.android.gms.common.internal.Preconditions;
|
|
import java.util.concurrent.CancellationException;
|
|
import java.util.concurrent.Executor;
|
|
|
|
/* loaded from: classes3.dex */
|
|
final class zzw<TResult> extends Task<TResult> {
|
|
private final Object zza = new Object();
|
|
private final zzr zzb = new zzr();
|
|
private boolean zzc;
|
|
private volatile boolean zzd;
|
|
|
|
@Nullable
|
|
private Object zze;
|
|
private Exception zzf;
|
|
|
|
private final void zzf() {
|
|
Preconditions.checkState(this.zzc, "Task is not yet complete");
|
|
}
|
|
|
|
private final void zzg() {
|
|
if (this.zzd) {
|
|
throw new CancellationException("Task is already canceled.");
|
|
}
|
|
}
|
|
|
|
private final void zzh() {
|
|
if (this.zzc) {
|
|
throw DuplicateTaskCompletionException.of(this);
|
|
}
|
|
}
|
|
|
|
private final void zzi() {
|
|
synchronized (this.zza) {
|
|
try {
|
|
if (this.zzc) {
|
|
this.zzb.zzb(this);
|
|
}
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCanceledListener(@NonNull Activity activity, @NonNull OnCanceledListener onCanceledListener) {
|
|
zzh zzhVar = new zzh(TaskExecutors.MAIN_THREAD, onCanceledListener);
|
|
this.zzb.zza(zzhVar);
|
|
zzv.zza(activity).zzb(zzhVar);
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCompleteListener(@NonNull Activity activity, @NonNull OnCompleteListener<TResult> onCompleteListener) {
|
|
zzj zzjVar = new zzj(TaskExecutors.MAIN_THREAD, onCompleteListener);
|
|
this.zzb.zza(zzjVar);
|
|
zzv.zza(activity).zzb(zzjVar);
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnFailureListener(@NonNull Activity activity, @NonNull OnFailureListener onFailureListener) {
|
|
zzl zzlVar = new zzl(TaskExecutors.MAIN_THREAD, onFailureListener);
|
|
this.zzb.zza(zzlVar);
|
|
zzv.zza(activity).zzb(zzlVar);
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnSuccessListener(@NonNull Activity activity, @NonNull OnSuccessListener<? super TResult> onSuccessListener) {
|
|
zzn zznVar = new zzn(TaskExecutors.MAIN_THREAD, onSuccessListener);
|
|
this.zzb.zza(zznVar);
|
|
zzv.zza(activity).zzb(zznVar);
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> continueWith(@NonNull Continuation<TResult, TContinuationResult> continuation) {
|
|
return continueWith(TaskExecutors.MAIN_THREAD, continuation);
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> continueWithTask(@NonNull Continuation<TResult, Task<TContinuationResult>> continuation) {
|
|
return continueWithTask(TaskExecutors.MAIN_THREAD, continuation);
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@Nullable
|
|
public final Exception getException() {
|
|
Exception exc;
|
|
synchronized (this.zza) {
|
|
exc = this.zzf;
|
|
}
|
|
return exc;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
public final TResult getResult() {
|
|
TResult tresult;
|
|
synchronized (this.zza) {
|
|
try {
|
|
zzf();
|
|
zzg();
|
|
Exception exc = this.zzf;
|
|
if (exc != null) {
|
|
throw new RuntimeExecutionException(exc);
|
|
}
|
|
tresult = (TResult) this.zze;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
return tresult;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
public final boolean isCanceled() {
|
|
return this.zzd;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
public final boolean isComplete() {
|
|
boolean z;
|
|
synchronized (this.zza) {
|
|
z = this.zzc;
|
|
}
|
|
return z;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
public final boolean isSuccessful() {
|
|
boolean z;
|
|
synchronized (this.zza) {
|
|
try {
|
|
z = false;
|
|
if (this.zzc && !this.zzd && this.zzf == null) {
|
|
z = true;
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
return z;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> onSuccessTask(@NonNull SuccessContinuation<TResult, TContinuationResult> successContinuation) {
|
|
Executor executor = TaskExecutors.MAIN_THREAD;
|
|
zzw zzwVar = new zzw();
|
|
this.zzb.zza(new zzp(executor, successContinuation, zzwVar));
|
|
zzi();
|
|
return zzwVar;
|
|
}
|
|
|
|
public final void zza(@NonNull Exception exc) {
|
|
Preconditions.checkNotNull(exc, "Exception must not be null");
|
|
synchronized (this.zza) {
|
|
zzh();
|
|
this.zzc = true;
|
|
this.zzf = exc;
|
|
}
|
|
this.zzb.zzb(this);
|
|
}
|
|
|
|
public final void zzb(@Nullable Object obj) {
|
|
synchronized (this.zza) {
|
|
zzh();
|
|
this.zzc = true;
|
|
this.zze = obj;
|
|
}
|
|
this.zzb.zzb(this);
|
|
}
|
|
|
|
public final boolean zzc() {
|
|
synchronized (this.zza) {
|
|
try {
|
|
if (this.zzc) {
|
|
return false;
|
|
}
|
|
this.zzc = true;
|
|
this.zzd = true;
|
|
this.zzb.zzb(this);
|
|
return true;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final boolean zzd(@NonNull Exception exc) {
|
|
Preconditions.checkNotNull(exc, "Exception must not be null");
|
|
synchronized (this.zza) {
|
|
try {
|
|
if (this.zzc) {
|
|
return false;
|
|
}
|
|
this.zzc = true;
|
|
this.zzf = exc;
|
|
this.zzb.zzb(this);
|
|
return true;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final boolean zze(@Nullable Object obj) {
|
|
synchronized (this.zza) {
|
|
try {
|
|
if (this.zzc) {
|
|
return false;
|
|
}
|
|
this.zzc = true;
|
|
this.zze = obj;
|
|
this.zzb.zzb(this);
|
|
return true;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> continueWith(@NonNull Executor executor, @NonNull Continuation<TResult, TContinuationResult> continuation) {
|
|
zzw zzwVar = new zzw();
|
|
this.zzb.zza(new zzd(executor, continuation, zzwVar));
|
|
zzi();
|
|
return zzwVar;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> continueWithTask(@NonNull Executor executor, @NonNull Continuation<TResult, Task<TContinuationResult>> continuation) {
|
|
zzw zzwVar = new zzw();
|
|
this.zzb.zza(new zzf(executor, continuation, zzwVar));
|
|
zzi();
|
|
return zzwVar;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCanceledListener(@NonNull OnCanceledListener onCanceledListener) {
|
|
addOnCanceledListener(TaskExecutors.MAIN_THREAD, onCanceledListener);
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCompleteListener(@NonNull OnCompleteListener<TResult> onCompleteListener) {
|
|
this.zzb.zza(new zzj(TaskExecutors.MAIN_THREAD, onCompleteListener));
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnFailureListener(@NonNull OnFailureListener onFailureListener) {
|
|
addOnFailureListener(TaskExecutors.MAIN_THREAD, onFailureListener);
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnSuccessListener(@NonNull OnSuccessListener<? super TResult> onSuccessListener) {
|
|
addOnSuccessListener(TaskExecutors.MAIN_THREAD, onSuccessListener);
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final <TContinuationResult> Task<TContinuationResult> onSuccessTask(Executor executor, SuccessContinuation<TResult, TContinuationResult> successContinuation) {
|
|
zzw zzwVar = new zzw();
|
|
this.zzb.zza(new zzp(executor, successContinuation, zzwVar));
|
|
zzi();
|
|
return zzwVar;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCanceledListener(@NonNull Executor executor, @NonNull OnCanceledListener onCanceledListener) {
|
|
this.zzb.zza(new zzh(executor, onCanceledListener));
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnFailureListener(@NonNull Executor executor, @NonNull OnFailureListener onFailureListener) {
|
|
this.zzb.zza(new zzl(executor, onFailureListener));
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnSuccessListener(@NonNull Executor executor, @NonNull OnSuccessListener<? super TResult> onSuccessListener) {
|
|
this.zzb.zza(new zzn(executor, onSuccessListener));
|
|
zzi();
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
public final <X extends Throwable> TResult getResult(@NonNull Class<X> cls) throws Throwable {
|
|
TResult tresult;
|
|
synchronized (this.zza) {
|
|
try {
|
|
zzf();
|
|
zzg();
|
|
if (cls.isInstance(this.zzf)) {
|
|
throw cls.cast(this.zzf);
|
|
}
|
|
Exception exc = this.zzf;
|
|
if (exc != null) {
|
|
throw new RuntimeExecutionException(exc);
|
|
}
|
|
tresult = (TResult) this.zze;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
return tresult;
|
|
}
|
|
|
|
@Override // com.google.android.gms.tasks.Task
|
|
@NonNull
|
|
public final Task<TResult> addOnCompleteListener(@NonNull Executor executor, @NonNull OnCompleteListener<TResult> onCompleteListener) {
|
|
this.zzb.zza(new zzj(executor, onCompleteListener));
|
|
zzi();
|
|
return this;
|
|
}
|
|
}
|