b.smali
.class public Lcn/jiguang/bi/b;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcn/jiguang/bi/b$a;
}
.end annotation
# static fields
.field private static volatile a:Lcn/jiguang/bi/b;
.field private static final b:Ljava/lang/Object;
# instance fields
.field private c:Z
.field private d:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap",
"<",
"Ljava/lang/Integer;",
"Lcn/jiguang/bi/a;",
">;"
}
.end annotation
.end field
.field private e:Landroid/os/Handler;
.field private f:Landroid/os/HandlerThread;
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcn/jiguang/bi/b;->b:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Lcn/jiguang/bi/b;->c:Z
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
iput-object v0, p0, Lcn/jiguang/bi/b;->d:Ljava/util/concurrent/ConcurrentHashMap;
return-void
.end method
.method public static a()Lcn/jiguang/bi/b;
.registers 2
sget-object v0, Lcn/jiguang/bi/b;->a:Lcn/jiguang/bi/b;
if-nez v0, :cond_13
sget-object v1, Lcn/jiguang/bi/b;->b:Ljava/lang/Object;
monitor-enter v1
:try_start_7
sget-object v0, Lcn/jiguang/bi/b;->a:Lcn/jiguang/bi/b;
if-nez v0, :cond_12
new-instance v0, Lcn/jiguang/bi/b;
invoke-direct {v0}, Lcn/jiguang/bi/b;-><init>()V
sput-object v0, Lcn/jiguang/bi/b;->a:Lcn/jiguang/bi/b;
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
:cond_13
sget-object v0, Lcn/jiguang/bi/b;->a:Lcn/jiguang/bi/b;
return-object v0
: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 static synthetic a(Lcn/jiguang/bi/b;)Ljava/util/concurrent/ConcurrentHashMap;
.registers 2
iget-object v0, p0, Lcn/jiguang/bi/b;->d:Ljava/util/concurrent/ConcurrentHashMap;
return-object v0
.end method
# virtual methods
.method public a(IJLcn/jiguang/bi/a;)V
.registers 7
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
if-nez v0, :cond_5
:goto_4
return-void
:cond_5
iput-wide p2, p4, Lcn/jiguang/bi/a;->b:J
const/4 v0, 0x1
iput v0, p4, Lcn/jiguang/bi/a;->c:I
iget-object v0, p0, Lcn/jiguang/bi/b;->d:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, p4}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->hasMessages(I)Z
move-result v0
if-eqz v0, :cond_27
const-string v0, "TaskHandlerManager_xxx"
const-string v1, "registerFixedAction,same action in handler,will replace"
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->removeMessages(I)V
:cond_27
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1, p2, p3}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
goto :goto_4
.end method
.method public declared-synchronized a(Landroid/content/Context;)V
.registers 4
monitor-enter p0
:try_start_1
iget-boolean v0, p0, Lcn/jiguang/bi/b;->c:Z
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_11
if-eqz v0, :cond_7
:goto_5
monitor-exit p0
return-void
:cond_7
if-nez p1, :cond_14
:try_start_9
const-string v0, "TaskHandlerManager_xxx"
const-string v1, "init context is null"
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_10
.catchall {:try_start_9 .. :try_end_10} :catchall_11
goto :goto_5
:catchall_11
move-exception v0
monitor-exit p0
throw v0
:cond_14
:try_start_14
const-string v0, "TaskHandlerManager_xxx"
const-string v1, "init task manager..."
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_1b
.catchall {:try_start_14 .. :try_end_1b} :catchall_11
:try_start_1b
iget-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
if-eqz v0, :cond_27
iget-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->isAlive()Z
move-result v0
if-nez v0, :cond_35
:cond_27
new-instance v0, Lcn/jiguang/bi/b$1;
const-string v1, "jg_tsk_thread"
invoke-direct {v0, p0, v1}, Lcn/jiguang/bi/b$1;-><init>(Lcn/jiguang/bi/b;Ljava/lang/String;)V
iput-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
iget-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
:cond_35
new-instance v1, Lcn/jiguang/bi/b$a;
iget-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v0
if-nez v0, :cond_4c
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
:goto_43
invoke-direct {v1, p0, v0}, Lcn/jiguang/bi/b$a;-><init>(Lcn/jiguang/bi/b;Landroid/os/Looper;)V
iput-object v1, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
:try_end_48
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_48} :catch_53
.catchall {:try_start_1b .. :try_end_48} :catchall_11
:goto_48
const/4 v0, 0x1
:try_start_49
iput-boolean v0, p0, Lcn/jiguang/bi/b;->c:Z
:try_end_4b
.catchall {:try_start_49 .. :try_end_4b} :catchall_11
goto :goto_5
:cond_4c
:try_start_4c
iget-object v0, p0, Lcn/jiguang/bi/b;->f:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
:try_end_51
.catch Ljava/lang/Exception; {:try_start_4c .. :try_end_51} :catch_53
.catchall {:try_start_4c .. :try_end_51} :catchall_11
move-result-object v0
goto :goto_43
:catch_53
move-exception v0
:try_start_54
new-instance v0, Lcn/jiguang/bi/b$a;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, p0, v1}, Lcn/jiguang/bi/b$a;-><init>(Lcn/jiguang/bi/b;Landroid/os/Looper;)V
iput-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
:try_end_5f
.catchall {:try_start_54 .. :try_end_5f} :catchall_11
goto :goto_48
.end method
.method public a(I)Z
.registers 3
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
if-nez v0, :cond_6
const/4 v0, 0x0
:goto_5
return v0
:cond_6
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->hasMessages(I)Z
move-result v0
goto :goto_5
.end method
.method public b(I)V
.registers 4
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
if-nez v0, :cond_5
:goto_4
return-void
:cond_5
iget-object v0, p0, Lcn/jiguang/bi/b;->d:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->removeMessages(I)V
goto :goto_4
.end method
.method public b(IJLcn/jiguang/bi/a;)V
.registers 9
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
if-nez v0, :cond_5
:goto_4
return-void
:cond_5
const/4 v0, 0x2
iput v0, p4, Lcn/jiguang/bi/a;->c:I
iget-object v0, p0, Lcn/jiguang/bi/b;->d:Ljava/util/concurrent/ConcurrentHashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, p4}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->hasMessages(I)Z
move-result v0
if-eqz v0, :cond_3c
const-string v0, "TaskHandlerManager_xxx"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "sendMsg,replace:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1}, Landroid/os/Handler;->removeMessages(I)V
:goto_36
iget-object v0, p0, Lcn/jiguang/bi/b;->e:Landroid/os/Handler;
invoke-virtual {v0, p1, p2, p3}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
goto :goto_4
:cond_3c
const-string v0, "TaskHandlerManager_xxx"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "sendMsg,action="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_36
.end method