Changes of com.discord v278
This commit is contained in:
commit
50139b7f2b
9540 changed files with 1817693 additions and 0 deletions
354
com.discord/smali/bolts/AggregateException.smali
Normal file
354
com.discord/smali/bolts/AggregateException.smali
Normal file
|
@ -0,0 +1,354 @@
|
|||
.class public Lbolts/AggregateException;
|
||||
.super Ljava/lang/Exception;
|
||||
.source "AggregateException.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field private static final DEFAULT_MESSAGE:Ljava/lang/String; = "There were multiple errors."
|
||||
|
||||
.field private static final serialVersionUID:J = 0x1L
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private innerThrowables:Ljava/util/List;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/util/List",
|
||||
"<",
|
||||
"Ljava/lang/Throwable;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Ljava/lang/String;Ljava/util/List;)V
|
||||
.locals 1
|
||||
.param p1, "detailMessage" # Ljava/lang/String;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Ljava/lang/String;",
|
||||
"Ljava/util/List",
|
||||
"<+",
|
||||
"Ljava/lang/Throwable;",
|
||||
">;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p2, "innerThrowables":Ljava/util/List;, "Ljava/util/List<+Ljava/lang/Throwable;>;"
|
||||
if-eqz p2, :cond_0
|
||||
|
||||
invoke-interface {p2}, Ljava/util/List;->size()I
|
||||
|
||||
move-result v0
|
||||
|
||||
if-lez v0, :cond_0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-interface {p2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
check-cast v0, Ljava/lang/Throwable;
|
||||
|
||||
:goto_0
|
||||
invoke-direct {p0, p1, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
||||
|
||||
invoke-static {p2}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iput-object v0, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Ljava/lang/String;[Ljava/lang/Throwable;)V
|
||||
.locals 1
|
||||
.param p1, "detailMessage" # Ljava/lang/String;
|
||||
.param p2, "innerThrowables" # [Ljava/lang/Throwable;
|
||||
|
||||
.prologue
|
||||
invoke-static {p2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-direct {p0, p1, v0}, Lbolts/AggregateException;-><init>(Ljava/lang/String;Ljava/util/List;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Ljava/util/List;)V
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Ljava/util/List",
|
||||
"<+",
|
||||
"Ljava/lang/Throwable;",
|
||||
">;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "innerThrowables":Ljava/util/List;, "Ljava/util/List<+Ljava/lang/Throwable;>;"
|
||||
const-string v0, "There were multiple errors."
|
||||
|
||||
invoke-direct {p0, v0, p1}, Lbolts/AggregateException;-><init>(Ljava/lang/String;Ljava/util/List;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getCauses()[Ljava/lang/Throwable;
|
||||
.locals 2
|
||||
.annotation runtime Ljava/lang/Deprecated;
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
iget-object v1, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
invoke-interface {v1}, Ljava/util/List;->size()I
|
||||
|
||||
move-result v1
|
||||
|
||||
new-array v1, v1, [Ljava/lang/Throwable;
|
||||
|
||||
invoke-interface {v0, v1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
check-cast v0, [Ljava/lang/Throwable;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public getErrors()Ljava/util/List;
|
||||
.locals 4
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"()",
|
||||
"Ljava/util/List",
|
||||
"<",
|
||||
"Ljava/lang/Exception;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Ljava/lang/Deprecated;
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
new-instance v1, Ljava/util/ArrayList;
|
||||
|
||||
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
|
||||
|
||||
.local v1, "errors":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Exception;>;"
|
||||
iget-object v3, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
if-nez v3, :cond_1
|
||||
|
||||
:cond_0
|
||||
return-object v1
|
||||
|
||||
:cond_1
|
||||
iget-object v3, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
.local v2, "i$":Ljava/util/Iterator;
|
||||
:goto_0
|
||||
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v3
|
||||
|
||||
if-eqz v3, :cond_0
|
||||
|
||||
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
check-cast v0, Ljava/lang/Throwable;
|
||||
|
||||
.local v0, "cause":Ljava/lang/Throwable;
|
||||
instance-of v3, v0, Ljava/lang/Exception;
|
||||
|
||||
if-eqz v3, :cond_2
|
||||
|
||||
check-cast v0, Ljava/lang/Exception;
|
||||
|
||||
.end local v0 # "cause":Ljava/lang/Throwable;
|
||||
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.restart local v0 # "cause":Ljava/lang/Throwable;
|
||||
:cond_2
|
||||
new-instance v3, Ljava/lang/Exception;
|
||||
|
||||
invoke-direct {v3, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/Throwable;)V
|
||||
|
||||
invoke-interface {v1, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public getInnerThrowables()Ljava/util/List;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"()",
|
||||
"Ljava/util/List",
|
||||
"<",
|
||||
"Ljava/lang/Throwable;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public printStackTrace(Ljava/io/PrintStream;)V
|
||||
.locals 4
|
||||
.param p1, "err" # Ljava/io/PrintStream;
|
||||
|
||||
.prologue
|
||||
invoke-super {p0, p1}, Ljava/lang/Exception;->printStackTrace(Ljava/io/PrintStream;)V
|
||||
|
||||
const/4 v0, -0x1
|
||||
|
||||
.local v0, "currentIndex":I
|
||||
iget-object v3, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
.local v1, "i$":Ljava/util/Iterator;
|
||||
:goto_0
|
||||
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v3
|
||||
|
||||
if-eqz v3, :cond_0
|
||||
|
||||
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
check-cast v2, Ljava/lang/Throwable;
|
||||
|
||||
.local v2, "throwable":Ljava/lang/Throwable;
|
||||
const-string v3, "\n"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;
|
||||
|
||||
const-string v3, " Inner throwable #"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;
|
||||
|
||||
const-string v3, ": "
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;
|
||||
|
||||
invoke-virtual {v2, p1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V
|
||||
|
||||
const-string v3, "\n"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v2 # "throwable":Ljava/lang/Throwable;
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public printStackTrace(Ljava/io/PrintWriter;)V
|
||||
.locals 4
|
||||
.param p1, "err" # Ljava/io/PrintWriter;
|
||||
|
||||
.prologue
|
||||
invoke-super {p0, p1}, Ljava/lang/Exception;->printStackTrace(Ljava/io/PrintWriter;)V
|
||||
|
||||
const/4 v0, -0x1
|
||||
|
||||
.local v0, "currentIndex":I
|
||||
iget-object v3, p0, Lbolts/AggregateException;->innerThrowables:Ljava/util/List;
|
||||
|
||||
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
.local v1, "i$":Ljava/util/Iterator;
|
||||
:goto_0
|
||||
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v3
|
||||
|
||||
if-eqz v3, :cond_0
|
||||
|
||||
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
check-cast v2, Ljava/lang/Throwable;
|
||||
|
||||
.local v2, "throwable":Ljava/lang/Throwable;
|
||||
const-string v3, "\n"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
|
||||
|
||||
const-string v3, " Inner throwable #"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
|
||||
|
||||
const-string v3, ": "
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
|
||||
|
||||
invoke-virtual {v2, p1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
|
||||
|
||||
const-string v3, "\n"
|
||||
|
||||
invoke-virtual {p1, v3}, Ljava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v2 # "throwable":Ljava/lang/Throwable;
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
14
com.discord/smali/bolts/AndroidExecutors$1.smali
Normal file
14
com.discord/smali/bolts/AndroidExecutors$1.smali
Normal file
|
@ -0,0 +1,14 @@
|
|||
.class synthetic Lbolts/AndroidExecutors$1;
|
||||
.super Ljava/lang/Object;
|
||||
.source "AndroidExecutors.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/AndroidExecutors;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1008
|
||||
name = null
|
||||
.end annotation
|
|
@ -0,0 +1,58 @@
|
|||
.class Lbolts/AndroidExecutors$UIThreadExecutor;
|
||||
.super Ljava/lang/Object;
|
||||
.source "AndroidExecutors.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/util/concurrent/Executor;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/AndroidExecutors;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0xa
|
||||
name = "UIThreadExecutor"
|
||||
.end annotation
|
||||
|
||||
|
||||
# direct methods
|
||||
.method private constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method synthetic constructor <init>(Lbolts/AndroidExecutors$1;)V
|
||||
.locals 0
|
||||
.param p1, "x0" # Lbolts/AndroidExecutors$1;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Lbolts/AndroidExecutors$UIThreadExecutor;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public execute(Ljava/lang/Runnable;)V
|
||||
.locals 2
|
||||
.param p1, "command" # Ljava/lang/Runnable;
|
||||
|
||||
.prologue
|
||||
new-instance v0, Landroid/os/Handler;
|
||||
|
||||
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
|
||||
|
||||
return-void
|
||||
.end method
|
177
com.discord/smali/bolts/AndroidExecutors.smali
Normal file
177
com.discord/smali/bolts/AndroidExecutors.smali
Normal file
|
@ -0,0 +1,177 @@
|
|||
.class final Lbolts/AndroidExecutors;
|
||||
.super Ljava/lang/Object;
|
||||
.source "AndroidExecutors.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Lbolts/AndroidExecutors$1;,
|
||||
Lbolts/AndroidExecutors$UIThreadExecutor;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field static final CORE_POOL_SIZE:I
|
||||
|
||||
.field private static final CPU_COUNT:I
|
||||
|
||||
.field private static final INSTANCE:Lbolts/AndroidExecutors;
|
||||
|
||||
.field static final KEEP_ALIVE_TIME:J = 0x1L
|
||||
|
||||
.field static final MAX_POOL_SIZE:I
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final uiThread:Ljava/util/concurrent/Executor;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method static constructor <clinit>()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
new-instance v0, Lbolts/AndroidExecutors;
|
||||
|
||||
invoke-direct {v0}, Lbolts/AndroidExecutors;-><init>()V
|
||||
|
||||
sput-object v0, Lbolts/AndroidExecutors;->INSTANCE:Lbolts/AndroidExecutors;
|
||||
|
||||
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I
|
||||
|
||||
move-result v0
|
||||
|
||||
sput v0, Lbolts/AndroidExecutors;->CPU_COUNT:I
|
||||
|
||||
sget v0, Lbolts/AndroidExecutors;->CPU_COUNT:I
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
sput v0, Lbolts/AndroidExecutors;->CORE_POOL_SIZE:I
|
||||
|
||||
sget v0, Lbolts/AndroidExecutors;->CPU_COUNT:I
|
||||
|
||||
mul-int/lit8 v0, v0, 0x2
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
sput v0, Lbolts/AndroidExecutors;->MAX_POOL_SIZE:I
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private constructor <init>()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
new-instance v0, Lbolts/AndroidExecutors$UIThreadExecutor;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-direct {v0, v1}, Lbolts/AndroidExecutors$UIThreadExecutor;-><init>(Lbolts/AndroidExecutors$1;)V
|
||||
|
||||
iput-object v0, p0, Lbolts/AndroidExecutors;->uiThread:Ljava/util/concurrent/Executor;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static allowCoreThreadTimeout(Ljava/util/concurrent/ThreadPoolExecutor;Z)V
|
||||
.locals 2
|
||||
.param p0, "executor" # Ljava/util/concurrent/ThreadPoolExecutor;
|
||||
.param p1, "value" # Z
|
||||
.annotation build Landroid/annotation/SuppressLint;
|
||||
value = {
|
||||
"NewApi"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
|
||||
|
||||
const/16 v1, 0x9
|
||||
|
||||
if-lt v0, v1, :cond_0
|
||||
|
||||
invoke-virtual {p0, p1}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
|
||||
.locals 8
|
||||
|
||||
.prologue
|
||||
new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor;
|
||||
|
||||
sget v2, Lbolts/AndroidExecutors;->CORE_POOL_SIZE:I
|
||||
|
||||
sget v3, Lbolts/AndroidExecutors;->MAX_POOL_SIZE:I
|
||||
|
||||
const-wide/16 v4, 0x1
|
||||
|
||||
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
|
||||
|
||||
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
|
||||
|
||||
invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
|
||||
|
||||
invoke-direct/range {v1 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
|
||||
|
||||
.local v1, "executor":Ljava/util/concurrent/ThreadPoolExecutor;
|
||||
const/4 v0, 0x1
|
||||
|
||||
invoke-static {v1, v0}, Lbolts/AndroidExecutors;->allowCoreThreadTimeout(Ljava/util/concurrent/ThreadPoolExecutor;Z)V
|
||||
|
||||
return-object v1
|
||||
.end method
|
||||
|
||||
.method public static newCachedThreadPool(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
|
||||
.locals 9
|
||||
.param p0, "threadFactory" # Ljava/util/concurrent/ThreadFactory;
|
||||
|
||||
.prologue
|
||||
new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor;
|
||||
|
||||
sget v2, Lbolts/AndroidExecutors;->CORE_POOL_SIZE:I
|
||||
|
||||
sget v3, Lbolts/AndroidExecutors;->MAX_POOL_SIZE:I
|
||||
|
||||
const-wide/16 v4, 0x1
|
||||
|
||||
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
|
||||
|
||||
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
|
||||
|
||||
invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
|
||||
|
||||
move-object v8, p0
|
||||
|
||||
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
|
||||
|
||||
.local v1, "executor":Ljava/util/concurrent/ThreadPoolExecutor;
|
||||
const/4 v0, 0x1
|
||||
|
||||
invoke-static {v1, v0}, Lbolts/AndroidExecutors;->allowCoreThreadTimeout(Ljava/util/concurrent/ThreadPoolExecutor;Z)V
|
||||
|
||||
return-object v1
|
||||
.end method
|
||||
|
||||
.method public static uiThread()Ljava/util/concurrent/Executor;
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
sget-object v0, Lbolts/AndroidExecutors;->INSTANCE:Lbolts/AndroidExecutors;
|
||||
|
||||
iget-object v0, v0, Lbolts/AndroidExecutors;->uiThread:Ljava/util/concurrent/Executor;
|
||||
|
||||
return-object v0
|
||||
.end method
|
14
com.discord/smali/bolts/BoltsExecutors$1.smali
Normal file
14
com.discord/smali/bolts/BoltsExecutors$1.smali
Normal file
|
@ -0,0 +1,14 @@
|
|||
.class synthetic Lbolts/BoltsExecutors$1;
|
||||
.super Ljava/lang/Object;
|
||||
.source "BoltsExecutors.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/BoltsExecutors;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1008
|
||||
name = null
|
||||
.end annotation
|
197
com.discord/smali/bolts/BoltsExecutors$ImmediateExecutor.smali
Normal file
197
com.discord/smali/bolts/BoltsExecutors$ImmediateExecutor.smali
Normal file
|
@ -0,0 +1,197 @@
|
|||
.class Lbolts/BoltsExecutors$ImmediateExecutor;
|
||||
.super Ljava/lang/Object;
|
||||
.source "BoltsExecutors.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/util/concurrent/Executor;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/BoltsExecutors;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0xa
|
||||
name = "ImmediateExecutor"
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field private static final MAX_DEPTH:I = 0xf
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private executionDepth:Ljava/lang/ThreadLocal;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/ThreadLocal",
|
||||
"<",
|
||||
"Ljava/lang/Integer;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method private constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
new-instance v0, Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method synthetic constructor <init>(Lbolts/BoltsExecutors$1;)V
|
||||
.locals 0
|
||||
.param p1, "x0" # Lbolts/BoltsExecutors$1;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Lbolts/BoltsExecutors$ImmediateExecutor;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private decrementDepth()I
|
||||
.locals 4
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-virtual {v2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Ljava/lang/Integer;
|
||||
|
||||
.local v1, "oldDepth":Ljava/lang/Integer;
|
||||
if-nez v1, :cond_0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
|
||||
|
||||
move-result v2
|
||||
|
||||
add-int/lit8 v0, v2, -0x1
|
||||
|
||||
.local v0, "newDepth":I
|
||||
if-nez v0, :cond_1
|
||||
|
||||
iget-object v2, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-virtual {v2}, Ljava/lang/ThreadLocal;->remove()V
|
||||
|
||||
:goto_0
|
||||
return v0
|
||||
|
||||
:cond_1
|
||||
iget-object v2, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-virtual {v2, v3}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method private incrementDepth()I
|
||||
.locals 4
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-virtual {v2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Ljava/lang/Integer;
|
||||
|
||||
.local v1, "oldDepth":Ljava/lang/Integer;
|
||||
if-nez v1, :cond_0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
|
||||
|
||||
move-result v2
|
||||
|
||||
add-int/lit8 v0, v2, 0x1
|
||||
|
||||
.local v0, "newDepth":I
|
||||
iget-object v2, p0, Lbolts/BoltsExecutors$ImmediateExecutor;->executionDepth:Ljava/lang/ThreadLocal;
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-virtual {v2, v3}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public execute(Ljava/lang/Runnable;)V
|
||||
.locals 2
|
||||
.param p1, "command" # Ljava/lang/Runnable;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Lbolts/BoltsExecutors$ImmediateExecutor;->incrementDepth()I
|
||||
|
||||
move-result v0
|
||||
|
||||
.local v0, "depth":I
|
||||
const/16 v1, 0xf
|
||||
|
||||
if-gt v0, v1, :cond_0
|
||||
|
||||
:try_start_0
|
||||
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
:goto_0
|
||||
invoke-direct {p0}, Lbolts/BoltsExecutors$ImmediateExecutor;->decrementDepth()I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
:try_start_1
|
||||
invoke-static {}, Lbolts/BoltsExecutors;->background()Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-interface {v1, p1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:catchall_0
|
||||
move-exception v1
|
||||
|
||||
invoke-direct {p0}, Lbolts/BoltsExecutors$ImmediateExecutor;->decrementDepth()I
|
||||
|
||||
throw v1
|
||||
.end method
|
149
com.discord/smali/bolts/BoltsExecutors.smali
Normal file
149
com.discord/smali/bolts/BoltsExecutors.smali
Normal file
|
@ -0,0 +1,149 @@
|
|||
.class final Lbolts/BoltsExecutors;
|
||||
.super Ljava/lang/Object;
|
||||
.source "BoltsExecutors.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Lbolts/BoltsExecutors$1;,
|
||||
Lbolts/BoltsExecutors$ImmediateExecutor;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field private static final INSTANCE:Lbolts/BoltsExecutors;
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final background:Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
.field private final immediate:Ljava/util/concurrent/Executor;
|
||||
|
||||
.field private final scheduled:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method static constructor <clinit>()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
new-instance v0, Lbolts/BoltsExecutors;
|
||||
|
||||
invoke-direct {v0}, Lbolts/BoltsExecutors;-><init>()V
|
||||
|
||||
sput-object v0, Lbolts/BoltsExecutors;->INSTANCE:Lbolts/BoltsExecutors;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private constructor <init>()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
invoke-static {}, Lbolts/BoltsExecutors;->isAndroidRuntime()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
:goto_0
|
||||
iput-object v0, p0, Lbolts/BoltsExecutors;->background:Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iput-object v0, p0, Lbolts/BoltsExecutors;->scheduled:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
new-instance v0, Lbolts/BoltsExecutors$ImmediateExecutor;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-direct {v0, v1}, Lbolts/BoltsExecutors$ImmediateExecutor;-><init>(Lbolts/BoltsExecutors$1;)V
|
||||
|
||||
iput-object v0, p0, Lbolts/BoltsExecutors;->immediate:Ljava/util/concurrent/Executor;
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
invoke-static {}, Lbolts/AndroidExecutors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public static background()Ljava/util/concurrent/ExecutorService;
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
sget-object v0, Lbolts/BoltsExecutors;->INSTANCE:Lbolts/BoltsExecutors;
|
||||
|
||||
iget-object v0, v0, Lbolts/BoltsExecutors;->background:Ljava/util/concurrent/ExecutorService;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method static immediate()Ljava/util/concurrent/Executor;
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
sget-object v0, Lbolts/BoltsExecutors;->INSTANCE:Lbolts/BoltsExecutors;
|
||||
|
||||
iget-object v0, v0, Lbolts/BoltsExecutors;->immediate:Ljava/util/concurrent/Executor;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method private static isAndroidRuntime()Z
|
||||
.locals 3
|
||||
|
||||
.prologue
|
||||
const-string v1, "java.runtime.name"
|
||||
|
||||
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
.local v0, "javaRuntimeName":Ljava/lang/String;
|
||||
if-nez v0, :cond_0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
return v1
|
||||
|
||||
:cond_0
|
||||
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
const-string v2, "android"
|
||||
|
||||
invoke-virtual {v1, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
|
||||
|
||||
move-result v1
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method static scheduled()Ljava/util/concurrent/ScheduledExecutorService;
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
sget-object v0, Lbolts/BoltsExecutors;->INSTANCE:Lbolts/BoltsExecutors;
|
||||
|
||||
iget-object v0, v0, Lbolts/BoltsExecutors;->scheduled:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
return-object v0
|
||||
.end method
|
123
com.discord/smali/bolts/CancellationToken.smali
Normal file
123
com.discord/smali/bolts/CancellationToken.smali
Normal file
|
@ -0,0 +1,123 @@
|
|||
.class public Lbolts/CancellationToken;
|
||||
.super Ljava/lang/Object;
|
||||
.source "CancellationToken.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationTokenSource;)V
|
||||
.locals 0
|
||||
.param p1, "tokenSource" # Lbolts/CancellationTokenSource;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-object p1, p0, Lbolts/CancellationToken;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public isCancellationRequested()Z
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationToken;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationTokenSource;->isCancellationRequested()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public register(Ljava/lang/Runnable;)Lbolts/CancellationTokenRegistration;
|
||||
.locals 1
|
||||
.param p1, "action" # Ljava/lang/Runnable;
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationToken;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v0, p1}, Lbolts/CancellationTokenSource;->register(Ljava/lang/Runnable;)Lbolts/CancellationTokenRegistration;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public throwIfCancellationRequested()V
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/util/concurrent/CancellationException;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationToken;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationTokenSource;->throwIfCancellationRequested()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public toString()Ljava/lang/String;
|
||||
.locals 5
|
||||
|
||||
.prologue
|
||||
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
|
||||
|
||||
const-string v1, "%s@%s[cancellationRequested=%s]"
|
||||
|
||||
const/4 v2, 0x3
|
||||
|
||||
new-array v2, v2, [Ljava/lang/Object;
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
invoke-virtual {v4}, Ljava/lang/Class;->getName()Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
const/4 v3, 0x1
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
const/4 v3, 0x2
|
||||
|
||||
iget-object v4, p0, Lbolts/CancellationToken;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v4}, Lbolts/CancellationTokenSource;->isCancellationRequested()Z
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
141
com.discord/smali/bolts/CancellationTokenRegistration.smali
Normal file
141
com.discord/smali/bolts/CancellationTokenRegistration.smali
Normal file
|
@ -0,0 +1,141 @@
|
|||
.class public Lbolts/CancellationTokenRegistration;
|
||||
.super Ljava/lang/Object;
|
||||
.source "CancellationTokenRegistration.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/io/Closeable;
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private action:Ljava/lang/Runnable;
|
||||
|
||||
.field private closed:Z
|
||||
|
||||
.field private final lock:Ljava/lang/Object;
|
||||
|
||||
.field private tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationTokenSource;Ljava/lang/Runnable;)V
|
||||
.locals 1
|
||||
.param p1, "tokenSource" # Lbolts/CancellationTokenSource;
|
||||
.param p2, "action" # Ljava/lang/Runnable;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
new-instance v0, Ljava/lang/Object;
|
||||
|
||||
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenRegistration;->lock:Ljava/lang/Object;
|
||||
|
||||
iput-object p1, p0, Lbolts/CancellationTokenRegistration;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
iput-object p2, p0, Lbolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private throwIfClosed()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenRegistration;->closed:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Object already closed"
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public close()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenRegistration;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenRegistration;->closed:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Lbolts/CancellationTokenRegistration;->closed:Z
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenRegistration;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v0, p0}, Lbolts/CancellationTokenSource;->unregister(Lbolts/CancellationTokenRegistration;)V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenRegistration;->tokenSource:Lbolts/CancellationTokenSource;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
|
||||
.method runAction()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenRegistration;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenRegistration;->throwIfClosed()V
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenRegistration;->action:Ljava/lang/Runnable;
|
||||
|
||||
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
|
||||
|
||||
invoke-virtual {p0}, Lbolts/CancellationTokenRegistration;->close()V
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
return-void
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
76
com.discord/smali/bolts/CancellationTokenSource$1.smali
Normal file
76
com.discord/smali/bolts/CancellationTokenSource$1.smali
Normal file
|
@ -0,0 +1,76 @@
|
|||
.class Lbolts/CancellationTokenSource$1;
|
||||
.super Ljava/lang/Object;
|
||||
.source "CancellationTokenSource.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/CancellationTokenSource;->cancelAfter(JLjava/util/concurrent/TimeUnit;)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/CancellationTokenSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationTokenSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/CancellationTokenSource$1;->this$0:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 3
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource$1;->this$0:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-static {v0}, Lbolts/CancellationTokenSource;->access$000(Lbolts/CancellationTokenSource;)Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource$1;->this$0:Lbolts/CancellationTokenSource;
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-static {v0, v2}, Lbolts/CancellationTokenSource;->access$102(Lbolts/CancellationTokenSource;Ljava/util/concurrent/ScheduledFuture;)Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource$1;->this$0:Lbolts/CancellationTokenSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationTokenSource;->cancel()V
|
||||
|
||||
return-void
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
:try_start_1
|
||||
monitor-exit v1
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
627
com.discord/smali/bolts/CancellationTokenSource.smali
Normal file
627
com.discord/smali/bolts/CancellationTokenSource.smali
Normal file
|
@ -0,0 +1,627 @@
|
|||
.class public Lbolts/CancellationTokenSource;
|
||||
.super Ljava/lang/Object;
|
||||
.source "CancellationTokenSource.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/io/Closeable;
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private cancellationRequested:Z
|
||||
|
||||
.field private closed:Z
|
||||
|
||||
.field private final executor:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
.field private final lock:Ljava/lang/Object;
|
||||
|
||||
.field private final registrations:Ljava/util/List;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/util/List",
|
||||
"<",
|
||||
"Lbolts/CancellationTokenRegistration;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
.field private scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/util/concurrent/ScheduledFuture",
|
||||
"<*>;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
new-instance v0, Ljava/lang/Object;
|
||||
|
||||
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
new-instance v0, Ljava/util/ArrayList;
|
||||
|
||||
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-static {}, Lbolts/BoltsExecutors;->scheduled()Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenSource;->executor:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method static synthetic access$000(Lbolts/CancellationTokenSource;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p0, "x0" # Lbolts/CancellationTokenSource;
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method static synthetic access$102(Lbolts/CancellationTokenSource;Ljava/util/concurrent/ScheduledFuture;)Ljava/util/concurrent/ScheduledFuture;
|
||||
.locals 0
|
||||
.param p0, "x0" # Lbolts/CancellationTokenSource;
|
||||
.param p1, "x1" # Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/CancellationTokenSource;->scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
return-object p1
|
||||
.end method
|
||||
|
||||
.method private cancelAfter(JLjava/util/concurrent/TimeUnit;)V
|
||||
.locals 5
|
||||
.param p1, "delay" # J
|
||||
.param p3, "timeUnit" # Ljava/util/concurrent/TimeUnit;
|
||||
|
||||
.prologue
|
||||
const-wide/16 v2, -0x1
|
||||
|
||||
cmp-long v0, p1, v2
|
||||
|
||||
if-gez v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalArgumentException;
|
||||
|
||||
const-string v1, "Delay must be >= -1"
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
const-wide/16 v0, 0x0
|
||||
|
||||
cmp-long v0, p1, v0
|
||||
|
||||
if-nez v0, :cond_1
|
||||
|
||||
invoke-virtual {p0}, Lbolts/CancellationTokenSource;->cancel()V
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
if-eqz v0, :cond_2
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_2
|
||||
:try_start_1
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->cancelScheduledCancellation()V
|
||||
|
||||
cmp-long v0, p1, v2
|
||||
|
||||
if-eqz v0, :cond_3
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource;->executor:Ljava/util/concurrent/ScheduledExecutorService;
|
||||
|
||||
new-instance v2, Lbolts/CancellationTokenSource$1;
|
||||
|
||||
invoke-direct {v2, p0}, Lbolts/CancellationTokenSource$1;-><init>(Lbolts/CancellationTokenSource;)V
|
||||
|
||||
invoke-interface {v0, v2, p1, p2, p3}, Ljava/util/concurrent/ScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenSource;->scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
:cond_3
|
||||
monitor-exit v1
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method private cancelScheduledCancellation()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource;->scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource;->scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
invoke-interface {v0, v1}, Ljava/util/concurrent/ScheduledFuture;->cancel(Z)Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lbolts/CancellationTokenSource;->scheduledCancellation:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private notifyListeners(Ljava/util/List;)V
|
||||
.locals 3
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Ljava/util/List",
|
||||
"<",
|
||||
"Lbolts/CancellationTokenRegistration;",
|
||||
">;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "registrations":Ljava/util/List;, "Ljava/util/List<Lbolts/CancellationTokenRegistration;>;"
|
||||
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
.local v0, "i$":Ljava/util/Iterator;
|
||||
:goto_0
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v2
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Lbolts/CancellationTokenRegistration;
|
||||
|
||||
.local v1, "registration":Lbolts/CancellationTokenRegistration;
|
||||
invoke-virtual {v1}, Lbolts/CancellationTokenRegistration;->runAction()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v1 # "registration":Lbolts/CancellationTokenRegistration;
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private throwIfClosed()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenSource;->closed:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Object already closed"
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public cancel()V
|
||||
.locals 3
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v2
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
iget-boolean v1, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
monitor-exit v2
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->cancelScheduledCancellation()V
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
iput-boolean v1, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
new-instance v0, Ljava/util/ArrayList;
|
||||
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
|
||||
|
||||
.local v0, "registrations":Ljava/util/List;, "Ljava/util/List<Lbolts/CancellationTokenRegistration;>;"
|
||||
monitor-exit v2
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
invoke-direct {p0, v0}, Lbolts/CancellationTokenSource;->notifyListeners(Ljava/util/List;)V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "registrations":Ljava/util/List;, "Ljava/util/List<Lbolts/CancellationTokenRegistration;>;"
|
||||
:catchall_0
|
||||
move-exception v1
|
||||
|
||||
:try_start_1
|
||||
monitor-exit v2
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
throw v1
|
||||
.end method
|
||||
|
||||
.method public cancelAfter(J)V
|
||||
.locals 1
|
||||
.param p1, "delay" # J
|
||||
|
||||
.prologue
|
||||
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
|
||||
|
||||
invoke-direct {p0, p1, p2, v0}, Lbolts/CancellationTokenSource;->cancelAfter(JLjava/util/concurrent/TimeUnit;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public close()V
|
||||
.locals 4
|
||||
|
||||
.prologue
|
||||
iget-object v3, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v3
|
||||
|
||||
:try_start_0
|
||||
iget-boolean v2, p0, Lbolts/CancellationTokenSource;->closed:Z
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
monitor-exit v3
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->cancelScheduledCancellation()V
|
||||
|
||||
iget-object v2, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
.local v0, "i$":Ljava/util/Iterator;
|
||||
:goto_1
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v2
|
||||
|
||||
if-eqz v2, :cond_1
|
||||
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Lbolts/CancellationTokenRegistration;
|
||||
|
||||
.local v1, "registration":Lbolts/CancellationTokenRegistration;
|
||||
invoke-virtual {v1}, Lbolts/CancellationTokenRegistration;->close()V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
.end local v0 # "i$":Ljava/util/Iterator;
|
||||
.end local v1 # "registration":Lbolts/CancellationTokenRegistration;
|
||||
:catchall_0
|
||||
move-exception v2
|
||||
|
||||
monitor-exit v3
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v2
|
||||
|
||||
.restart local v0 # "i$":Ljava/util/Iterator;
|
||||
:cond_1
|
||||
:try_start_1
|
||||
iget-object v2, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-interface {v2}, Ljava/util/List;->clear()V
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
iput-boolean v2, p0, Lbolts/CancellationTokenSource;->closed:Z
|
||||
|
||||
monitor-exit v3
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public getToken()Lbolts/CancellationToken;
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
new-instance v0, Lbolts/CancellationToken;
|
||||
|
||||
invoke-direct {v0, p0}, Lbolts/CancellationToken;-><init>(Lbolts/CancellationTokenSource;)V
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
return-object v0
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
|
||||
.method public isCancellationRequested()Z
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
return v0
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
|
||||
.method register(Ljava/lang/Runnable;)Lbolts/CancellationTokenRegistration;
|
||||
.locals 3
|
||||
.param p1, "action" # Ljava/lang/Runnable;
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v2
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
new-instance v0, Lbolts/CancellationTokenRegistration;
|
||||
|
||||
invoke-direct {v0, p0, p1}, Lbolts/CancellationTokenRegistration;-><init>(Lbolts/CancellationTokenSource;Ljava/lang/Runnable;)V
|
||||
|
||||
.local v0, "ctr":Lbolts/CancellationTokenRegistration;
|
||||
iget-boolean v1, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationTokenRegistration;->runAction()V
|
||||
|
||||
:goto_0
|
||||
monitor-exit v2
|
||||
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "ctr":Lbolts/CancellationTokenRegistration;
|
||||
:catchall_0
|
||||
move-exception v1
|
||||
|
||||
monitor-exit v2
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v1
|
||||
.end method
|
||||
|
||||
.method throwIfCancellationRequested()V
|
||||
.locals 2
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/util/concurrent/CancellationException;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
iget-boolean v0, p0, Lbolts/CancellationTokenSource;->cancellationRequested:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/util/concurrent/CancellationException;
|
||||
|
||||
invoke-direct {v0}, Ljava/util/concurrent/CancellationException;-><init>()V
|
||||
|
||||
throw v0
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
:try_start_1
|
||||
monitor-exit v1
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public toString()Ljava/lang/String;
|
||||
.locals 5
|
||||
|
||||
.prologue
|
||||
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
|
||||
|
||||
const-string v1, "%s@%s[cancellationRequested=%s]"
|
||||
|
||||
const/4 v2, 0x3
|
||||
|
||||
new-array v2, v2, [Ljava/lang/Object;
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
invoke-virtual {v4}, Ljava/lang/Class;->getName()Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
const/4 v3, 0x1
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
const/4 v3, 0x2
|
||||
|
||||
invoke-virtual {p0}, Lbolts/CancellationTokenSource;->isCancellationRequested()Z
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v4}, Ljava/lang/Boolean;->toString(Z)Ljava/lang/String;
|
||||
|
||||
move-result-object v4
|
||||
|
||||
aput-object v4, v2, v3
|
||||
|
||||
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method unregister(Lbolts/CancellationTokenRegistration;)V
|
||||
.locals 2
|
||||
.param p1, "registration" # Lbolts/CancellationTokenRegistration;
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/CancellationTokenSource;->lock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v1
|
||||
|
||||
:try_start_0
|
||||
invoke-direct {p0}, Lbolts/CancellationTokenSource;->throwIfClosed()V
|
||||
|
||||
iget-object v0, p0, Lbolts/CancellationTokenSource;->registrations:Ljava/util/List;
|
||||
|
||||
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
|
||||
|
||||
monitor-exit v1
|
||||
|
||||
return-void
|
||||
|
||||
:catchall_0
|
||||
move-exception v0
|
||||
|
||||
monitor-exit v1
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
throw v0
|
||||
.end method
|
87
com.discord/smali/bolts/Capture.smali
Normal file
87
com.discord/smali/bolts/Capture.smali
Normal file
|
@ -0,0 +1,87 @@
|
|||
.class public Lbolts/Capture;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Capture.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"<T:",
|
||||
"Ljava/lang/Object;",
|
||||
">",
|
||||
"Ljava/lang/Object;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private value:Ljava/lang/Object;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"TT;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Capture;, "Lbolts/Capture<TT;>;"
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Ljava/lang/Object;)V
|
||||
.locals 0
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(TT;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Capture;, "Lbolts/Capture<TT;>;"
|
||||
.local p1, "value":Ljava/lang/Object;, "TT;"
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-object p1, p0, Lbolts/Capture;->value:Ljava/lang/Object;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public get()Ljava/lang/Object;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"()TT;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Capture;, "Lbolts/Capture<TT;>;"
|
||||
iget-object v0, p0, Lbolts/Capture;->value:Ljava/lang/Object;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public set(Ljava/lang/Object;)V
|
||||
.locals 0
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(TT;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Capture;, "Lbolts/Capture<TT;>;"
|
||||
.local p1, "value":Ljava/lang/Object;, "TT;"
|
||||
iput-object p1, p0, Lbolts/Capture;->value:Ljava/lang/Object;
|
||||
|
||||
return-void
|
||||
.end method
|
34
com.discord/smali/bolts/Continuation.smali
Normal file
34
com.discord/smali/bolts/Continuation.smali
Normal file
|
@ -0,0 +1,34 @@
|
|||
.class public interface abstract Lbolts/Continuation;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Continuation.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"<TTaskResult:",
|
||||
"Ljava/lang/Object;",
|
||||
"TContinuationResult:",
|
||||
"Ljava/lang/Object;",
|
||||
">",
|
||||
"Ljava/lang/Object;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public abstract then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTTaskResult;>;)TTContinuationResult;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
.end method
|
17
com.discord/smali/bolts/ExecutorException.smali
Normal file
17
com.discord/smali/bolts/ExecutorException.smali
Normal file
|
@ -0,0 +1,17 @@
|
|||
.class public Lbolts/ExecutorException;
|
||||
.super Ljava/lang/RuntimeException;
|
||||
.source "ExecutorException.java"
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Ljava/lang/Exception;)V
|
||||
.locals 1
|
||||
.param p1, "e" # Ljava/lang/Exception;
|
||||
|
||||
.prologue
|
||||
const-string v0, "An exception was thrown by an Executor"
|
||||
|
||||
invoke-direct {p0, v0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
||||
|
||||
return-void
|
||||
.end method
|
49
com.discord/smali/bolts/Task$1.smali
Normal file
49
com.discord/smali/bolts/Task$1.smali
Normal file
|
@ -0,0 +1,49 @@
|
|||
.class final Lbolts/Task$1;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->delay(JLjava/util/concurrent/ScheduledExecutorService;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/TaskCompletionSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$1;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/Task$1;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-virtual {v0, v1}, Lbolts/TaskCompletionSource;->trySetResult(Ljava/lang/Object;)Z
|
||||
|
||||
return-void
|
||||
.end method
|
110
com.discord/smali/bolts/Task$10.smali
Normal file
110
com.discord/smali/bolts/Task$10.smali
Normal file
|
@ -0,0 +1,110 @@
|
|||
.class Lbolts/Task$10;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->continueWith(Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;Lbolts/TaskCompletionSource;Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$10;, "Lbolts/Task.10;"
|
||||
iput-object p1, p0, Lbolts/Task$10;->this$0:Lbolts/Task;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$10;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$10;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$10;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
iput-object p5, p0, Lbolts/Task$10;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$10;, "Lbolts/Task.10;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$10;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 4
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$10;, "Lbolts/Task.10;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/Task$10;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$10;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$10;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
iget-object v3, p0, Lbolts/Task$10;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-static {v0, v1, p1, v2, v3}, Lbolts/Task;->access$000(Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
return-object v0
|
||||
.end method
|
110
com.discord/smali/bolts/Task$11.smali
Normal file
110
com.discord/smali/bolts/Task$11.smali
Normal file
|
@ -0,0 +1,110 @@
|
|||
.class Lbolts/Task$11;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->continueWithTask(Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;Lbolts/TaskCompletionSource;Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$11;, "Lbolts/Task.11;"
|
||||
iput-object p1, p0, Lbolts/Task$11;->this$0:Lbolts/Task;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$11;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$11;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$11;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
iput-object p5, p0, Lbolts/Task$11;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$11;, "Lbolts/Task.11;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$11;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 4
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$11;, "Lbolts/Task.11;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/Task$11;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$11;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$11;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
iget-object v3, p0, Lbolts/Task$11;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-static {v0, v1, p1, v2, v3}, Lbolts/Task;->access$100(Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
return-object v0
|
||||
.end method
|
147
com.discord/smali/bolts/Task$12.smali
Normal file
147
com.discord/smali/bolts/Task$12.smali
Normal file
|
@ -0,0 +1,147 @@
|
|||
.class Lbolts/Task$12;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->onSuccess(Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Lbolts/Task",
|
||||
"<TTContinuationResult;>;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;Lbolts/CancellationToken;Lbolts/Continuation;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$12;, "Lbolts/Task.12;"
|
||||
iput-object p1, p0, Lbolts/Task$12;->this$0:Lbolts/Task;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$12;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$12;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public then(Lbolts/Task;)Lbolts/Task;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Lbolts/Task",
|
||||
"<TTContinuationResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$12;, "Lbolts/Task.12;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/Task$12;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$12;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
:goto_0
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->isFaulted()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Lbolts/Task;->forError(Ljava/lang/Exception;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
invoke-virtual {p1}, Lbolts/Task;->isCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_2
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
iget-object v0, p0, Lbolts/Task$12;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
invoke-virtual {p1, v0}, Lbolts/Task;->continueWith(Lbolts/Continuation;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$12;, "Lbolts/Task.12;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$12;->then(Lbolts/Task;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
147
com.discord/smali/bolts/Task$13.smali
Normal file
147
com.discord/smali/bolts/Task$13.smali
Normal file
|
@ -0,0 +1,147 @@
|
|||
.class Lbolts/Task$13;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->onSuccessTask(Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Lbolts/Task",
|
||||
"<TTContinuationResult;>;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;Lbolts/CancellationToken;Lbolts/Continuation;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$13;, "Lbolts/Task.13;"
|
||||
iput-object p1, p0, Lbolts/Task$13;->this$0:Lbolts/Task;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$13;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$13;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public then(Lbolts/Task;)Lbolts/Task;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Lbolts/Task",
|
||||
"<TTContinuationResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$13;, "Lbolts/Task.13;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/Task$13;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$13;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
:goto_0
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->isFaulted()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Lbolts/Task;->forError(Ljava/lang/Exception;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
invoke-virtual {p1}, Lbolts/Task;->isCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_2
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
iget-object v0, p0, Lbolts/Task$13;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
invoke-virtual {p1, v0}, Lbolts/Task;->continueWithTask(Lbolts/Continuation;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$13;, "Lbolts/Task.13;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$13;->then(Lbolts/Task;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
114
com.discord/smali/bolts/Task$14.smali
Normal file
114
com.discord/smali/bolts/Task$14.smali
Normal file
|
@ -0,0 +1,114 @@
|
|||
.class final Lbolts/Task$14;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->completeImmediately(Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$task:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationToken;Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$14;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$14;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$14;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$14;->val$task:Lbolts/Task;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 4
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v2
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
:try_start_0
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iget-object v3, p0, Lbolts/Task$14;->val$task:Lbolts/Task;
|
||||
|
||||
invoke-interface {v2, v3}, Lbolts/Continuation;->then(Lbolts/Task;)Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
.local v1, "result":Ljava/lang/Object;, "TTContinuationResult;"
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2, v1}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
:try_end_0
|
||||
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_0
|
||||
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v1 # "result":Ljava/lang/Object;, "TTContinuationResult;"
|
||||
:catch_0
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/util/concurrent/CancellationException;
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "e":Ljava/util/concurrent/CancellationException;
|
||||
:catch_1
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/lang/Exception;
|
||||
iget-object v2, p0, Lbolts/Task$14;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2, v0}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
151
com.discord/smali/bolts/Task$15$1.smali
Normal file
151
com.discord/smali/bolts/Task$15$1.smali
Normal file
|
@ -0,0 +1,151 @@
|
|||
.class Lbolts/Task$15$1;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task$15;->run()V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTContinuationResult;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task$15;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task$15;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$15$1;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 3
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTContinuationResult;>;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTContinuationResult;>;"
|
||||
const/4 v2, 0x0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
:goto_0
|
||||
return-object v2
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->isCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
invoke-virtual {p1}, Lbolts/Task;->isFaulted()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_2
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-virtual {v0, v1}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
iget-object v0, p0, Lbolts/Task$15$1;->this$0:Lbolts/Task$15;
|
||||
|
||||
iget-object v0, v0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getResult()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-virtual {v0, v1}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
135
com.discord/smali/bolts/Task$15.smali
Normal file
135
com.discord/smali/bolts/Task$15.smali
Normal file
|
@ -0,0 +1,135 @@
|
|||
.class final Lbolts/Task$15;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->completeAfterTask(Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$task:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationToken;Lbolts/TaskCompletionSource;Lbolts/Continuation;Lbolts/Task;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$15;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$15;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$15;->val$task:Lbolts/Task;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 4
|
||||
|
||||
.prologue
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v2
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
:try_start_0
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iget-object v3, p0, Lbolts/Task$15;->val$task:Lbolts/Task;
|
||||
|
||||
invoke-interface {v2, v3}, Lbolts/Continuation;->then(Lbolts/Task;)Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Lbolts/Task;
|
||||
|
||||
.local v1, "result":Lbolts/Task;, "Lbolts/Task<TTContinuationResult;>;"
|
||||
if-nez v1, :cond_1
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
invoke-virtual {v2, v3}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
:try_end_0
|
||||
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_0
|
||||
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v1 # "result":Lbolts/Task;, "Lbolts/Task<TTContinuationResult;>;"
|
||||
:catch_0
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/util/concurrent/CancellationException;
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "e":Ljava/util/concurrent/CancellationException;
|
||||
.restart local v1 # "result":Lbolts/Task;, "Lbolts/Task<TTContinuationResult;>;"
|
||||
:cond_1
|
||||
:try_start_1
|
||||
new-instance v2, Lbolts/Task$15$1;
|
||||
|
||||
invoke-direct {v2, p0}, Lbolts/Task$15$1;-><init>(Lbolts/Task$15;)V
|
||||
|
||||
invoke-virtual {v1, v2}, Lbolts/Task;->continueWith(Lbolts/Continuation;)Lbolts/Task;
|
||||
:try_end_1
|
||||
.catch Ljava/util/concurrent/CancellationException; {:try_start_1 .. :try_end_1} :catch_0
|
||||
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v1 # "result":Lbolts/Task;, "Lbolts/Task<TTContinuationResult;>;"
|
||||
:catch_1
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/lang/Exception;
|
||||
iget-object v2, p0, Lbolts/Task$15;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v2, v0}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
57
com.discord/smali/bolts/Task$2.smali
Normal file
57
com.discord/smali/bolts/Task$2.smali
Normal file
|
@ -0,0 +1,57 @@
|
|||
.class final Lbolts/Task$2;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->delay(JLjava/util/concurrent/ScheduledExecutorService;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$scheduled:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Ljava/util/concurrent/ScheduledFuture;Lbolts/TaskCompletionSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$2;->val$scheduled:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$2;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
iget-object v0, p0, Lbolts/Task$2;->val$scheduled:Ljava/util/concurrent/ScheduledFuture;
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
invoke-interface {v0, v1}, Ljava/util/concurrent/ScheduledFuture;->cancel(Z)Z
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$2;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/TaskCompletionSource;->trySetCancelled()Z
|
||||
|
||||
return-void
|
||||
.end method
|
130
com.discord/smali/bolts/Task$3.smali
Normal file
130
com.discord/smali/bolts/Task$3.smali
Normal file
|
@ -0,0 +1,130 @@
|
|||
.class Lbolts/Task$3;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->makeVoid()Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$3;, "Lbolts/Task.3;"
|
||||
iput-object p1, p0, Lbolts/Task$3;->this$0:Lbolts/Task;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public then(Lbolts/Task;)Lbolts/Task;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$3;, "Lbolts/Task.3;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
invoke-virtual {p1}, Lbolts/Task;->isCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
:goto_0
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->isFaulted()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Lbolts/Task;->forError(Ljava/lang/Exception;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-static {v0}, Lbolts/Task;->forResult(Ljava/lang/Object;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$3;, "Lbolts/Task.3;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$3;->then(Lbolts/Task;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
106
com.discord/smali/bolts/Task$4.smali
Normal file
106
com.discord/smali/bolts/Task$4.smali
Normal file
|
@ -0,0 +1,106 @@
|
|||
.class final Lbolts/Task$4;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->call(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$callable:Ljava/util/concurrent/Callable;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/CancellationToken;Lbolts/TaskCompletionSource;Ljava/util/concurrent/Callable;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$4;->val$callable:Ljava/util/concurrent/Callable;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 3
|
||||
|
||||
.prologue
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v1}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
:goto_0
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
:try_start_0
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$4;->val$callable:Ljava/util/concurrent/Callable;
|
||||
|
||||
invoke-interface {v2}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
invoke-virtual {v1, v2}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
:try_end_0
|
||||
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_0
|
||||
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:catch_0
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/util/concurrent/CancellationException;
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "e":Ljava/util/concurrent/CancellationException;
|
||||
:catch_1
|
||||
move-exception v0
|
||||
|
||||
.local v0, "e":Ljava/lang/Exception;
|
||||
iget-object v1, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1, v0}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
107
com.discord/smali/bolts/Task$5.smali
Normal file
107
com.discord/smali/bolts/Task$5.smali
Normal file
|
@ -0,0 +1,107 @@
|
|||
.class final Lbolts/Task$5;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->whenAnyResult(Ljava/util/Collection;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<TTResult;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
.field final synthetic val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Ljava/util/concurrent/atomic/AtomicBoolean;Lbolts/TaskCompletionSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$5;->val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$5;->val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$5;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 3
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/Task$5;->val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$5;->val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v0, p1}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
|
||||
:goto_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
110
com.discord/smali/bolts/Task$6.smali
Normal file
110
com.discord/smali/bolts/Task$6.smali
Normal file
|
@ -0,0 +1,110 @@
|
|||
.class final Lbolts/Task$6;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->whenAny(Ljava/util/Collection;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<",
|
||||
"Ljava/lang/Object;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
.field final synthetic val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Ljava/util/concurrent/atomic/AtomicBoolean;Lbolts/TaskCompletionSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$6;->val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$6;->val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$6;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 3
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Object;",
|
||||
">;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<Ljava/lang/Object;>;"
|
||||
iget-object v0, p0, Lbolts/Task$6;->val$isAnyTaskComplete:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$6;->val$firstCompleted:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v0, p1}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
|
||||
:goto_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
137
com.discord/smali/bolts/Task$7.smali
Normal file
137
com.discord/smali/bolts/Task$7.smali
Normal file
|
@ -0,0 +1,137 @@
|
|||
.class final Lbolts/Task$7;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->whenAllResult(Ljava/util/Collection;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
"Ljava/util/List",
|
||||
"<TTResult;>;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$tasks:Ljava/util/Collection;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Ljava/util/Collection;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$7;->val$tasks:Ljava/util/Collection;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$7;->then(Lbolts/Task;)Ljava/util/List;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/util/List;
|
||||
.locals 4
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;)",
|
||||
"Ljava/util/List",
|
||||
"<TTResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<Ljava/lang/Void;>;"
|
||||
iget-object v3, p0, Lbolts/Task$7;->val$tasks:Ljava/util/Collection;
|
||||
|
||||
invoke-interface {v3}, Ljava/util/Collection;->size()I
|
||||
|
||||
move-result v3
|
||||
|
||||
if-nez v3, :cond_1
|
||||
|
||||
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
:cond_0
|
||||
return-object v2
|
||||
|
||||
:cond_1
|
||||
new-instance v2, Ljava/util/ArrayList;
|
||||
|
||||
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
|
||||
|
||||
.local v2, "results":Ljava/util/List;, "Ljava/util/List<TTResult;>;"
|
||||
iget-object v3, p0, Lbolts/Task$7;->val$tasks:Ljava/util/Collection;
|
||||
|
||||
invoke-interface {v3}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
.local v0, "i$":Ljava/util/Iterator;
|
||||
:goto_0
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
||||
|
||||
move-result v3
|
||||
|
||||
if-eqz v3, :cond_0
|
||||
|
||||
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Lbolts/Task;
|
||||
|
||||
.local v1, "individualTask":Lbolts/Task;, "Lbolts/Task<TTResult;>;"
|
||||
invoke-virtual {v1}, Lbolts/Task;->getResult()Ljava/lang/Object;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
244
com.discord/smali/bolts/Task$8.smali
Normal file
244
com.discord/smali/bolts/Task$8.smali
Normal file
|
@ -0,0 +1,244 @@
|
|||
.class final Lbolts/Task$8;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->whenAll(Ljava/util/Collection;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x8
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<",
|
||||
"Ljava/lang/Object;",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
.field final synthetic val$causes:Ljava/util/ArrayList;
|
||||
|
||||
.field final synthetic val$count:Ljava/util/concurrent/atomic/AtomicInteger;
|
||||
|
||||
.field final synthetic val$errorLock:Ljava/lang/Object;
|
||||
|
||||
.field final synthetic val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Ljava/lang/Object;Ljava/util/ArrayList;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicInteger;Lbolts/TaskCompletionSource;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
iput-object p1, p0, Lbolts/Task$8;->val$errorLock:Ljava/lang/Object;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$8;->val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$8;->val$count:Ljava/util/concurrent/atomic/AtomicInteger;
|
||||
|
||||
iput-object p5, p0, Lbolts/Task$8;->val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$8;->then(Lbolts/Task;)Ljava/lang/Void;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public then(Lbolts/Task;)Ljava/lang/Void;
|
||||
.locals 7
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Object;",
|
||||
">;)",
|
||||
"Ljava/lang/Void;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<Ljava/lang/Object;>;"
|
||||
const/4 v6, 0x0
|
||||
|
||||
const/4 v5, 0x0
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->isFaulted()Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$8;->val$errorLock:Ljava/lang/Object;
|
||||
|
||||
monitor-enter v2
|
||||
|
||||
:try_start_0
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-virtual {p1}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-virtual {v1, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
||||
|
||||
monitor-exit v2
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {p1}, Lbolts/Task;->isCancelled()Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_1
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
invoke-virtual {v1, v4}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
|
||||
|
||||
:cond_1
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$count:Ljava/util/concurrent/atomic/AtomicInteger;
|
||||
|
||||
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
|
||||
|
||||
move-result v1
|
||||
|
||||
if-nez v1, :cond_2
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_4
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
|
||||
|
||||
move-result v1
|
||||
|
||||
if-ne v1, v4, :cond_3
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$8;->val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-virtual {v1, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, Ljava/lang/Exception;
|
||||
|
||||
invoke-virtual {v2, v1}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
:cond_2
|
||||
:goto_0
|
||||
return-object v6
|
||||
|
||||
:catchall_0
|
||||
move-exception v1
|
||||
|
||||
:try_start_1
|
||||
monitor-exit v2
|
||||
:try_end_1
|
||||
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
||||
|
||||
throw v1
|
||||
|
||||
:cond_3
|
||||
new-instance v0, Lbolts/AggregateException;
|
||||
|
||||
const-string v1, "There were %d exceptions."
|
||||
|
||||
new-array v2, v4, [Ljava/lang/Object;
|
||||
|
||||
iget-object v3, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
aput-object v3, v2, v5
|
||||
|
||||
invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$8;->val$causes:Ljava/util/ArrayList;
|
||||
|
||||
invoke-direct {v0, v1, v2}, Lbolts/AggregateException;-><init>(Ljava/lang/String;Ljava/util/List;)V
|
||||
|
||||
.local v0, "error":Ljava/lang/Exception;
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1, v0}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.end local v0 # "error":Ljava/lang/Exception;
|
||||
:cond_4
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$isCancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_5
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1}, Lbolts/TaskCompletionSource;->setCancelled()V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_5
|
||||
iget-object v1, p0, Lbolts/Task$8;->val$allFinished:Lbolts/TaskCompletionSource;
|
||||
|
||||
invoke-virtual {v1, v6}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
185
com.discord/smali/bolts/Task$9.smali
Normal file
185
com.discord/smali/bolts/Task$9.smali
Normal file
|
@ -0,0 +1,185 @@
|
|||
.class Lbolts/Task$9;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lbolts/Continuation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lbolts/Task;->continueWhile(Ljava/util/concurrent/Callable;Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Object;",
|
||||
"Lbolts/Continuation",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
.field final synthetic val$continuation:Lbolts/Continuation;
|
||||
|
||||
.field final synthetic val$ct:Lbolts/CancellationToken;
|
||||
|
||||
.field final synthetic val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
.field final synthetic val$predicate:Ljava/util/concurrent/Callable;
|
||||
|
||||
.field final synthetic val$predicateContinuation:Lbolts/Capture;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;Lbolts/CancellationToken;Ljava/util/concurrent/Callable;Lbolts/Continuation;Ljava/util/concurrent/Executor;Lbolts/Capture;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$9;, "Lbolts/Task.9;"
|
||||
iput-object p1, p0, Lbolts/Task$9;->this$0:Lbolts/Task;
|
||||
|
||||
iput-object p2, p0, Lbolts/Task$9;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
iput-object p3, p0, Lbolts/Task$9;->val$predicate:Ljava/util/concurrent/Callable;
|
||||
|
||||
iput-object p4, p0, Lbolts/Task$9;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iput-object p5, p0, Lbolts/Task$9;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
iput-object p6, p0, Lbolts/Task$9;->val$predicateContinuation:Lbolts/Capture;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public then(Lbolts/Task;)Lbolts/Task;
|
||||
.locals 3
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;)",
|
||||
"Lbolts/Task",
|
||||
"<",
|
||||
"Ljava/lang/Void;",
|
||||
">;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$9;, "Lbolts/Task.9;"
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<Ljava/lang/Void;>;"
|
||||
const/4 v1, 0x0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$9;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$9;->val$ct:Lbolts/CancellationToken;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/CancellationToken;->isCancellationRequested()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-static {}, Lbolts/Task;->cancelled()Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
:goto_0
|
||||
return-object v0
|
||||
|
||||
:cond_0
|
||||
iget-object v0, p0, Lbolts/Task$9;->val$predicate:Ljava/util/concurrent/Callable;
|
||||
|
||||
invoke-interface {v0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
check-cast v0, Ljava/lang/Boolean;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
invoke-static {v1}, Lbolts/Task;->forResult(Ljava/lang/Object;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget-object v1, p0, Lbolts/Task$9;->val$continuation:Lbolts/Continuation;
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$9;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
invoke-virtual {v0, v1, v2}, Lbolts/Task;->onSuccessTask(Lbolts/Continuation;Ljava/util/concurrent/Executor;)Lbolts/Task;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
iget-object v0, p0, Lbolts/Task$9;->val$predicateContinuation:Lbolts/Capture;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/Capture;->get()Ljava/lang/Object;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
check-cast v0, Lbolts/Continuation;
|
||||
|
||||
iget-object v2, p0, Lbolts/Task$9;->val$executor:Ljava/util/concurrent/Executor;
|
||||
|
||||
invoke-virtual {v1, v0, v2}, Lbolts/Task;->onSuccessTask(Lbolts/Continuation;Ljava/util/concurrent/Executor;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
invoke-static {v1}, Lbolts/Task;->forResult(Ljava/lang/Object;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
goto :goto_0
|
||||
.end method
|
||||
|
||||
.method public bridge synthetic then(Lbolts/Task;)Ljava/lang/Object;
|
||||
.locals 1
|
||||
.param p1, "x0" # Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Exception;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$9;, "Lbolts/Task.9;"
|
||||
invoke-virtual {p0, p1}, Lbolts/Task$9;->then(Lbolts/Task;)Lbolts/Task;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
39
com.discord/smali/bolts/Task$TaskCompletionSource.smali
Normal file
39
com.discord/smali/bolts/Task$TaskCompletionSource.smali
Normal file
|
@ -0,0 +1,39 @@
|
|||
.class public Lbolts/Task$TaskCompletionSource;
|
||||
.super Lbolts/TaskCompletionSource;
|
||||
.source "Task.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1
|
||||
name = "TaskCompletionSource"
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Lbolts/TaskCompletionSource",
|
||||
"<TTResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic this$0:Lbolts/Task;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lbolts/Task;)V
|
||||
.locals 0
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/Task$TaskCompletionSource;, "Lbolts/Task<TTResult;>.TaskCompletionSource;"
|
||||
iput-object p1, p0, Lbolts/Task$TaskCompletionSource;->this$0:Lbolts/Task;
|
||||
|
||||
invoke-direct {p0}, Lbolts/TaskCompletionSource;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,28 @@
|
|||
.class public interface abstract Lbolts/Task$UnobservedExceptionHandler;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Task.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lbolts/Task;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x609
|
||||
name = "UnobservedExceptionHandler"
|
||||
.end annotation
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public abstract unobservedException(Lbolts/Task;Lbolts/UnobservedTaskException;)V
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<*>;",
|
||||
"Lbolts/UnobservedTaskException;",
|
||||
")V"
|
||||
}
|
||||
.end annotation
|
||||
.end method
|
2535
com.discord/smali/bolts/Task.smali
Normal file
2535
com.discord/smali/bolts/Task.smali
Normal file
File diff suppressed because it is too large
Load diff
187
com.discord/smali/bolts/TaskCompletionSource.smali
Normal file
187
com.discord/smali/bolts/TaskCompletionSource.smali
Normal file
|
@ -0,0 +1,187 @@
|
|||
.class public Lbolts/TaskCompletionSource;
|
||||
.super Ljava/lang/Object;
|
||||
.source "TaskCompletionSource.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"<TResult:",
|
||||
"Ljava/lang/Object;",
|
||||
">",
|
||||
"Ljava/lang/Object;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final task:Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
new-instance v0, Lbolts/Task;
|
||||
|
||||
invoke-direct {v0}, Lbolts/Task;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lbolts/TaskCompletionSource;->task:Lbolts/Task;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getTask()Lbolts/Task;
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"()",
|
||||
"Lbolts/Task",
|
||||
"<TTResult;>;"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/TaskCompletionSource;->task:Lbolts/Task;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public setCancelled()V
|
||||
.locals 2
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
invoke-virtual {p0}, Lbolts/TaskCompletionSource;->trySetCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Cannot cancel a completed task."
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setError(Ljava/lang/Exception;)V
|
||||
.locals 2
|
||||
.param p1, "error" # Ljava/lang/Exception;
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
invoke-virtual {p0, p1}, Lbolts/TaskCompletionSource;->trySetError(Ljava/lang/Exception;)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Cannot set the error on a completed task."
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setResult(Ljava/lang/Object;)V
|
||||
.locals 2
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(TTResult;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
.local p1, "result":Ljava/lang/Object;, "TTResult;"
|
||||
invoke-virtual {p0, p1}, Lbolts/TaskCompletionSource;->trySetResult(Ljava/lang/Object;)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Cannot set the result of a completed task."
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public trySetCancelled()Z
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/TaskCompletionSource;->task:Lbolts/Task;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/Task;->trySetCancelled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public trySetError(Ljava/lang/Exception;)Z
|
||||
.locals 1
|
||||
.param p1, "error" # Ljava/lang/Exception;
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
iget-object v0, p0, Lbolts/TaskCompletionSource;->task:Lbolts/Task;
|
||||
|
||||
invoke-virtual {v0, p1}, Lbolts/Task;->trySetError(Ljava/lang/Exception;)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public trySetResult(Ljava/lang/Object;)Z
|
||||
.locals 1
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(TTResult;)Z"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p0, "this":Lbolts/TaskCompletionSource;, "Lbolts/TaskCompletionSource<TTResult;>;"
|
||||
.local p1, "result":Ljava/lang/Object;, "TTResult;"
|
||||
iget-object v0, p0, Lbolts/TaskCompletionSource;->task:Lbolts/Task;
|
||||
|
||||
invoke-virtual {v0, p1}, Lbolts/Task;->trySetResult(Ljava/lang/Object;)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
97
com.discord/smali/bolts/UnobservedErrorNotifier.smali
Normal file
97
com.discord/smali/bolts/UnobservedErrorNotifier.smali
Normal file
|
@ -0,0 +1,97 @@
|
|||
.class Lbolts/UnobservedErrorNotifier;
|
||||
.super Ljava/lang/Object;
|
||||
.source "UnobservedErrorNotifier.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private task:Lbolts/Task;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Lbolts/Task",
|
||||
"<*>;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Lbolts/Task;)V
|
||||
.locals 0
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"(",
|
||||
"Lbolts/Task",
|
||||
"<*>;)V"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
.local p1, "task":Lbolts/Task;, "Lbolts/Task<*>;"
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-object p1, p0, Lbolts/UnobservedErrorNotifier;->task:Lbolts/Task;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method protected finalize()V
|
||||
.locals 4
|
||||
.annotation system Ldalvik/annotation/Throws;
|
||||
value = {
|
||||
Ljava/lang/Throwable;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.prologue
|
||||
:try_start_0
|
||||
iget-object v0, p0, Lbolts/UnobservedErrorNotifier;->task:Lbolts/Task;
|
||||
|
||||
.local v0, "faultedTask":Lbolts/Task;
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-static {}, Lbolts/Task;->getUnobservedExceptionHandler()Lbolts/Task$UnobservedExceptionHandler;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
.local v1, "ueh":Lbolts/Task$UnobservedExceptionHandler;
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
new-instance v2, Lbolts/UnobservedTaskException;
|
||||
|
||||
invoke-virtual {v0}, Lbolts/Task;->getError()Ljava/lang/Exception;
|
||||
|
||||
move-result-object v3
|
||||
|
||||
invoke-direct {v2, v3}, Lbolts/UnobservedTaskException;-><init>(Ljava/lang/Throwable;)V
|
||||
|
||||
invoke-interface {v1, v0, v2}, Lbolts/Task$UnobservedExceptionHandler;->unobservedException(Lbolts/Task;Lbolts/UnobservedTaskException;)V
|
||||
:try_end_0
|
||||
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
||||
|
||||
.end local v1 # "ueh":Lbolts/Task$UnobservedExceptionHandler;
|
||||
:cond_0
|
||||
invoke-super {p0}, Ljava/lang/Object;->finalize()V
|
||||
|
||||
return-void
|
||||
|
||||
.end local v0 # "faultedTask":Lbolts/Task;
|
||||
:catchall_0
|
||||
move-exception v2
|
||||
|
||||
invoke-super {p0}, Ljava/lang/Object;->finalize()V
|
||||
|
||||
throw v2
|
||||
.end method
|
||||
|
||||
.method public setObserved()V
|
||||
.locals 1
|
||||
|
||||
.prologue
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lbolts/UnobservedErrorNotifier;->task:Lbolts/Task;
|
||||
|
||||
return-void
|
||||
.end method
|
15
com.discord/smali/bolts/UnobservedTaskException.smali
Normal file
15
com.discord/smali/bolts/UnobservedTaskException.smali
Normal file
|
@ -0,0 +1,15 @@
|
|||
.class public Lbolts/UnobservedTaskException;
|
||||
.super Ljava/lang/RuntimeException;
|
||||
.source "UnobservedTaskException.java"
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Ljava/lang/Throwable;)V
|
||||
.locals 0
|
||||
.param p1, "cause" # Ljava/lang/Throwable;
|
||||
|
||||
.prologue
|
||||
invoke-direct {p0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
|
||||
|
||||
return-void
|
||||
.end method
|
Loading…
Add table
Add a link
Reference in a new issue