ActionManager.smali
.class public Lcn/jiguang/internal/ActionManager;
.super Ljava/lang/Object;
# static fields
.field private static final TAG:Ljava/lang/String; = "ActionManager"
.field private static actionMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Lcn/jiguang/api/JDispatchAction;",
">;"
}
.end annotation
.end field
.field private static actionStringMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static volatile detachDataManager:Lcn/jiguang/internal/ActionManager;
.field private static final lock:Ljava/lang/Object;
# 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/internal/ActionManager;->lock:Ljava/lang/Object;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcn/jiguang/internal/ActionManager;->actionStringMap:Ljava/util/HashMap;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-static {}, Lcn/jiguang/ax/b;->a()Lcn/jiguang/ax/b;
return-void
.end method
.method public static addAction(Ljava/lang/String;Ljava/lang/String;)V
.registers 6
const-string v0, "ActionManager"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "addAction type:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ",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(Ljava/lang/String;)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}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_48
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v0, p0}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_75
:try_start_30
invoke-static {p1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lcn/jiguang/api/JDispatchAction;
if-eqz v1, :cond_49
sget-object v1, Lcn/jiguang/internal/ActionManager;->actionStringMap:Ljava/util/HashMap;
invoke-virtual {v1, p0, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
sget-object v1, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
check-cast v0, Lcn/jiguang/api/JDispatchAction;
invoke-virtual {v1, p0, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_48
:goto_48
return-void
:cond_49
const-string v0, "ActionManager"
const-string v1, "this action is not a JDispatchAction,please check and extends JDispatchAction"
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
:try_end_50
.catch Ljava/lang/Throwable; {:try_start_30 .. :try_end_50} :catch_51
goto :goto_48
:catch_51
move-exception v0
const-string v1, "ActionManager"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "#unexcepted - instance "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " class failed:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
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/ay/c;->h(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_48
:cond_75
const-string v0, "ActionManager"
const-string v1, "has same type action"
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_48
.end method
.method public static getActionMap()Ljava/util/HashMap;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionStringMap:Ljava/util/HashMap;
return-object v0
.end method
.method public static getInstance()Lcn/jiguang/internal/ActionManager;
.registers 2
sget-object v0, Lcn/jiguang/internal/ActionManager;->detachDataManager:Lcn/jiguang/internal/ActionManager;
if-nez v0, :cond_13
sget-object v1, Lcn/jiguang/internal/ActionManager;->lock:Ljava/lang/Object;
monitor-enter v1
:try_start_7
sget-object v0, Lcn/jiguang/internal/ActionManager;->detachDataManager:Lcn/jiguang/internal/ActionManager;
if-nez v0, :cond_12
new-instance v0, Lcn/jiguang/internal/ActionManager;
invoke-direct {v0}, Lcn/jiguang/internal/ActionManager;-><init>()V
sput-object v0, Lcn/jiguang/internal/ActionManager;->detachDataManager:Lcn/jiguang/internal/ActionManager;
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
:cond_13
sget-object v0, Lcn/jiguang/internal/ActionManager;->detachDataManager:Lcn/jiguang/internal/ActionManager;
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
# virtual methods
.method public handleMessage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Object;)V
.registers 7
const-string v0, "ActionManager"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "onSended type:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ",actionMap size:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
sget-object v2, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v2}, Ljava/util/HashMap;->size()I
move-result v2
invoke-virtual {v1, v2}, 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;->a(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_54
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_38
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_61
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/jiguang/api/JDispatchAction;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v1, p1, v0, p3}, Lcn/jiguang/api/JDispatchAction;->handleMessage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Object;)V
goto :goto_38
:cond_54
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v0, p2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcn/jiguang/api/JDispatchAction;
if-eqz v0, :cond_61
invoke-virtual {v0, p1, p2, p3}, Lcn/jiguang/api/JDispatchAction;->handleMessage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Object;)V
:cond_61
return-void
.end method
.method public loadPInfo()Ljava/util/Map;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map",
"<",
"Ljava/lang/Integer;",
"Landroid/os/Bundle;",
">;"
}
.end annotation
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_f
:goto_f
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_3e
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/jiguang/api/JDispatchAction;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v1, v0}, Lcn/jiguang/api/JDispatchAction;->getPInfo(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object v0
if-eqz v0, :cond_f
const-string v1, "pid"
const/4 v4, 0x0
invoke-virtual {v0, v1, v4}, Landroid/os/Bundle;->getInt(Ljava/lang/String;I)I
move-result v1
if-lez v1, :cond_f
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v2, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_f
:cond_3e
return-object v2
.end method
.method public wrapSdkVersionInfo(Lorg/json/JSONObject;)Z
.registers 6
if-nez p1, :cond_c
const-string v0, "ActionManager"
const-string/jumbo v1, "wrapSdkVersionInfo failed ,container is null"
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
:goto_b
return v0
:cond_c
:try_start_c
const-string v0, "core_sdk_ver"
sget-object v1, Lcn/jiguang/a/a;->b:Ljava/lang/String;
invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
sget-object v0, Lcn/jiguang/internal/ActionManager;->actionMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_1d
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_4b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcn/jiguang/api/JDispatchAction;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v1, v2}, Lcn/jiguang/api/JDispatchAction;->getReportVersionKey(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v1, v0}, Lcn/jiguang/api/JDispatchAction;->getSdkVersion(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_46
.catch Lorg/json/JSONException; {:try_start_c .. :try_end_46} :catch_47
goto :goto_1d
:catch_47
move-exception v0
invoke-virtual {v0}, Lorg/json/JSONException;->printStackTrace()V
:cond_4b
const/4 v0, 0x1
goto :goto_b
.end method