AsyncTask.smali
.class public abstract Lio/fabric/sdk/android/services/concurrency/AsyncTask;
.super Ljava/lang/Object;
.source "AsyncTask.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<Params:",
"Ljava/lang/Object;",
"Progress:",
"Ljava/lang/Object;",
"Result:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static SERIAL_EXECUTOR:Ljava/util/concurrent/Executor;
.field public static final THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
.field private static final bMi:Ljava/util/concurrent/ThreadFactory;
.field private static final bMj:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue",
"<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private static final bMk:Lio/fabric/sdk/android/services/concurrency/b;
.field private static volatile bMl:Ljava/util/concurrent/Executor;
.field private static final bug:I
.field private static final buh:I
.field private static final bui:I
# instance fields
.field private bMm:Lio/fabric/sdk/android/services/concurrency/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/fabric/sdk/android/services/concurrency/d",
"<TParams;TResult;>;"
}
.end annotation
.end field
.field public final bMn:Ljava/util/concurrent/FutureTask;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/FutureTask",
"<TResult;>;"
}
.end annotation
.end field
.field public volatile bMo:Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;
.field private final bMp:Ljava/util/concurrent/atomic/AtomicBoolean;
.field protected final cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
# direct methods
.method static constructor <clinit>()V
.registers 9
.prologue
.line 203
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->availableProcessors()I
move-result v0
.line 204
sput v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bug:I
add-int/lit8 v0, v0, 0x1
sput v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->buh:I
.line 205
sget v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bug:I
shl-int/lit8 v0, v0, 0x1
add-int/lit8 v0, v0, 0x1
sput v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bui:I
.line 208
new-instance v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask$1;
invoke-direct {v0}, Lio/fabric/sdk/android/services/concurrency/AsyncTask$1;-><init>()V
sput-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMi:Ljava/util/concurrent/ThreadFactory;
.line 216
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
const/16 v1, 0x80
invoke-direct {v0, v1}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
sput-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMj:Ljava/util/concurrent/BlockingQueue;
.line 222
new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor;
sget v2, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->buh:I
sget v3, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bui:I
const-wide/16 v4, 0x1
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
sget-object v7, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMj:Ljava/util/concurrent/BlockingQueue;
sget-object v8, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMi:Ljava/util/concurrent/ThreadFactory;
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
sput-object v1, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
.line 230
new-instance v0, Lio/fabric/sdk/android/services/concurrency/c;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lio/fabric/sdk/android/services/concurrency/c;-><init>(B)V
sput-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->SERIAL_EXECUTOR:Ljava/util/concurrent/Executor;
.line 235
new-instance v0, Lio/fabric/sdk/android/services/concurrency/b;
invoke-direct {v0}, Lio/fabric/sdk/android/services/concurrency/b;-><init>()V
sput-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMk:Lio/fabric/sdk/android/services/concurrency/b;
.line 237
sget-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->SERIAL_EXECUTOR:Ljava/util/concurrent/Executor;
sput-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMl:Ljava/util/concurrent/Executor;
return-void
.end method
.method public constructor <init>()V
.registers 3
.prologue
.line 304
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 241
sget-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;->PENDING:Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMo:Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;
.line 243
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 244
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMp:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 305
new-instance v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask$2;
invoke-direct {v0, p0}, Lio/fabric/sdk/android/services/concurrency/AsyncTask$2;-><init>(Lio/fabric/sdk/android/services/concurrency/AsyncTask;)V
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMm:Lio/fabric/sdk/android/services/concurrency/d;
.line 315
new-instance v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask$3;
iget-object v1, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMm:Lio/fabric/sdk/android/services/concurrency/d;
invoke-direct {v0, p0, v1}, Lio/fabric/sdk/android/services/concurrency/AsyncTask$3;-><init>(Lio/fabric/sdk/android/services/concurrency/AsyncTask;Ljava/util/concurrent/Callable;)V
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMn:Ljava/util/concurrent/FutureTask;
.line 330
return-void
.end method
.method static synthetic a(Lio/fabric/sdk/android/services/concurrency/AsyncTask;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.prologue
.line 200
invoke-direct {p0, p1}, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->n(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method static synthetic a(Lio/fabric/sdk/android/services/concurrency/AsyncTask;)Ljava/util/concurrent/atomic/AtomicBoolean;
.registers 2
.prologue
.line 200
iget-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMp:Ljava/util/concurrent/atomic/AtomicBoolean;
return-object v0
.end method
.method protected static varargs aT()V
.registers 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
.line 410
return-void
.end method
.method static synthetic b(Lio/fabric/sdk/android/services/concurrency/AsyncTask;)V
.registers 2
.prologue
.line 200
.line 2457
iget-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
.line 1653
if-eqz v0, :cond_10
.line 1654
invoke-virtual {p0}, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->Op()V
.line 1658
:goto_b
sget-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;->FINISHED:Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;
iput-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMo:Lio/fabric/sdk/android/services/concurrency/AsyncTask$Status;
.line 200
return-void
.line 1656
:cond_10
invoke-virtual {p0}, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->Oo()V
goto :goto_b
.end method
.method static synthetic b(Lio/fabric/sdk/android/services/concurrency/AsyncTask;Ljava/lang/Object;)V
.registers 3
.prologue
.line 200
.line 1333
iget-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMp:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
.line 1334
if-nez v0, :cond_b
.line 1335
invoke-direct {p0, p1}, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->n(Ljava/lang/Object;)Ljava/lang/Object;
.line 200
:cond_b
return-void
.end method
.method private n(Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(TResult;)TResult;"
}
.end annotation
.prologue
const/4 v4, 0x1
.line 341
sget-object v0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMk:Lio/fabric/sdk/android/services/concurrency/b;
new-instance v1, Lio/fabric/sdk/android/services/concurrency/a;
new-array v2, v4, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
invoke-direct {v1, p0}, Lio/fabric/sdk/android/services/concurrency/a;-><init>(Lio/fabric/sdk/android/services/concurrency/AsyncTask;)V
invoke-virtual {v0, v4, v1}, Lio/fabric/sdk/android/services/concurrency/b;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object v0
.line 343
invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
.line 344
return-object p1
.end method
# virtual methods
.method public final OK()Z
.registers 3
.prologue
const/4 v1, 0x1
.line 490
iget-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
.line 491
iget-object v0, p0, Lio/fabric/sdk/android/services/concurrency/AsyncTask;->bMn:Ljava/util/concurrent/FutureTask;
invoke-virtual {v0, v1}, Ljava/util/concurrent/FutureTask;->cancel(Z)Z
move-result v0
return v0
.end method
.method public Oo()V
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
.line 397
return-void
.end method
.method public Op()V
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.prologue
.line 429
return-void
.end method
.method public varargs abstract aS()Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"()TResult;"
}
.end annotation
.end method
.method public onPreExecute()V
.registers 1
.prologue
.line 381
return-void
.end method