AloneGameServiceProcess.smali

.class public Lcom/sandboxol/center/download/service/AloneGameServiceProcess;
.super Lcom/sandboxol/center/download/service/BaseServiceProcess;
.source "AloneGameServiceProcess.java"


# instance fields
.field private final ERROR_RES_VERSION:J


# direct methods
.method public constructor <init>()V
    .registers 3

    .line 1
    invoke-direct {p0}, Lcom/sandboxol/center/download/service/BaseServiceProcess;-><init>()V

    const-wide/16 v0, 0x0

    .line 2
    iput-wide v0, p0, Lcom/sandboxol/center/download/service/AloneGameServiceProcess;->ERROR_RES_VERSION:J

    return-void
.end method


# virtual methods
.method public process(Ljava/lang/String;Lcom/sandboxol/center/download/service/IDownloadListener;Lcom/sandboxol/center/download/service/IVerifyListener;Lcom/sandboxol/center/download/service/IUnzipListener;)V
    .registers 25
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/os/RemoteException;
        }
    .end annotation

    move-object/from16 v11, p0

    .line 1
    invoke-static {}, Lcom/sandboxol/center/download/entity/DownloadInfoCenter;->getInstance()Lcom/sandboxol/center/download/entity/DownloadInfoCenter;

    move-result-object v0

    invoke-virtual {v0}, Lcom/sandboxol/center/download/entity/DownloadInfoCenter;->getGameProgressInfoMap()Ljava/util/HashMap;

    move-result-object v0

    .line 2
    invoke-static {}, Lcom/sandboxol/center/download/entity/DownloadInfoCenter;->getInstance()Lcom/sandboxol/center/download/entity/DownloadInfoCenter;

    move-result-object v1

    invoke-virtual {v1}, Lcom/sandboxol/center/download/entity/DownloadInfoCenter;->getTotalGameProgressInfoMap()Ljava/util/HashMap;

    move-result-object v1

    .line 3
    new-instance v2, Lcom/google/gson/j;

    invoke-direct {v2}, Lcom/google/gson/j;-><init>()V

    const-class v3, Lcom/sandboxol/center/download/entity/MergeBuilder;

    move-object/from16 v10, p1

    invoke-virtual {v2, v10, v3}, Lcom/google/gson/j;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v2

    move-object v12, v2

    check-cast v12, Lcom/sandboxol/center/download/entity/MergeBuilder;

    if-eqz v12, :cond_1eb

    .line 4
    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getDownloadBuilder()Lcom/sandboxol/file/b/a;

    move-result-object v2

    if-eqz v2, :cond_1eb

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getVerifyBuilder()Lcom/sandboxol/file/b/c;

    move-result-object v2

    if-eqz v2, :cond_1eb

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getUnzipBuilder()Lcom/sandboxol/file/b/b;

    move-result-object v2

    if-nez v2, :cond_38

    goto/16 :goto_1eb

    .line 5
    :cond_38
    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getReqParam()Lcom/sandboxol/center/download/entity/GameReqParam;

    move-result-object v2

    if-eqz v2, :cond_47

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getReqParam()Lcom/sandboxol/center/download/entity/GameReqParam;

    move-result-object v2

    invoke-virtual {v2}, Lcom/sandboxol/center/download/entity/GameReqParam;->getGame()Lcom/sandboxol/greendao/entity/Game;

    move-result-object v2

    goto :goto_48

    :cond_47
    const/4 v2, 0x0

    :goto_48
    move-object v13, v2

    if-nez v13, :cond_4c

    return-void

    .line 6
    :cond_4c
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    if-eqz v2, :cond_61

    .line 7
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/sandboxol/center/download/entity/GameProgressInfo;

    goto :goto_66

    :cond_61
    new-instance v2, Lcom/sandboxol/center/download/entity/GameProgressInfo;

    invoke-direct {v2}, Lcom/sandboxol/center/download/entity/GameProgressInfo;-><init>()V

    :goto_66
    move-object v14, v2

    .line 8
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsDownload()Landroidx/databinding/ObservableField;

    move-result-object v2

    const/4 v3, 0x1

    invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v4

    invoke-virtual {v2, v4}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 9
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsError()Landroidx/databinding/ObservableField;

    move-result-object v2

    const/4 v4, 0x0

    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v5

    invoke-virtual {v2, v5}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 10
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getProgressText()Landroidx/databinding/ObservableField;

    move-result-object v2

    iget-object v5, v11, Lcom/sandboxol/center/download/service/BaseServiceProcess;->context:Landroid/content/Context;

    sget v6, Lcom/sandboxol/center/R$string;->base_prepare_resources:I

    invoke-virtual {v5, v6}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v2, v5}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 11
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2, v14}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 12
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    if-nez v0, :cond_d3

    .line 13
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v0

    new-instance v2, Lcom/sandboxol/center/download/entity/GameProgressInfo;

    invoke-direct {v2}, Lcom/sandboxol/center/download/entity/GameProgressInfo;-><init>()V

    invoke-virtual {v1, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 14
    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/sandboxol/center/download/entity/GameProgressInfo;

    .line 15
    invoke-virtual {v0}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsNewEngine()Landroidx/databinding/ObservableField;

    move-result-object v1

    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getIsNewEngine()I

    move-result v2

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

    move-result-object v2

    invoke-virtual {v1, v2}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 16
    invoke-virtual {v0}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsUgc()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getIsUgc()I

    move-result v1

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

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    :cond_d3
    const-string v0, "GAME"

    .line 17
    invoke-static {v12, v0}, Lcom/sandboxol/center/download/utils/ProcessUtils;->filterDownloadInfo(Lcom/sandboxol/center/download/entity/MergeBuilder;Ljava/lang/String;)[Lcom/sandboxol/file/entity/DownloadInfo;

    move-result-object v2

    .line 18
    invoke-static {v12, v0}, Lcom/sandboxol/center/download/utils/ProcessUtils;->filterVerifyInfo(Lcom/sandboxol/center/download/entity/MergeBuilder;Ljava/lang/String;)[Lcom/sandboxol/file/entity/VerifyInfo;

    move-result-object v15

    .line 19
    invoke-static {v12, v0}, Lcom/sandboxol/center/download/utils/ProcessUtils;->filterUnzipInfo(Lcom/sandboxol/center/download/entity/MergeBuilder;Ljava/lang/String;)[Lcom/sandboxol/file/entity/UnzipInfo;

    move-result-object v9

    if-eqz v2, :cond_10a

    .line 20
    array-length v0, v2

    if-nez v0, :cond_10a

    .line 21
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getProgressValue()Landroidx/databinding/ObservableField;

    move-result-object v0

    const/16 v1, 0x64

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

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 22
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsFinish()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 23
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsDownload()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    return-void

    .line 24
    :cond_10a
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsAnimEnd()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 25
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getIsFinish()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 26
    array-length v0, v2

    const-wide/16 v5, 0x0

    move-wide v7, v5

    :goto_124
    if-ge v4, v0, :cond_133

    aget-object v1, v2, v4

    if-eqz v1, :cond_130

    .line 27
    invoke-virtual {v1}, Lcom/sandboxol/file/entity/DownloadInfo;->getSize()J

    move-result-wide v16

    add-long v7, v7, v16

    :cond_130
    add-int/lit8 v4, v4, 0x1

    goto :goto_124

    .line 28
    :cond_133
    invoke-virtual {v14}, Lcom/sandboxol/center/download/entity/ProgressInfo;->getTotalSize()Landroidx/databinding/ObservableField;

    move-result-object v0

    invoke-static {v7, v8}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroidx/databinding/ObservableField;->set(Ljava/lang/Object;)V

    .line 29
    iget-object v0, v11, Lcom/sandboxol/center/download/service/BaseServiceProcess;->retryDownloadTimes:Landroidx/databinding/ObservableField;

    invoke-static {v0, v2}, Lcom/sandboxol/center/download/utils/GameDownloadUtils;->switchUrl(Landroidx/databinding/ObservableField;[Lcom/sandboxol/file/entity/DownloadInfo;)V

    const/4 v0, 0x3

    .line 30
    iget-object v1, v11, Lcom/sandboxol/center/download/service/BaseServiceProcess;->context:Landroid/content/Context;

    invoke-virtual {v13}, Lcom/sandboxol/greendao/entity/Game;->getGameId()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->isSilent()Z

    move-result v4

    const-string v7, "download_game_start"

    invoke-static {v0, v1, v7, v3, v4}, Lcom/sandboxol/center/utils/ReportUtils;->resDownloadReport(ILandroid/content/Context;Ljava/lang/String;Ljava/lang/String;Z)V

    .line 31
    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getReqParam()Lcom/sandboxol/center/download/entity/GameReqParam;

    move-result-object v0

    if-eqz v0, :cond_172

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getReqParam()Lcom/sandboxol/center/download/entity/GameReqParam;

    move-result-object v0

    invoke-virtual {v0}, Lcom/sandboxol/center/download/entity/GameReqParam;->getGameResVersion()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_172

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getReqParam()Lcom/sandboxol/center/download/entity/GameReqParam;

    move-result-object v0

    invoke-virtual {v0}, Lcom/sandboxol/center/download/entity/GameReqParam;->getGameResVersion()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide v0

    move-wide/from16 v16, v0

    goto :goto_174

    :cond_172
    move-wide/from16 v16, v5

    .line 32
    :goto_174
    new-instance v8, Lcom/sandboxol/file/c/d;

    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getDownloadBuilder()Lcom/sandboxol/file/b/a;

    move-result-object v7

    .line 33
    invoke-virtual {v7, v2}, Lcom/sandboxol/file/b/a;->a([Lcom/sandboxol/file/entity/DownloadInfo;)Lcom/sandboxol/file/b/a;

    new-instance v6, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$3;

    move-object v0, v6

    move-object/from16 v1, p0

    move-object v3, v14

    move-object/from16 v4, p2

    move-object/from16 v5, p1

    move-object v10, v6

    move-object/from16 v6, p3

    move-object v11, v7

    move-object/from16 v7, p4

    move-object/from16 v18, v13

    move-object v13, v8

    move-object v8, v12

    move-object/from16 v19, v9

    move-object v9, v15

    invoke-direct/range {v0 .. v9}, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$3;-><init>(Lcom/sandboxol/center/download/service/AloneGameServiceProcess;[Lcom/sandboxol/file/entity/DownloadInfo;Lcom/sandboxol/center/download/entity/GameProgressInfo;Lcom/sandboxol/center/download/service/IDownloadListener;Ljava/lang/String;Lcom/sandboxol/center/download/service/IVerifyListener;Lcom/sandboxol/center/download/service/IUnzipListener;Lcom/sandboxol/center/download/entity/MergeBuilder;[Lcom/sandboxol/file/entity/VerifyInfo;)V

    .line 34
    invoke-virtual {v11, v10}, Lcom/sandboxol/file/b/a;->a(Lcom/sandboxol/file/d/c;)Lcom/sandboxol/file/b/a;

    invoke-direct {v13, v11}, Lcom/sandboxol/file/c/d;-><init>(Lcom/sandboxol/file/b/a;)V

    new-instance v8, Lcom/sandboxol/file/g/f;

    .line 35
    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getVerifyBuilder()Lcom/sandboxol/file/b/c;

    move-result-object v9

    .line 36
    invoke-virtual {v9, v15}, Lcom/sandboxol/file/b/c;->a([Lcom/sandboxol/file/entity/VerifyInfo;)Lcom/sandboxol/file/b/c;

    new-instance v10, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$2;

    move-object v0, v10

    move-object v2, v12

    move-object/from16 v3, p3

    move-object v4, v14

    move-object/from16 v6, p2

    invoke-direct/range {v0 .. v7}, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$2;-><init>(Lcom/sandboxol/center/download/service/AloneGameServiceProcess;Lcom/sandboxol/center/download/entity/MergeBuilder;Lcom/sandboxol/center/download/service/IVerifyListener;Lcom/sandboxol/center/download/entity/GameProgressInfo;Ljava/lang/String;Lcom/sandboxol/center/download/service/IDownloadListener;Lcom/sandboxol/center/download/service/IUnzipListener;)V

    .line 37
    invoke-virtual {v9, v10}, Lcom/sandboxol/file/b/c;->a(Lcom/sandboxol/file/d/g;)Lcom/sandboxol/file/b/c;

    invoke-direct {v8, v9}, Lcom/sandboxol/file/g/f;-><init>(Lcom/sandboxol/file/b/c;)V

    .line 38
    invoke-virtual {v13, v8}, Lcom/sandboxol/file/a/b;->a(Lcom/sandboxol/file/a/b;)Lcom/sandboxol/file/a/b;

    new-instance v11, Lcom/sandboxol/file/e/i;

    .line 39
    invoke-virtual {v12}, Lcom/sandboxol/center/download/entity/MergeBuilder;->getUnzipBuilder()Lcom/sandboxol/file/b/b;

    move-result-object v15

    move-object/from16 v0, v19

    .line 40
    invoke-virtual {v15, v0}, Lcom/sandboxol/file/b/b;->a([Lcom/sandboxol/file/entity/UnzipInfo;)Lcom/sandboxol/file/b/b;

    new-instance v10, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$1;

    move-object v0, v10

    move-object/from16 v3, v18

    move-wide/from16 v4, v16

    move-object v6, v14

    move-object/from16 v8, p1

    move-object/from16 v9, p2

    move-object v12, v10

    move-object/from16 v10, p3

    invoke-direct/range {v0 .. v10}, Lcom/sandboxol/center/download/service/AloneGameServiceProcess$1;-><init>(Lcom/sandboxol/center/download/service/AloneGameServiceProcess;Lcom/sandboxol/center/download/entity/MergeBuilder;Lcom/sandboxol/greendao/entity/Game;JLcom/sandboxol/center/download/entity/GameProgressInfo;Lcom/sandboxol/center/download/service/IUnzipListener;Ljava/lang/String;Lcom/sandboxol/center/download/service/IDownloadListener;Lcom/sandboxol/center/download/service/IVerifyListener;)V

    .line 41
    invoke-virtual {v15, v12}, Lcom/sandboxol/file/b/b;->a(Lcom/sandboxol/file/d/e;)Lcom/sandboxol/file/b/b;

    invoke-direct {v11, v15}, Lcom/sandboxol/file/e/i;-><init>(Lcom/sandboxol/file/b/b;)V

    .line 42
    invoke-virtual {v13, v11}, Lcom/sandboxol/file/a/b;->a(Lcom/sandboxol/file/a/b;)Lcom/sandboxol/file/a/b;

    move-object/from16 v0, p0

    iput-object v13, v0, Lcom/sandboxol/center/download/service/BaseServiceProcess;->baseFileHandler:Lcom/sandboxol/file/a/b;

    .line 43
    iget-object v1, v0, Lcom/sandboxol/center/download/service/BaseServiceProcess;->baseFileHandler:Lcom/sandboxol/file/a/b;

    invoke-virtual {v1}, Lcom/sandboxol/file/a/b;->d()V

    return-void

    :cond_1eb
    :goto_1eb
    move-object v0, v11

    return-void
.end method