Tasks.smali
.class public final Lcom/google/android/gms/tasks/Tasks;
.super Ljava/lang/Object;
.source "com.google.android.gms:play-services-tasks@@17.1.0"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/gms/tasks/Tasks$zzc;,
Lcom/google/android/gms/tasks/Tasks$zzb;,
Lcom/google/android/gms/tasks/Tasks$zza;
}
.end annotation
# direct methods
.method private constructor <init>()V
.registers 1
.line 74
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static await(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;)TTResult;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/ExecutionException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 16
invoke-static {}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotMainThread()V
const-string v0, "Task must not be null"
.line 17
invoke-static {p0, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 18
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isComplete()Z
move-result v0
if-eqz v0, :cond_13
.line 19
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 20
:cond_13
new-instance v0, Lcom/google/android/gms/tasks/Tasks$zzb;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/android/gms/tasks/Tasks$zzb;-><init>(Lcom/google/android/gms/tasks/zzy;)V
.line 21
invoke-static {p0, v0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Tasks$zza;)V
.line 22
invoke-virtual {v0}, Lcom/google/android/gms/tasks/Tasks$zzb;->zza()V
.line 23
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static await(Lcom/google/android/gms/tasks/Task;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;J",
"Ljava/util/concurrent/TimeUnit;",
")TTResult;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/ExecutionException;,
Ljava/lang/InterruptedException;,
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 24
invoke-static {}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotMainThread()V
const-string v0, "Task must not be null"
.line 25
invoke-static {p0, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "TimeUnit must not be null"
.line 26
invoke-static {p3, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 27
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isComplete()Z
move-result v0
if-eqz v0, :cond_18
.line 28
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 29
:cond_18
new-instance v0, Lcom/google/android/gms/tasks/Tasks$zzb;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/android/gms/tasks/Tasks$zzb;-><init>(Lcom/google/android/gms/tasks/zzy;)V
.line 30
invoke-static {p0, v0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Tasks$zza;)V
.line 31
invoke-virtual {v0, p1, p2, p3}, Lcom/google/android/gms/tasks/Tasks$zzb;->zza(JLjava/util/concurrent/TimeUnit;)Z
move-result p1
if-eqz p1, :cond_2c
.line 33
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 32
:cond_2c
new-instance p0, Ljava/util/concurrent/TimeoutException;
const-string p1, "Timed out waiting for Task"
invoke-direct {p0, p1}, Ljava/util/concurrent/TimeoutException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static call(Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TTResult;>;)",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;"
}
.end annotation
.line 10
sget-object v0, Lcom/google/android/gms/tasks/TaskExecutors;->MAIN_THREAD:Ljava/util/concurrent/Executor;
invoke-static {v0, p0}, Lcom/google/android/gms/tasks/Tasks;->call(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static call(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Callable;)Lcom/google/android/gms/tasks/Task;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Executor;",
"Ljava/util/concurrent/Callable<",
"TTResult;>;)",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;"
}
.end annotation
const-string v0, "Executor must not be null"
.line 11
invoke-static {p0, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "Callback must not be null"
.line 12
invoke-static {p1, v0}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 13
new-instance v0, Lcom/google/android/gms/tasks/zzu;
invoke-direct {v0}, Lcom/google/android/gms/tasks/zzu;-><init>()V
.line 14
new-instance v1, Lcom/google/android/gms/tasks/zzy;
invoke-direct {v1, v0, p1}, Lcom/google/android/gms/tasks/zzy;-><init>(Lcom/google/android/gms/tasks/zzu;Ljava/util/concurrent/Callable;)V
invoke-interface {p0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-object v0
.end method
.method public static forCanceled()Lcom/google/android/gms/tasks/Task;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">()",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;"
}
.end annotation
.line 7
new-instance v0, Lcom/google/android/gms/tasks/zzu;
invoke-direct {v0}, Lcom/google/android/gms/tasks/zzu;-><init>()V
.line 8
invoke-virtual {v0}, Lcom/google/android/gms/tasks/zzu;->zza()Z
return-object v0
.end method
.method public static forException(Ljava/lang/Exception;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Exception;",
")",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;"
}
.end annotation
.line 4
new-instance v0, Lcom/google/android/gms/tasks/zzu;
invoke-direct {v0}, Lcom/google/android/gms/tasks/zzu;-><init>()V
.line 5
invoke-virtual {v0, p0}, Lcom/google/android/gms/tasks/zzu;->zza(Ljava/lang/Exception;)V
return-object v0
.end method
.method public static forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(TTResult;)",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/android/gms/tasks/zzu;
invoke-direct {v0}, Lcom/google/android/gms/tasks/zzu;-><init>()V
.line 2
invoke-virtual {v0, p0}, Lcom/google/android/gms/tasks/zzu;->zza(Ljava/lang/Object;)V
return-object v0
.end method
.method public static whenAll(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Lcom/google/android/gms/tasks/Task<",
"*>;>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/lang/Void;",
">;"
}
.end annotation
if-eqz p0, :cond_47
.line 34
invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_47
.line 36
:cond_9
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_d
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_24
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/android/gms/tasks/Task;
if-eqz v1, :cond_1c
goto :goto_d
.line 38
:cond_1c
new-instance p0, Ljava/lang/NullPointerException;
const-string v0, "null tasks are not accepted"
invoke-direct {p0, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
.line 40
:cond_24
new-instance v0, Lcom/google/android/gms/tasks/zzu;
invoke-direct {v0}, Lcom/google/android/gms/tasks/zzu;-><init>()V
.line 41
new-instance v1, Lcom/google/android/gms/tasks/Tasks$zzc;
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v2
invoke-direct {v1, v2, v0}, Lcom/google/android/gms/tasks/Tasks$zzc;-><init>(ILcom/google/android/gms/tasks/zzu;)V
.line 42
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_36
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_46
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/gms/tasks/Task;
.line 43
invoke-static {v2, v1}, Lcom/google/android/gms/tasks/Tasks;->zza(Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Tasks$zza;)V
goto :goto_36
:cond_46
return-object v0
:cond_47
:goto_47
const/4 p0, 0x0
.line 35
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static varargs whenAll([Lcom/google/android/gms/tasks/Task;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lcom/google/android/gms/tasks/Task<",
"*>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/lang/Void;",
">;"
}
.end annotation
if-eqz p0, :cond_f
.line 46
array-length v0, p0
if-nez v0, :cond_6
goto :goto_f
.line 48
:cond_6
invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->whenAll(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
:cond_f
:goto_f
const/4 p0, 0x0
.line 47
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static whenAllComplete(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Lcom/google/android/gms/tasks/Task<",
"*>;>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/util/List<",
"Lcom/google/android/gms/tasks/Task<",
"*>;>;>;"
}
.end annotation
if-eqz p0, :cond_17
.line 57
invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_17
.line 59
:cond_9
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->whenAll(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
move-result-object v0
new-instance v1, Lcom/google/android/gms/tasks/zzz;
invoke-direct {v1, p0}, Lcom/google/android/gms/tasks/zzz;-><init>(Ljava/util/Collection;)V
.line 60
invoke-virtual {v0, v1}, Lcom/google/android/gms/tasks/Task;->continueWithTask(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.line 58
:cond_17
:goto_17
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static varargs whenAllComplete([Lcom/google/android/gms/tasks/Task;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lcom/google/android/gms/tasks/Task<",
"*>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/util/List<",
"Lcom/google/android/gms/tasks/Task<",
"*>;>;>;"
}
.end annotation
if-eqz p0, :cond_f
.line 62
array-length v0, p0
if-nez v0, :cond_6
goto :goto_f
.line 64
:cond_6
invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->whenAllComplete(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.line 63
:cond_f
:goto_f
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static whenAllSuccess(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"+",
"Lcom/google/android/gms/tasks/Task<",
"*>;>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/util/List<",
"TTResult;>;>;"
}
.end annotation
if-eqz p0, :cond_17
.line 49
invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_9
goto :goto_17
.line 51
:cond_9
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->whenAll(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
move-result-object v0
new-instance v1, Lcom/google/android/gms/tasks/zzaa;
invoke-direct {v1, p0}, Lcom/google/android/gms/tasks/zzaa;-><init>(Ljava/util/Collection;)V
.line 52
invoke-virtual {v0, v1}, Lcom/google/android/gms/tasks/Task;->continueWith(Lcom/google/android/gms/tasks/Continuation;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.line 50
:cond_17
:goto_17
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method public static varargs whenAllSuccess([Lcom/google/android/gms/tasks/Task;)Lcom/google/android/gms/tasks/Task;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">([",
"Lcom/google/android/gms/tasks/Task<",
"*>;)",
"Lcom/google/android/gms/tasks/Task<",
"Ljava/util/List<",
"TTResult;>;>;"
}
.end annotation
if-eqz p0, :cond_f
.line 54
array-length v0, p0
if-nez v0, :cond_6
goto :goto_f
.line 56
:cond_6
invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->whenAllSuccess(Ljava/util/Collection;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.line 55
:cond_f
:goto_f
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
invoke-static {p0}, Lcom/google/android/gms/tasks/Tasks;->forResult(Ljava/lang/Object;)Lcom/google/android/gms/tasks/Task;
move-result-object p0
return-object p0
.end method
.method private static zza(Lcom/google/android/gms/tasks/Task;)Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<TResult:",
"Ljava/lang/Object;",
">(",
"Lcom/google/android/gms/tasks/Task<",
"TTResult;>;)TTResult;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/ExecutionException;
}
.end annotation
.line 65
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isSuccessful()Z
move-result v0
if-eqz v0, :cond_b
.line 66
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->getResult()Ljava/lang/Object;
move-result-object p0
return-object p0
.line 67
:cond_b
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->isCanceled()Z
move-result v0
if-eqz v0, :cond_19
.line 68
new-instance p0, Ljava/util/concurrent/CancellationException;
const-string v0, "Task is already canceled"
invoke-direct {p0, v0}, Ljava/util/concurrent/CancellationException;-><init>(Ljava/lang/String;)V
throw p0
.line 69
:cond_19
new-instance v0, Ljava/util/concurrent/ExecutionException;
invoke-virtual {p0}, Lcom/google/android/gms/tasks/Task;->getException()Ljava/lang/Exception;
move-result-object p0
invoke-direct {v0, p0}, Ljava/util/concurrent/ExecutionException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method private static zza(Lcom/google/android/gms/tasks/Task;Lcom/google/android/gms/tasks/Tasks$zza;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/gms/tasks/Task<",
"*>;",
"Lcom/google/android/gms/tasks/Tasks$zza;",
")V"
}
.end annotation
.line 70
sget-object v0, Lcom/google/android/gms/tasks/TaskExecutors;->zza:Ljava/util/concurrent/Executor;
invoke-virtual {p0, v0, p1}, Lcom/google/android/gms/tasks/Task;->addOnSuccessListener(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnSuccessListener;)Lcom/google/android/gms/tasks/Task;
.line 71
sget-object v0, Lcom/google/android/gms/tasks/TaskExecutors;->zza:Ljava/util/concurrent/Executor;
invoke-virtual {p0, v0, p1}, Lcom/google/android/gms/tasks/Task;->addOnFailureListener(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnFailureListener;)Lcom/google/android/gms/tasks/Task;
.line 72
sget-object v0, Lcom/google/android/gms/tasks/TaskExecutors;->zza:Ljava/util/concurrent/Executor;
invoke-virtual {p0, v0, p1}, Lcom/google/android/gms/tasks/Task;->addOnCanceledListener(Ljava/util/concurrent/Executor;Lcom/google/android/gms/tasks/OnCanceledListener;)Lcom/google/android/gms/tasks/Task;
return-void
.end method