Weather/smali/cn/shuzilm/core/Main.smali
2021-05-10 10:13:34 +02:00

1399 lines
36 KiB
Smali

.class public Lcn/shuzilm/core/Main;
.super Landroid/telephony/PhoneStateListener;
# static fields
.field public static final MAIN_DU_ASYNCHRONOUS:I = 0x1
.field public static final MAIN_DU_SYNCHRONOUS:I
.field private static final a:Lcn/shuzilm/core/Main;
.field private static final b:Ljava/util/concurrent/locks/Lock;
.field private static final c:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.field private static e:Ljava/lang/String;
.field private static f:Ljava/lang/String;
.field private static final g:Lorg/json/JSONObject;
.field private static final h:Lorg/json/JSONObject;
.field private static i:Lorg/json/JSONObject;
.field private static final j:Ljava/lang/ThreadLocal;
.field private static k:Landroid/content/Context;
.field private static l:Ljava/lang/String;
.field private static m:Lorg/json/JSONObject;
.field private static final n:Ljava/util/concurrent/ExecutorService;
# instance fields
.field private d:Z
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lcn/shuzilm/core/Main;
invoke-direct {v0}, Lcn/shuzilm/core/Main;-><init>()V
sput-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
sput-object v0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
sput-object v0, Lcn/shuzilm/core/Main;->c:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
const/4 v0, 0x0
sput-object v0, Lcn/shuzilm/core/Main;->e:Ljava/lang/String;
sput-object v0, Lcn/shuzilm/core/Main;->f:Ljava/lang/String;
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
sput-object v1, Lcn/shuzilm/core/Main;->g:Lorg/json/JSONObject;
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
sput-object v1, Lcn/shuzilm/core/Main;->h:Lorg/json/JSONObject;
sput-object v0, Lcn/shuzilm/core/Main;->i:Lorg/json/JSONObject;
new-instance v1, Ljava/lang/ThreadLocal;
invoke-direct {v1}, Ljava/lang/ThreadLocal;-><init>()V
sput-object v1, Lcn/shuzilm/core/Main;->j:Ljava/lang/ThreadLocal;
sput-object v0, Lcn/shuzilm/core/Main;->k:Landroid/content/Context;
sput-object v0, Lcn/shuzilm/core/Main;->l:Ljava/lang/String;
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
sput-object v0, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Lcn/shuzilm/core/Main;->n:Ljava/util/concurrent/ExecutorService;
return-void
.end method
.method private constructor <init>()V
.locals 1
invoke-direct {p0}, Landroid/telephony/PhoneStateListener;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Lcn/shuzilm/core/Main;->d:Z
return-void
.end method
.method static synthetic a()Ljava/lang/String;
.locals 1
sget-object v0, Lcn/shuzilm/core/Main;->e:Ljava/lang/String;
return-object v0
.end method
.method private a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.locals 2
:try_start_0
invoke-virtual {p1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object p1
invoke-virtual {p1, p2}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object p1
new-instance p2, Ljava/lang/StringBuffer;
invoke-direct {p2}, Ljava/lang/StringBuffer;-><init>()V
new-instance v0, Ljava/io/BufferedReader;
new-instance v1, Ljava/io/InputStreamReader;
invoke-direct {v1, p1}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
invoke-direct {v0, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
:goto_0
invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_0
invoke-virtual {v0}, Ljava/io/BufferedReader;->close()V
invoke-virtual {p1}, Ljava/io/InputStream;->close()V
invoke-virtual {p2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
:cond_0
invoke-virtual {p2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
const/4 p1, 0x0
return-object p1
.end method
.method static synthetic a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 0
invoke-static {p0, p1, p2}, Lcn/shuzilm/core/Main;->run(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 2
const/4 p4, 0x0
invoke-direct {p0, p1, p2, p4}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;I)V
const/4 p4, 0x0
:try_start_0
const-string v0, "type"
const-string v1, "2"
invoke-direct {p0, v0, v1}, Lcn/shuzilm/core/Main;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "pEventCode"
invoke-direct {p0, v0, p2}, Lcn/shuzilm/core/Main;->a(Ljava/lang/String;Ljava/lang/String;)V
const-string p2, "apiKey"
sget-object v0, Lcn/shuzilm/core/Main;->e:Ljava/lang/String;
invoke-direct {p0, p2, v0}, Lcn/shuzilm/core/Main;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz p3, :cond_0
const-string p2, "mEventCode"
invoke-direct {p0, p2, p3}, Lcn/shuzilm/core/Main;->a(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
sget-object p2, Lcn/shuzilm/core/Main;->j:Ljava/lang/ThreadLocal;
invoke-virtual {p2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p2
if-eqz p2, :cond_1
sget-object p2, Lcn/shuzilm/core/Main;->j:Ljava/lang/ThreadLocal;
invoke-virtual {p2}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lorg/json/JSONObject;
invoke-virtual {p2}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p2
goto :goto_0
:cond_1
move-object p2, p4
:goto_0
sget-object p3, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
monitor-enter p3
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_0 .. :try_end_0} :catch_0
:try_start_1
sget-object v0, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {p1, p2, p4, v0}, Lcn/shuzilm/core/Main;->onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
if-eqz p1, :cond_2
:try_start_2
sget-object p2, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
invoke-direct {p0, p2, v0}, Lcn/shuzilm/core/Main;->a(Lorg/json/JSONObject;Ljava/lang/String;)V
goto :goto_1
:catchall_0
move-exception p2
move-object p4, p1
goto :goto_2
:cond_2
:goto_1
monitor-exit p3
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
move-object p4, p1
goto :goto_3
:catchall_1
move-exception p2
:goto_2
:try_start_3
monitor-exit p3
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
:try_start_4
throw p2
:try_end_4
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_1
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_4 .. :try_end_4} :catch_0
:catch_0
move-exception p1
invoke-virtual {p1}, Ljava/lang/UnsatisfiedLinkError;->printStackTrace()V
goto :goto_3
:catch_1
move-exception p1
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:goto_3
return-object p4
.end method
.method static synthetic a(Lcn/shuzilm/core/Main;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static synthetic a(Lcn/shuzilm/core/Main;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 0
invoke-direct {p0, p1, p2, p3, p4}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private a(Landroid/content/Context;Ljava/lang/String;I)V
.locals 1
sget-object p1, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
monitor-enter p1
:try_start_0
sget-object p3, Lcn/shuzilm/core/Main;->m:Lorg/json/JSONObject;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:try_start_1
invoke-virtual {p3, p2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x0
invoke-virtual {p3, p2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:cond_0
invoke-virtual {p3, p2}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result v0
add-int/lit8 v0, v0, 0x1
invoke-virtual {p3, p2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:try_end_1
.catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_0
:catch_0
move-exception p2
:try_start_2
invoke-virtual {p2}, Lorg/json/JSONException;->printStackTrace()V
:goto_0
monitor-exit p1
return-void
:catchall_0
move-exception p2
monitor-exit p1
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
throw p2
.end method
.method private a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
.locals 8
sget-object v0, Lcn/shuzilm/core/Main;->n:Ljava/util/concurrent/ExecutorService;
new-instance v7, Lcn/shuzilm/core/c;
move-object v1, v7
move-object v2, p0
move-object v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
invoke-direct/range {v1 .. v6}, Lcn/shuzilm/core/c;-><init>(Lcn/shuzilm/core/Main;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
invoke-interface {v0, v7}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
.locals 9
sget-object v0, Lcn/shuzilm/core/Main;->n:Ljava/util/concurrent/ExecutorService;
new-instance v8, Lcn/shuzilm/core/b;
move-object v1, v8
move-object v2, p0
move-object v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
move-object v7, p5
invoke-direct/range {v1 .. v7}, Lcn/shuzilm/core/b;-><init>(Lcn/shuzilm/core/Main;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
invoke-interface {v0, v8}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method private a(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
.locals 2
const-string v0, "url"
invoke-virtual {p2, v0}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_0
const-string v0, "url"
invoke-direct {p0, p1, v0}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
if-eqz v0, :cond_0
const-string v1, "url"
invoke-virtual {p2, v1, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_0
const-string v0, "store"
invoke-virtual {p2, v0}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_2
if-nez p3, :cond_1
invoke-direct {p0, p1}, Lcn/shuzilm/core/Main;->d(Landroid/content/Context;)Ljava/lang/String;
move-result-object p3
if-nez p3, :cond_1
const-string p3, "store"
invoke-direct {p0, p1, p3}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/String;
:cond_1
if-eqz p3, :cond_2
const-string v0, "store"
invoke-virtual {p2, v0, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_2
const-string p3, "apiKey"
invoke-virtual {p2, p3}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
move-result p3
if-eqz p3, :cond_3
const-string p3, "apiKey"
invoke-direct {p0, p1, p3}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
if-eqz p1, :cond_3
const-string p3, "apiKey"
invoke-virtual {p2, p3, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_3
return-void
.end method
.method static synthetic a(Lcn/shuzilm/core/Main;Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
return-void
.end method
.method static synthetic a(Lcn/shuzilm/core/Main;Lorg/json/JSONObject;Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p1, p2}, Lcn/shuzilm/core/Main;->b(Lorg/json/JSONObject;Ljava/lang/String;)V
return-void
.end method
.method private a(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
:try_start_0
sget-object v0, Lcn/shuzilm/core/Main;->j:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/json/JSONObject;
if-eqz v0, :cond_0
invoke-virtual {v0, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
return-void
:cond_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
invoke-virtual {v0, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
sget-object p1, Lcn/shuzilm/core/Main;->j:Ljava/lang/ThreadLocal;
invoke-virtual {p1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
invoke-virtual {p1}, Lorg/json/JSONException;->printStackTrace()V
:goto_0
return-void
.end method
.method private a(Lorg/json/JSONObject;Ljava/lang/String;)V
.locals 1
:try_start_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p2}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
move-result-object p2
:goto_0
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-nez v0, :cond_0
goto :goto_1
:cond_0
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->remove(Ljava/lang/String;)Ljava/lang/Object;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
invoke-virtual {p1}, Lorg/json/JSONException;->printStackTrace()V
:goto_1
return-void
.end method
.method private a(Lorg/json/JSONObject;Ljava/lang/String;Ljava/lang/String;)V
.locals 0
invoke-virtual {p1, p2, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
return-void
.end method
.method private a(Landroid/content/Context;)Z
.locals 1
const-string v0, "connectivity"
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/net/ConnectivityManager;
if-eqz p1, :cond_0
invoke-virtual {p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p1
if-eqz p1, :cond_0
invoke-virtual {p1}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p1}, Landroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
move-result-object p1
sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method static synthetic b()Lcn/shuzilm/core/Main;
.locals 1
sget-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
return-object v0
.end method
.method private b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
.locals 1
:try_start_0
sget-object v0, Lcn/shuzilm/core/Main;->i:Lorg/json/JSONObject;
if-nez v0, :cond_0
invoke-direct {p0, p1}, Lcn/shuzilm/core/Main;->c(Landroid/content/Context;)Lorg/json/JSONObject;
move-result-object v0
sput-object v0, Lcn/shuzilm/core/Main;->i:Lorg/json/JSONObject;
:cond_0
invoke-virtual {v0, p2}, Lorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
const/4 p1, 0x0
:goto_0
return-object p1
.end method
.method private b(Landroid/content/Context;)Ljava/lang/String;
.locals 1
const-string v0, "20171111_yy.jpg"
invoke-direct {p0, p1, v0}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 2
:try_start_0
const-string v0, "apiKey"
sget-object v1, Lcn/shuzilm/core/Main;->e:Ljava/lang/String;
invoke-static {v0, v1}, Lcn/shuzilm/core/Main;->setConfig(Ljava/lang/String;Ljava/lang/String;)I
sget-object v0, Lcn/shuzilm/core/Main;->h:Lorg/json/JSONObject;
invoke-direct {p0, p1, v0, p2}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Lorg/json/JSONObject;Ljava/lang/String;)V
sget-object p2, Lcn/shuzilm/core/Main;->g:Lorg/json/JSONObject;
invoke-direct {p0, p2, p3}, Lcn/shuzilm/core/Main;->b(Lorg/json/JSONObject;Ljava/lang/String;)V
sget-object p2, Lcn/shuzilm/core/Main;->h:Lorg/json/JSONObject;
invoke-virtual {p2}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p2
sget-object p3, Lcn/shuzilm/core/Main;->g:Lorg/json/JSONObject;
invoke-virtual {p3}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p3
invoke-static {p1, p2, p3}, Lcn/shuzilm/core/Main;->query(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception p1
invoke-virtual {p1}, Ljava/lang/UnsatisfiedLinkError;->printStackTrace()V
goto :goto_0
:catch_1
move-exception p1
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:goto_0
const/4 p1, 0x0
return-object p1
.end method
.method private b(Lorg/json/JSONObject;Ljava/lang/String;)V
.locals 1
const-string v0, "custom"
invoke-direct {p0, p1, v0, p2}, Lcn/shuzilm/core/Main;->a(Lorg/json/JSONObject;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private c(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.locals 2
:try_start_0
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
const/16 v1, 0x80
invoke-virtual {v0, p1, v1}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
move-result-object p1
iget-object p1, p1, Landroid/content/pm/ApplicationInfo;->metaData:Landroid/os/Bundle;
invoke-virtual {p1, p2}, Landroid/os/Bundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
:cond_0
const/4 p1, 0x0
return-object p1
.end method
.method static synthetic c()Lorg/json/JSONObject;
.locals 1
sget-object v0, Lcn/shuzilm/core/Main;->h:Lorg/json/JSONObject;
return-object v0
.end method
.method private c(Landroid/content/Context;)Lorg/json/JSONObject;
.locals 1
const-string v0, "cn.shuzilm.config.json"
invoke-direct {p0, p1, v0}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return-object v0
.end method
.method private d(Landroid/content/Context;)Ljava/lang/String;
.locals 4
const/4 v0, 0x0
:try_start_0
sget-object v1, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
const-string v2, "store"
invoke-direct {v1, p1, v2}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Ljava/lang/String;
if-eqz v2, :cond_0
return-object v0
:cond_0
new-instance v2, Lorg/json/JSONObject;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
const-string v1, "metadata"
invoke-virtual {v2, v1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v1
sget-object v2, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
const-string v3, "name"
invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-direct {v2, p1, v1}, Lcn/shuzilm/core/Main;->c(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-object p1, v0
:goto_0
return-object p1
.end method
.method static synthetic d()Lorg/json/JSONObject;
.locals 1
sget-object v0, Lcn/shuzilm/core/Main;->g:Lorg/json/JSONObject;
return-object v0
.end method
.method private e(Landroid/content/Context;)Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
const-string v1, "_dna"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {p1, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object p1
const/4 v0, 0x0
if-eqz p1, :cond_0
const-string v1, "device_id"
invoke-interface {p1, v1, v0}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:cond_0
return-object v0
.end method
.method public static getQueryID(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 2
const/4 v0, 0x0
const/4 v1, 0x0
invoke-static {p0, p1, p2, v0, v1}, Lcn/shuzilm/core/Main;->getQueryID(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;ILcn/shuzilm/core/Listener;)Ljava/util/Map;
move-result-object p0
const-string p1, "device_id"
invoke-interface {p0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
return-object p0
.end method
.method public static getQueryID(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;ILcn/shuzilm/core/Listener;)Ljava/util/Map;
.locals 3
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const-string v1, "0"
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
const/4 v2, 0x1
if-ne p3, v2, :cond_0
sget-object p3, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p3, p0, p1, p2, p4}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
const/4 p0, 0x0
return-object p0
:cond_0
sget-object p3, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p3}, Ljava/util/concurrent/locks/Lock;->tryLock()Z
move-result p3
if-nez p3, :cond_2
sget-object p3, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p3, p0}, Lcn/shuzilm/core/Main;->e(Landroid/content/Context;)Ljava/lang/String;
move-result-object p3
if-nez p3, :cond_1
sget-object v2, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {v2, p0, p1, p2, p4}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
:cond_1
const-string p0, "device_id"
invoke-virtual {v0, p0, p3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p0, "valid"
invoke-virtual {v0, p0, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
:cond_2
sget-object p3, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p3, p0, p1, p2}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_3
sput-object p1, Lcn/shuzilm/core/Main;->l:Ljava/lang/String;
const-string v1, "1"
:cond_3
if-nez p1, :cond_5
sget-object p1, Lcn/shuzilm/core/Main;->l:Ljava/lang/String;
if-eqz p1, :cond_4
sget-object p1, Lcn/shuzilm/core/Main;->l:Ljava/lang/String;
goto :goto_0
:cond_4
sget-object p1, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p1, p0}, Lcn/shuzilm/core/Main;->e(Landroid/content/Context;)Ljava/lang/String;
move-result-object p1
:cond_5
:goto_0
const-string p0, "device_id"
invoke-virtual {v0, p0, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p0, "valid"
invoke-virtual {v0, p0, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
sget-object p0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object v0
.end method
.method public static go(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.locals 2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p0
sget-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {v0, p0}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_1
sget-object v0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->tryLock()Z
move-result v0
if-nez v0, :cond_0
return-void
:cond_0
:try_start_0
sget-object v0, Lcn/shuzilm/core/Main;->n:Ljava/util/concurrent/ExecutorService;
new-instance v1, Lcn/shuzilm/core/a;
invoke-direct {v1, p0, p1, p2}, Lcn/shuzilm/core/a;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
sget-object p0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:cond_1
const-string p0, "[MAIN DU]"
const-string p1, "network is unavailable."
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
new-instance p0, Ljava/lang/Exception;
invoke-direct {p0}, Ljava/lang/Exception;-><init>()V
throw p0
.end method
.method public static init(Landroid/content/Context;Ljava/lang/String;)V
.locals 2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
sput-object v0, Lcn/shuzilm/core/Main;->k:Landroid/content/Context;
:try_start_0
sput-object p1, Lcn/shuzilm/core/Main;->e:Ljava/lang/String;
const-string p1, "du"
invoke-static {p1}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
sget-object p1, Lcn/shuzilm/core/Main;->k:Landroid/content/Context;
const-string v0, "phone"
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/telephony/TelephonyManager;
sget-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
const/16 v1, 0x100
invoke-virtual {p1, v0, v1}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
sget-object p1, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p1, p0}, Lcn/shuzilm/core/Main;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object p0
if-eqz p0, :cond_0
sput-object p0, Lcn/shuzilm/core/Main;->f:Ljava/lang/String;
const-string p1, "inner"
invoke-static {p1, p0}, Lcn/shuzilm/core/Main;->setConfig(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
sget-object p0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
const/4 p1, 0x1
iput-boolean p1, p0, Lcn/shuzilm/core/Main;->d:Z
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p0
invoke-virtual {p0}, Ljava/lang/UnsatisfiedLinkError;->printStackTrace()V
goto :goto_0
:catch_1
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:goto_0
return-void
.end method
.method private static native onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.end method
.method public static onEvent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcn/shuzilm/core/Listener;)Ljava/util/Map;
.locals 8
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const/4 v1, 0x0
if-nez p1, :cond_0
return-object v1
:cond_0
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v3
const/4 p0, 0x1
if-ne p4, p0, :cond_1
:goto_0
sget-object v2, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
move-object v4, p1
move-object v5, p2
move-object v6, p3
move-object v7, p5
invoke-direct/range {v2 .. v7}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcn/shuzilm/core/Listener;)V
return-object v1
:cond_1
sget-object p0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p0}, Ljava/util/concurrent/locks/Lock;->tryLock()Z
move-result p0
if-nez p0, :cond_2
goto :goto_0
:cond_2
sget-object p0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
invoke-direct {p0, v3, p1, p2, p3}, Lcn/shuzilm/core/Main;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
const-string p1, "SessionID"
invoke-virtual {v0, p1, p0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p0, "QueryID"
sget-object p1, Lcn/shuzilm/core/Main;->l:Ljava/lang/String;
invoke-virtual {v0, p0, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
sget-object p0, Lcn/shuzilm/core/Main;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object v0
.end method
.method private static native onSSChanged(Landroid/content/Context;Landroid/telephony/SignalStrength;)V
.end method
.method private static native query(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.end method
.method private static native run(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.end method
.method public static setConfig(Ljava/lang/String;Ljava/lang/String;)I
.locals 2
sget-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
sget-object v1, Lcn/shuzilm/core/Main;->h:Lorg/json/JSONObject;
invoke-direct {v0, v1, p0, p1}, Lcn/shuzilm/core/Main;->a(Lorg/json/JSONObject;Ljava/lang/String;Ljava/lang/String;)V
const/4 p0, 0x0
return p0
.end method
.method public static setData(Ljava/lang/String;Ljava/lang/String;)I
.locals 2
sget-object v0, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
sget-object v1, Lcn/shuzilm/core/Main;->g:Lorg/json/JSONObject;
invoke-direct {v0, v1, p0, p1}, Lcn/shuzilm/core/Main;->a(Lorg/json/JSONObject;Ljava/lang/String;Ljava/lang/String;)V
const/4 p0, 0x0
return p0
.end method
.method public static unResListener()I
.locals 3
sget-object v0, Lcn/shuzilm/core/Main;->k:Landroid/content/Context;
const-string v1, "phone"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
sget-object v1, Lcn/shuzilm/core/Main;->a:Lcn/shuzilm/core/Main;
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
return v2
.end method
# virtual methods
.method public onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
.locals 1
sget-object v0, Lcn/shuzilm/core/Main;->k:Landroid/content/Context;
invoke-static {v0, p1}, Lcn/shuzilm/core/Main;->onSSChanged(Landroid/content/Context;Landroid/telephony/SignalStrength;)V
return-void
.end method