b.smali
.class public Lcom/keniu/security/b/b;
.super Ljava/lang/Object;
.source "MainTaskManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/keniu/security/b/b$a;
}
.end annotation
# static fields
.field static a:Lcom/keniu/security/b/b;
.field private static d:I
.field private static final e:Ljava/util/concurrent/ThreadFactory;
# instance fields
.field public b:I
.field private volatile c:Lcom/keniu/security/b/e;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 19
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, Lcom/keniu/security/b/b;->d:I
.line 40
new-instance v0, Lcom/keniu/security/b/c;
invoke-direct {v0}, Lcom/keniu/security/b/c;-><init>()V
sput-object v0, Lcom/keniu/security/b/b;->e:Ljava/util/concurrent/ThreadFactory;
return-void
.end method
.method private constructor <init>()V
.registers 2
.prologue
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 36
const/4 v0, 0x5
iput v0, p0, Lcom/keniu/security/b/b;->b:I
.line 38
return-void
.end method
.method public static a()Lcom/keniu/security/b/b;
.registers 2
.prologue
.line 22
sget-object v0, Lcom/keniu/security/b/b;->a:Lcom/keniu/security/b/b;
if-nez v0, :cond_13
.line 23
const-class v1, Lcom/keniu/security/b/b;
monitor-enter v1
.line 24
:try_start_7
sget-object v0, Lcom/keniu/security/b/b;->a:Lcom/keniu/security/b/b;
if-nez v0, :cond_12
.line 25
new-instance v0, Lcom/keniu/security/b/b;
invoke-direct {v0}, Lcom/keniu/security/b/b;-><init>()V
sput-object v0, Lcom/keniu/security/b/b;->a:Lcom/keniu/security/b/b;
.line 27
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 29
:cond_13
sget-object v0, Lcom/keniu/security/b/b;->a:Lcom/keniu/security/b/b;
return-object v0
.line 27
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method private c()V
.registers 10
.prologue
const/4 v2, 0x1
.line 103
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
if-eqz v0, :cond_d
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
invoke-virtual {v0}, Lcom/keniu/security/b/e;->isShutdown()Z
move-result v0
if-eqz v0, :cond_21
.line 104
:cond_d
new-instance v0, Lcom/keniu/security/b/d;
const-wide/16 v4, 0x0
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/PriorityBlockingQueue;
invoke-direct {v7}, Ljava/util/concurrent/PriorityBlockingQueue;-><init>()V
sget-object v8, Lcom/keniu/security/b/b;->e:Ljava/util/concurrent/ThreadFactory;
move-object v1, p0
move v3, v2
invoke-direct/range {v0 .. v8}, Lcom/keniu/security/b/d;-><init>(Lcom/keniu/security/b/b;IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
iput-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
.line 117
:cond_21
return-void
.end method
# virtual methods
.method public a(Lcom/keniu/security/b/a;)Ljava/util/concurrent/Future;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/keniu/security/b/a;",
")",
"Ljava/util/concurrent/Future",
"<*>;"
}
.end annotation
.prologue
.line 49
const/4 v0, 0x5
invoke-virtual {p0, p1, v0}, Lcom/keniu/security/b/b;->a(Lcom/keniu/security/b/a;I)Ljava/util/concurrent/Future;
move-result-object v0
return-object v0
.end method
.method public a(Lcom/keniu/security/b/a;I)Ljava/util/concurrent/Future;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/keniu/security/b/a;",
"I)",
"Ljava/util/concurrent/Future",
"<*>;"
}
.end annotation
.prologue
.line 53
const/16 v0, 0xa
if-gt p2, v0, :cond_7
const/4 v0, 0x1
if-ge p2, v0, :cond_f
.line 54
:cond_7
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Priority out of range"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 56
:cond_f
invoke-direct {p0}, Lcom/keniu/security/b/b;->c()V
.line 57
iput p2, p0, Lcom/keniu/security/b/b;->b:I
.line 58
invoke-virtual {p1, p2}, Lcom/keniu/security/b/a;->a(I)V
.line 59
sget-object v0, Lcom/keniu/security/b/b;->a:Lcom/keniu/security/b/b;
iget-object v0, v0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
invoke-virtual {v0, p1}, Lcom/keniu/security/b/e;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
move-result-object v0
.line 60
return-object v0
.end method
.method public b()V
.registers 2
.prologue
.line 91
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
if-eqz v0, :cond_1d
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
invoke-virtual {v0}, Lcom/keniu/security/b/e;->isShutdown()Z
move-result v0
if-nez v0, :cond_1d
.line 92
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
invoke-virtual {v0}, Lcom/keniu/security/b/e;->getQueue()Ljava/util/concurrent/BlockingQueue;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/BlockingQueue;->clear()V
.line 94
:try_start_15
iget-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
invoke-virtual {v0}, Lcom/keniu/security/b/e;->shutdownNow()Ljava/util/List;
.line 95
const/4 v0, 0x0
iput-object v0, p0, Lcom/keniu/security/b/b;->c:Lcom/keniu/security/b/e;
:try_end_1d
.catch Ljava/lang/Exception; {:try_start_15 .. :try_end_1d} :catch_1e
.line 100
:cond_1d
:goto_1d
return-void
.line 96
:catch_1e
move-exception v0
.line 97
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_1d
.end method