NetMgr.smali

.class public Lio/dcloud/common/util/net/NetMgr;
.super Lio/dcloud/common/DHInterface/AbsMgr;

# interfaces
.implements Lio/dcloud/common/DHInterface/IMgr$NetEvent;


# instance fields
.field mDownloadMgr:Lio/dcloud/common/util/net/DownloadMgr;

.field mLocalServer:Lio/dcloud/common/util/net/http/IServer;

.field mNetCheckReceiver:Lio/dcloud/common/util/net/NetCheckReceiver;

.field mUploadMgr:Lio/dcloud/common/util/net/UploadMgr;


# direct methods
.method public constructor <init>(Lio/dcloud/common/DHInterface/ICore;)V
    .registers 4

    .line 1
    sget-object v0, Lio/dcloud/common/DHInterface/IMgr$MgrType;->NetMgr:Lio/dcloud/common/DHInterface/IMgr$MgrType;

    const-string v1, "netmgr"

    invoke-direct {p0, p1, v1, v0}, Lio/dcloud/common/DHInterface/AbsMgr;-><init>(Lio/dcloud/common/DHInterface/ICore;Ljava/lang/String;Lio/dcloud/common/DHInterface/IMgr$MgrType;)V

    const/4 p1, 0x0

    .line 11
    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mNetCheckReceiver:Lio/dcloud/common/util/net/NetCheckReceiver;

    .line 12
    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    .line 13
    invoke-virtual {p0}, Lio/dcloud/common/util/net/NetMgr;->startMiniServer()V

    .line 14
    invoke-static {}, Lio/dcloud/common/util/net/UploadMgr;->getUploadMgr()Lio/dcloud/common/util/net/UploadMgr;

    move-result-object p1

    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mUploadMgr:Lio/dcloud/common/util/net/UploadMgr;

    .line 15
    invoke-static {}, Lio/dcloud/common/util/net/DownloadMgr;->getDownloadMgr()Lio/dcloud/common/util/net/DownloadMgr;

    move-result-object p1

    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mDownloadMgr:Lio/dcloud/common/util/net/DownloadMgr;

    .line 16
    new-instance p1, Lio/dcloud/common/util/net/NetCheckReceiver;

    invoke-direct {p1, p0}, Lio/dcloud/common/util/net/NetCheckReceiver;-><init>(Lio/dcloud/common/DHInterface/AbsMgr;)V

    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mNetCheckReceiver:Lio/dcloud/common/util/net/NetCheckReceiver;

    .line 17
    new-instance p1, Landroid/content/IntentFilter;

    const-string v0, "android.net.conn.CONNECTIVITY_CHANGE"

    invoke-direct {p1, v0}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V

    const-string v0, "android.intent.action.SIM_STATE_CHANGED"

    .line 18
    invoke-virtual {p1, v0}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 19
    invoke-virtual {p0}, Lio/dcloud/common/DHInterface/AbsMgr;->getContext()Landroid/content/Context;

    move-result-object v0

    iget-object v1, p0, Lio/dcloud/common/util/net/NetMgr;->mNetCheckReceiver:Lio/dcloud/common/util/net/NetCheckReceiver;

    invoke-virtual {v0, v1, p1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    return-void
.end method

.method private initLocalServer()Lio/dcloud/common/util/net/http/IServer;
    .registers 12

    .line 1
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 3
    sget-boolean v1, Lio/dcloud/common/util/BaseInfo;->SyncDebug:Z

    const/4 v2, 0x1

    const/4 v3, 0x0

    const/4 v4, 0x2

    if-eqz v1, :cond_33

    new-array v1, v4, [Ljava/lang/Class;

    .line 4
    const-class v5, Lio/dcloud/common/DHInterface/AbsMgr;

    aput-object v5, v1, v3

    sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v5, v1, v2

    new-array v5, v4, [Ljava/lang/Object;

    aput-object p0, v5, v3

    const/16 v6, 0x334b

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v5, v2

    const-string v6, "io.dcloud.common.util.net.http.LocalServer"

    invoke-static {v6, v1, v5}, Lio/dcloud/common/adapter/util/PlatformUtil;->newInstance(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_33

    .line 5
    instance-of v5, v1, Lio/dcloud/common/util/net/http/IServer;

    if-eqz v5, :cond_33

    .line 6
    check-cast v1, Lio/dcloud/common/util/net/http/IServer;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 9
    :cond_33
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v5, 0x15

    if-lt v1, v5, :cond_d6

    .line 10
    sget-boolean v1, Lio/dcloud/common/util/BaseInfo;->SyncDebug:Z

    if-eqz v1, :cond_d6

    .line 11
    iget-object v1, p0, Lio/dcloud/common/DHInterface/AbsMgr;->mCore:Lio/dcloud/common/DHInterface/ICore;

    invoke-interface {v1}, Lio/dcloud/common/DHInterface/ICore;->obtainActivityContext()Landroid/content/Context;

    move-result-object v1

    check-cast v1, Landroid/app/Activity;

    .line 12
    invoke-virtual {v1}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;

    move-result-object v5

    const-string v6, "ip"

    .line 13
    invoke-virtual {v5, v6}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v7

    const-string v8, "port"

    .line 14
    invoke-virtual {v5, v8}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v5

    .line 16
    invoke-static {v7}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z

    move-result v9

    if-nez v9, :cond_61

    invoke-static {v5}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z

    move-result v9

    if-eqz v9, :cond_9b

    .line 17
    :cond_61
    new-instance v9, Ljava/lang/StringBuilder;

    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1}, Landroid/app/Activity;->getExternalCacheDir()Ljava/io/File;

    move-result-object v10

    invoke-virtual {v10}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v10, Ljava/io/File;->separator:Ljava/lang/String;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v10, "debug_info"

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    .line 18
    invoke-static {v9}, Lio/dcloud/common/adapter/io/DHFile;->readAll(Ljava/lang/Object;)[B

    move-result-object v9

    if-eqz v9, :cond_9b

    .line 20
    new-instance v5, Ljava/lang/String;

    invoke-direct {v5, v9}, Ljava/lang/String;-><init>([B)V

    .line 21
    invoke-static {v5}, Lcom/alibaba/fastjson/JSON;->parseObject(Ljava/lang/String;)Lcom/alibaba/fastjson/JSONObject;

    move-result-object v5

    .line 22
    invoke-virtual {v5, v6}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v6

    move-object v7, v6

    check-cast v7, Ljava/lang/String;

    .line 23
    invoke-virtual {v5, v8}, Lcom/alibaba/fastjson/JSONObject;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/lang/String;

    .line 27
    :cond_9b
    invoke-static {v7}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z

    move-result v6

    if-nez v6, :cond_d6

    invoke-static {v5}, Lio/dcloud/common/util/PdrUtil;->isEmpty(Ljava/lang/Object;)Z

    move-result v6

    if-nez v6, :cond_d6

    const/4 v6, 0x4

    new-array v8, v6, [Ljava/lang/Class;

    .line 28
    const-class v9, Lio/dcloud/common/DHInterface/AbsMgr;

    aput-object v9, v8, v3

    const-class v9, Landroid/app/Activity;

    aput-object v9, v8, v2

    const-class v9, Ljava/lang/String;

    aput-object v9, v8, v4

    const-class v9, Ljava/lang/String;

    const/4 v10, 0x3

    aput-object v9, v8, v10

    new-array v6, v6, [Ljava/lang/Object;

    aput-object p0, v6, v3

    aput-object v1, v6, v2

    aput-object v7, v6, v4

    aput-object v5, v6, v10

    const-string v1, "io.dcloud.common.util.net.http.LocalServer2"

    invoke-static {v1, v8, v6}, Lio/dcloud/common/adapter/util/PlatformUtil;->newInstance(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_d6

    .line 34
    instance-of v2, v1, Lio/dcloud/common/util/net/http/IServer;

    if-eqz v2, :cond_d6

    .line 35
    check-cast v1, Lio/dcloud/common/util/net/http/IServer;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 41
    :cond_d6
    new-instance v1, Lio/dcloud/common/util/net/NetMgr$1;

    invoke-direct {v1, p0, v0}, Lio/dcloud/common/util/net/NetMgr$1;-><init>(Lio/dcloud/common/util/net/NetMgr;Ljava/util/List;)V

    return-object v1
.end method


# virtual methods
.method public dispose()V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    if-eqz v0, :cond_7

    .line 2
    invoke-interface {v0}, Lio/dcloud/common/util/net/http/IServer;->stop()V

    .line 4
    :cond_7
    iget-object v0, p0, Lio/dcloud/common/util/net/NetMgr;->mUploadMgr:Lio/dcloud/common/util/net/UploadMgr;

    if-eqz v0, :cond_e

    .line 5
    invoke-virtual {v0}, Lio/dcloud/common/util/net/UploadMgr;->dispose()V

    .line 11
    :cond_e
    invoke-virtual {p0}, Lio/dcloud/common/DHInterface/AbsMgr;->getContext()Landroid/content/Context;

    move-result-object v0

    iget-object v1, p0, Lio/dcloud/common/util/net/NetMgr;->mNetCheckReceiver:Lio/dcloud/common/util/net/NetCheckReceiver;

    invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V

    return-void
.end method

.method public onExecute(Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;Ljava/lang/Object;)V
    .registers 3

    .line 1
    sget-object p2, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onStop:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;

    if-ne p1, p2, :cond_f

    .line 2
    iget-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    if-eqz p1, :cond_1e

    .line 3
    invoke-interface {p1}, Lio/dcloud/common/util/net/http/IServer;->stop()V

    const/4 p1, 0x0

    .line 4
    iput-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    goto :goto_1e

    .line 6
    :cond_f
    sget-object p2, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onResume:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;

    if-eq p1, p2, :cond_17

    sget-object p2, Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;->onNewIntent:Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType;

    if-ne p1, p2, :cond_1e

    .line 7
    :cond_17
    iget-object p1, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    if-nez p1, :cond_1e

    .line 8
    invoke-virtual {p0}, Lio/dcloud/common/util/net/NetMgr;->startMiniServer()V

    :cond_1e
    :goto_1e
    return-void
.end method

.method public processEvent(Lio/dcloud/common/DHInterface/IMgr$MgrType;ILjava/lang/Object;)Ljava/lang/Object;
    .registers 5

    .line 1
    :try_start_0
    invoke-virtual {p0, p1}, Lio/dcloud/common/DHInterface/AbsMgr;->checkMgrId(Lio/dcloud/common/DHInterface/IMgr$MgrType;)Z

    move-result v0

    if-nez v0, :cond_13

    .line 2
    iget-object v0, p0, Lio/dcloud/common/DHInterface/AbsMgr;->mCore:Lio/dcloud/common/DHInterface/ICore;

    invoke-interface {v0, p1, p2, p3}, Lio/dcloud/common/DHInterface/ICore;->dispatchEvent(Lio/dcloud/common/DHInterface/IMgr$MgrType;ILjava/lang/Object;)Ljava/lang/Object;

    move-result-object p1
    :try_end_c
    .catchall {:try_start_0 .. :try_end_c} :catchall_d

    goto :goto_14

    :catchall_d
    move-exception p1

    const-string p2, "NetMgr.processEvent"

    .line 11
    invoke-static {p2, p1}, Lio/dcloud/common/adapter/util/Logger;->w(Ljava/lang/String;Ljava/lang/Throwable;)V

    :cond_13
    const/4 p1, 0x0

    :goto_14
    return-object p1
.end method

.method protected startMiniServer()V
    .registers 2

    .line 1
    sget-boolean v0, Lio/dcloud/common/util/BaseInfo;->ISDEBUG:Z

    if-eqz v0, :cond_14

    invoke-static {}, Lio/dcloud/feature/internal/sdk/SDK;->isUniMPSDK()Z

    move-result v0

    if-eqz v0, :cond_b

    goto :goto_14

    .line 4
    :cond_b
    invoke-direct {p0}, Lio/dcloud/common/util/net/NetMgr;->initLocalServer()Lio/dcloud/common/util/net/http/IServer;

    move-result-object v0

    iput-object v0, p0, Lio/dcloud/common/util/net/NetMgr;->mLocalServer:Lio/dcloud/common/util/net/http/IServer;

    .line 5
    invoke-interface {v0}, Lio/dcloud/common/util/net/http/IServer;->start()V

    :cond_14
    :goto_14
    return-void
.end method