a.smali
.class public Lcn/jiguang/ar/a;
.super Ljava/lang/Object;
# static fields
.field private static final a:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/util/concurrent/ExecutorService;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcn/jiguang/ar/a;->a:Ljava/util/HashMap;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static a(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
.registers 5
const/4 v1, 0x5
sget-object v0, Lcn/jiguang/ar/a;->a:Ljava/util/HashMap;
invoke-virtual {v0, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/concurrent/ExecutorService;
if-eqz v0, :cond_11
invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->isShutdown()Z
move-result v2
if-eqz v2, :cond_39
:cond_11
const-class v2, Lcn/jiguang/ar/a;
monitor-enter v2
:try_start_14
sget-object v0, Lcn/jiguang/ar/a;->a:Ljava/util/HashMap;
invoke-virtual {v0, p0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/concurrent/ExecutorService;
if-eqz v0, :cond_24
invoke-interface {v0}, Ljava/util/concurrent/ExecutorService;->isShutdown()Z
move-result v3
if-eqz v3, :cond_38
:cond_24
const/4 v0, -0x1
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
move-result v3
sparse-switch v3, :sswitch_data_a6
:cond_2c
:goto_2c
packed-switch v0, :pswitch_data_cc
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v0
:goto_33
sget-object v1, Lcn/jiguang/ar/a;->a:Ljava/util/HashMap;
invoke-virtual {v1, p0, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_38
monitor-exit v2
:cond_39
return-object v0
:sswitch_3a
const-string v1, "ASYNC"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x0
goto :goto_2c
:sswitch_44
const-string v1, "TCP_REPORT"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x1
goto :goto_2c
:sswitch_4e
const-string v1, "SDK_INIT"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x2
goto :goto_2c
:sswitch_58
const-string v1, "SDK_SERVICE_INIT"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x3
goto :goto_2c
:sswitch_62
const-string v1, "SDK_MAIN"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x4
goto :goto_2c
:sswitch_6c
const-string v3, "ACTION"
invoke-virtual {p0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_2c
move v0, v1
goto :goto_2c
:sswitch_76
const-string v1, "BUILD_REPORT"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x6
goto :goto_2c
:sswitch_80
const-string v1, "UPLOAD_REPORT"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/4 v0, 0x7
goto :goto_2c
:sswitch_8a
const-string v1, "REPORT_HISTORY"
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
const/16 v0, 0x8
goto :goto_2c
:pswitch_95
const/16 v0, 0xf
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v0
goto :goto_33
:pswitch_9c
const/4 v0, 0x5
invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;
move-result-object v0
goto :goto_33
:catchall_a2
move-exception v0
monitor-exit v2
:try_end_a4
.catchall {:try_start_14 .. :try_end_a4} :catchall_a2
throw v0
nop
:sswitch_data_a6
.sparse-switch
-0x6250888e -> :sswitch_44
-0x61eccece -> :sswitch_80
-0x2ef81397 -> :sswitch_8a
-0x1de29bbb -> :sswitch_76
0x3bb0a5c -> :sswitch_3a
0x4081d615 -> :sswitch_4e
0x408376be -> :sswitch_62
0x507fbc7f -> :sswitch_58
0x72c27236 -> :sswitch_6c
.end sparse-switch
:pswitch_data_cc
.packed-switch 0x0
:pswitch_95
:pswitch_9c
.end packed-switch
.end method
.method public static a(Ljava/lang/String;Ljava/lang/Runnable;)V
.registers 7
const/4 v1, 0x0
:try_start_1
invoke-static {p0}, Lcn/jiguang/ar/a;->a(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, p1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_8} :catch_9
:cond_8
:goto_8
return-void
:catch_9
move-exception v0
const-string v2, "SDKWorker_XExecutor"
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "execute failed, try again e:"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcn/jiguang/ac/d;->h(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v1, :cond_41
:try_start_20
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V
const-wide/16 v2, 0x64
sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ExecutorService;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
move-result v2
if-nez v2, :cond_41
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdownNow()Ljava/util/List;
const-wide/16 v2, 0x64
sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ExecutorService;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
move-result v2
if-nez v2, :cond_41
const-string v2, "SDKWorker_XExecutor"
const-string v3, "executor did not terminate"
invoke-static {v2, v3}, Lcn/jiguang/ac/d;->a(Ljava/lang/String;Ljava/lang/String;)V
:try_end_41
.catch Ljava/lang/InterruptedException; {:try_start_20 .. :try_end_41} :catch_7a
.catch Ljava/lang/Throwable; {:try_start_20 .. :try_end_41} :catch_8d
:cond_41
:goto_41
:try_start_41
invoke-static {p0}, Lcn/jiguang/ar/a;->a(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
move-result-object v1
invoke-interface {v1, p1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
:try_end_48
.catch Ljava/lang/Throwable; {:try_start_41 .. :try_end_48} :catch_49
goto :goto_8
:catch_49
move-exception v1
const-string v1, "SDKWorker_XExecutor"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "execute e:"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ac/d;->h(Ljava/lang/String;Ljava/lang/String;)V
if-eqz p1, :cond_8
:try_start_60
const-string v0, "BUILD_REPORT"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_8
new-instance v0, Ljava/lang/Thread;
invoke-direct {v0, p1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
:try_end_70
.catch Ljava/lang/Throwable; {:try_start_60 .. :try_end_70} :catch_71
goto :goto_8
:catch_71
move-exception v0
const-string v1, "SDKWorker_XExecutor"
const-string v2, "execute BUILD_REPORT last error"
invoke-static {v1, v2, v0}, Lcn/jiguang/ac/d;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_8
:catch_7a
move-exception v2
invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdownNow()Ljava/util/List;
const-string v1, "SDKWorker_XExecutor"
const-string v2, "current thread is interrupted by self"
invoke-static {v1, v2}, Lcn/jiguang/ac/d;->a(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Thread;->interrupt()V
goto :goto_41
:catch_8d
move-exception v1
const-string v2, "SDKWorker_XExecutor"
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "shutDown e:"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Lcn/jiguang/ac/d;->f(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_41
.end method