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