package com.google.android.gms.tasks; import android.os.Looper; import com.google.android.gms.common.internal.Preconditions; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; /* JADX INFO: compiled from: com.google.android.gms:play-services-tasks@@18.1.0 */ /* JADX INFO: loaded from: classes2.dex */ public final class Tasks { private Tasks() { } public static TResult await(Task task) throws ExecutionException, InterruptedException { Preconditions.checkNotMainThread(); Preconditions.checkNotGoogleApiHandlerThread(); Preconditions.checkNotNull(task, "Task must not be null"); if (task.isComplete()) { return (TResult) zza(task); } zzad zzadVar = new zzad(null); zzb(task, zzadVar); zzadVar.zza(); return (TResult) zza(task); } @Deprecated public static Task call(Callable callable) { return call(TaskExecutors.MAIN_THREAD, callable); } public static Task forCanceled() { zzw zzwVar = new zzw(); zzwVar.zzc(); return zzwVar; } public static Task forException(Exception exc) { zzw zzwVar = new zzw(); zzwVar.zza(exc); return zzwVar; } public static Task forResult(TResult tresult) { zzw zzwVar = new zzw(); zzwVar.zzb(tresult); return zzwVar; } public static Task whenAll(Collection> collection) { if (collection == null || collection.isEmpty()) { return forResult(null); } Iterator> it = collection.iterator(); while (it.hasNext()) { if (it.next() == null) { throw new NullPointerException("null tasks are not accepted"); } } zzw zzwVar = new zzw(); zzaf zzafVar = new zzaf(collection.size(), zzwVar); Iterator> it2 = collection.iterator(); while (it2.hasNext()) { zzb(it2.next(), zzafVar); } return zzwVar; } public static Task>> whenAllComplete(Collection> collection) { return whenAllComplete(TaskExecutors.MAIN_THREAD, collection); } public static Task> whenAllSuccess(Collection collection) { return whenAllSuccess(TaskExecutors.MAIN_THREAD, collection); } public static Task withTimeout(Task task, long j, TimeUnit timeUnit) { Preconditions.checkNotNull(task, "Task must not be null"); Preconditions.checkArgument(j > 0, "Timeout must be positive"); Preconditions.checkNotNull(timeUnit, "TimeUnit must not be null"); final zzb zzbVar = new zzb(); final TaskCompletionSource taskCompletionSource = new TaskCompletionSource(zzbVar); final com.google.android.gms.internal.tasks.zza zzaVar = new com.google.android.gms.internal.tasks.zza(Looper.getMainLooper()); zzaVar.postDelayed(new Runnable() { // from class: com.google.android.gms.tasks.zzx @Override // java.lang.Runnable public final void run() { taskCompletionSource.trySetException(new TimeoutException()); } }, timeUnit.toMillis(j)); task.addOnCompleteListener(new OnCompleteListener() { // from class: com.google.android.gms.tasks.zzy @Override // com.google.android.gms.tasks.OnCompleteListener public final void onComplete(Task task2) { zzaVar.removeCallbacksAndMessages(null); TaskCompletionSource taskCompletionSource2 = taskCompletionSource; if (task2.isSuccessful()) { taskCompletionSource2.trySetResult(task2.getResult()); } else { if (task2.isCanceled()) { zzbVar.zza(); return; } Exception exception = task2.getException(); exception.getClass(); taskCompletionSource2.trySetException(exception); } } }); return taskCompletionSource.getTask(); } private static Object zza(Task task) throws ExecutionException { if (task.isSuccessful()) { return task.getResult(); } if (task.isCanceled()) { throw new CancellationException("Task is already canceled"); } throw new ExecutionException(task.getException()); } private static void zzb(Task task, zzae zzaeVar) { task.addOnSuccessListener(TaskExecutors.zza, zzaeVar); task.addOnFailureListener(TaskExecutors.zza, zzaeVar); task.addOnCanceledListener(TaskExecutors.zza, zzaeVar); } @Deprecated public static Task call(Executor executor, Callable callable) { Preconditions.checkNotNull(executor, "Executor must not be null"); Preconditions.checkNotNull(callable, "Callback must not be null"); zzw zzwVar = new zzw(); executor.execute(new zzz(zzwVar, callable)); return zzwVar; } public static Task>> whenAllComplete(Executor executor, Collection> collection) { return (collection == null || collection.isEmpty()) ? forResult(Collections.emptyList()) : whenAll(collection).continueWithTask(executor, new zzab(collection)); } public static Task> whenAllSuccess(Executor executor, Collection collection) { return (collection == null || collection.isEmpty()) ? forResult(Collections.emptyList()) : (Task>) whenAll((Collection>) collection).continueWith(executor, new zzaa(collection)); } public static Task>> whenAllComplete(Executor executor, Task... taskArr) { if (taskArr == null || taskArr.length == 0) { return forResult(Collections.emptyList()); } return whenAllComplete(executor, Arrays.asList(taskArr)); } public static Task> whenAllSuccess(Executor executor, Task... taskArr) { if (taskArr == null || taskArr.length == 0) { return forResult(Collections.emptyList()); } return whenAllSuccess(executor, Arrays.asList(taskArr)); } public static Task>> whenAllComplete(Task... taskArr) { if (taskArr == null || taskArr.length == 0) { return forResult(Collections.emptyList()); } return whenAllComplete(Arrays.asList(taskArr)); } public static Task> whenAllSuccess(Task... taskArr) { if (taskArr == null || taskArr.length == 0) { return forResult(Collections.emptyList()); } return whenAllSuccess(Arrays.asList(taskArr)); } public static TResult await(Task task, long j, TimeUnit timeUnit) throws ExecutionException, InterruptedException, TimeoutException { Preconditions.checkNotMainThread(); Preconditions.checkNotGoogleApiHandlerThread(); Preconditions.checkNotNull(task, "Task must not be null"); Preconditions.checkNotNull(timeUnit, "TimeUnit must not be null"); if (task.isComplete()) { return (TResult) zza(task); } zzad zzadVar = new zzad(null); zzb(task, zzadVar); if (!zzadVar.zzb(j, timeUnit)) { throw new TimeoutException("Timed out waiting for Task"); } return (TResult) zza(task); } public static Task whenAll(Task... taskArr) { if (taskArr == null || taskArr.length == 0) { return forResult(null); } return whenAll(Arrays.asList(taskArr)); } }