c.smali
.class public Lcom/baidu/mobads/g/c;
.super Ljava/lang/Thread;
.source "SourceFile"
# static fields
.field private static volatile f:Lcom/baidu/mobads/g/c;
# instance fields
.field a:Lcom/baidu/mobads/g/o$a;
.field private volatile b:Ljava/lang/String;
.field private c:Ljava/lang/String;
.field private d:D
.field private e:Landroid/os/Handler;
.field private final g:Landroid/content/Context;
.field private h:Lcom/baidu/mobads/g/o;
.field private final i:Lcom/baidu/mobads/g/e;
.field private j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
# direct methods
.method private constructor <init>(Landroid/content/Context;Lcom/baidu/mobads/g/e;Ljava/lang/String;Landroid/os/Handler;)V
.registers 6
.prologue
const/4 v0, 0x0
.line 78
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
.line 30
iput-object v0, p0, Lcom/baidu/mobads/g/c;->c:Ljava/lang/String;
.line 40
iput-object v0, p0, Lcom/baidu/mobads/g/c;->h:Lcom/baidu/mobads/g/o;
.line 44
invoke-static {}, Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;->getInstance()Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;
move-result-object v0
invoke-virtual {v0}, Lcom/baidu/mobads/utils/XAdSDKFoundationFacade;->getAdLogger()Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
move-result-object v0
iput-object v0, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
.line 49
new-instance v0, Lcom/baidu/mobads/g/d;
invoke-direct {v0, p0}, Lcom/baidu/mobads/g/d;-><init>(Lcom/baidu/mobads/g/c;)V
iput-object v0, p0, Lcom/baidu/mobads/g/c;->a:Lcom/baidu/mobads/g/o$a;
.line 79
iput-object p1, p0, Lcom/baidu/mobads/g/c;->g:Landroid/content/Context;
.line 80
iput-object p2, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
.line 82
invoke-virtual {p2}, Lcom/baidu/mobads/g/e;->c()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/baidu/mobads/g/c;->a(Ljava/lang/String;)V
.line 84
iput-object p4, p0, Lcom/baidu/mobads/g/c;->e:Landroid/os/Handler;
.line 85
iput-object p3, p0, Lcom/baidu/mobads/g/c;->c:Ljava/lang/String;
.line 86
return-void
.end method
.method public static a(Landroid/content/Context;Lcom/baidu/mobads/g/e;Ljava/lang/String;Landroid/os/Handler;)Lcom/baidu/mobads/g/c;
.registers 5
.prologue
.line 72
sget-object v0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
if-nez v0, :cond_b
.line 73
new-instance v0, Lcom/baidu/mobads/g/c;
invoke-direct {v0, p0, p1, p2, p3}, Lcom/baidu/mobads/g/c;-><init>(Landroid/content/Context;Lcom/baidu/mobads/g/e;Ljava/lang/String;Landroid/os/Handler;)V
sput-object v0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
.line 75
:cond_b
sget-object v0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
return-object v0
.end method
.method static synthetic a(Lcom/baidu/mobads/g/c;)Lcom/baidu/mobads/g/c;
.registers 1
.prologue
.line 23
sput-object p0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
return-object p0
.end method
.method private a()Ljava/lang/String;
.registers 6
.prologue
.line 183
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "__xadsdk__remote__final__"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v1
invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ".jar"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 184
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Lcom/baidu/mobads/g/c;->c:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, 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
.line 185
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 187
:try_start_39
invoke-virtual {v2}, Ljava/io/File;->createNewFile()Z
.line 188
iget-object v3, p0, Lcom/baidu/mobads/g/c;->h:Lcom/baidu/mobads/g/o;
iget-object v4, p0, Lcom/baidu/mobads/g/c;->c:Ljava/lang/String;
invoke-virtual {v3, v4, v0}, Lcom/baidu/mobads/g/o;->a(Ljava/lang/String;Ljava/lang/String;)V
:try_end_43
.catch Ljava/io/IOException; {:try_start_39 .. :try_end_43} :catch_44
.line 193
return-object v1
.line 189
:catch_44
move-exception v0
.line 190
invoke-virtual {v2}, Ljava/io/File;->delete()Z
.line 191
throw v0
.end method
.method static synthetic a(Lcom/baidu/mobads/g/c;Ljava/lang/String;Lcom/baidu/mobads/g/e;Ljava/lang/String;)V
.registers 4
.prologue
.line 23
invoke-direct {p0, p1, p2, p3}, Lcom/baidu/mobads/g/c;->a(Ljava/lang/String;Lcom/baidu/mobads/g/e;Ljava/lang/String;)V
return-void
.end method
.method private a(Ljava/lang/String;Lcom/baidu/mobads/g/e;Ljava/lang/String;)V
.registers 7
.prologue
.line 168
const-string v0, "OK"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_10
const-string v0, "ERROR"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2d
.line 170
:cond_10
iget-object v0, p0, Lcom/baidu/mobads/g/c;->e:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->obtainMessage()Landroid/os/Message;
move-result-object v0
.line 171
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
.line 173
const-string v2, "APK_INFO"
invoke-virtual {v1, v2, p2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 174
const-string v2, "CODE"
invoke-virtual {v1, v2, p1}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 176
invoke-virtual {v0, v1}, Landroid/os/Message;->setData(Landroid/os/Bundle;)V
.line 177
iget-object v1, p0, Lcom/baidu/mobads/g/c;->e:Landroid/os/Handler;
invoke-virtual {v1, v0}, Landroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
.line 179
:cond_2d
return-void
.end method
.method private b()Z
.registers 14
.prologue
const/4 v12, 0x2
const-wide/16 v2, 0x0
const/4 v4, 0x1
const/4 v5, 0x0
.line 205
:try_start_5
new-instance v0, Ljava/net/URL;
iget-object v1, p0, Lcom/baidu/mobads/g/c;->b:Ljava/lang/String;
invoke-direct {v0, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 206
new-instance v1, Lcom/baidu/mobads/g/o;
iget-object v6, p0, Lcom/baidu/mobads/g/c;->g:Landroid/content/Context;
iget-object v7, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
iget-object v8, p0, Lcom/baidu/mobads/g/c;->a:Lcom/baidu/mobads/g/o$a;
invoke-direct {v1, v6, v0, v7, v8}, Lcom/baidu/mobads/g/o;-><init>(Landroid/content/Context;Ljava/net/URL;Lcom/baidu/mobads/g/e;Lcom/baidu/mobads/g/o$a;)V
iput-object v1, p0, Lcom/baidu/mobads/g/c;->h:Lcom/baidu/mobads/g/o;
:try_end_19
.catch Ljava/net/MalformedURLException; {:try_start_5 .. :try_end_19} :catch_72
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_19} :catch_83
.line 219
:goto_19
sget-object v0, Lcom/baidu/mobads/g/g;->c:Lcom/baidu/mobads/g/a;
if-eqz v0, :cond_ae
.line 220
sget-object v0, Lcom/baidu/mobads/g/g;->c:Lcom/baidu/mobads/g/a;
iget-wide v0, v0, Lcom/baidu/mobads/g/a;->a:D
.line 230
:goto_21
iget-object v6, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
const-string v7, "XAdApkDownloadThread"
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "isNewApkAvailable: local apk version is: "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8, v0, v1}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v8
const-string v9, ", remote apk version: "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
iget-object v9, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v9}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v10
invoke-virtual {v8, v10, v11}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v6, v7, v8}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 233
cmpl-double v6, v0, v2
if-lez v6, :cond_d7
.line 235
iget-object v0, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v0}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v0
cmpl-double v0, v0, v2
if-lez v0, :cond_c6
.line 236
iget-object v0, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
new-array v1, v12, [Ljava/lang/Object;
const-string v2, "XAdApkDownloadThread"
aput-object v2, v1, v5
const-string v2, "remote not null, local apk version is null, force upgrade"
aput-object v2, v1, v4
invoke-interface {v0, v1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
.line 237
iget-object v0, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v0}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v0
iput-wide v0, p0, Lcom/baidu/mobads/g/c;->d:D
move v0, v4
.line 254
:goto_71
return v0
.line 207
:catch_72
move-exception v0
.line 208
:try_start_73
new-instance v0, Lcom/baidu/mobads/g/o;
iget-object v1, p0, Lcom/baidu/mobads/g/c;->g:Landroid/content/Context;
iget-object v6, p0, Lcom/baidu/mobads/g/c;->b:Ljava/lang/String;
iget-object v7, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
iget-object v8, p0, Lcom/baidu/mobads/g/c;->a:Lcom/baidu/mobads/g/o$a;
invoke-direct {v0, v1, v6, v7, v8}, Lcom/baidu/mobads/g/o;-><init>(Landroid/content/Context;Ljava/lang/String;Lcom/baidu/mobads/g/e;Lcom/baidu/mobads/g/o$a;)V
iput-object v0, p0, Lcom/baidu/mobads/g/c;->h:Lcom/baidu/mobads/g/o;
:try_end_82
.catch Ljava/lang/Exception; {:try_start_73 .. :try_end_82} :catch_83
goto :goto_19
.line 211
:catch_83
move-exception v0
.line 212
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "parse apk failed, error:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 213
iget-object v1, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
new-array v2, v12, [Ljava/lang/Object;
const-string v3, "XAdApkDownloadThread"
aput-object v3, v2, v5
aput-object v0, v2, v4
invoke-interface {v1, v2}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
.line 214
new-instance v1, Lcom/baidu/mobads/g/g$a;
invoke-direct {v1, v0}, Lcom/baidu/mobads/g/g$a;-><init>(Ljava/lang/String;)V
throw v1
.line 221
:cond_ae
sget-object v0, Lcom/baidu/mobads/g/g;->b:Lcom/baidu/mobads/g/a;
if-eqz v0, :cond_122
.line 222
sget-object v0, Lcom/baidu/mobads/g/g;->b:Lcom/baidu/mobads/g/a;
iget-wide v0, v0, Lcom/baidu/mobads/g/a;->a:D
cmpl-double v0, v0, v2
if-lez v0, :cond_c0
.line 223
sget-object v0, Lcom/baidu/mobads/g/g;->b:Lcom/baidu/mobads/g/a;
iget-wide v0, v0, Lcom/baidu/mobads/g/a;->a:D
goto/16 :goto_21
.line 225
:cond_c0
sget-object v0, Lcom/baidu/mobads/g/g;->b:Lcom/baidu/mobads/g/a;
iget-wide v0, v0, Lcom/baidu/mobads/g/a;->a:D
goto/16 :goto_21
.line 240
:cond_c6
iget-object v0, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
new-array v1, v12, [Ljava/lang/Object;
const-string v2, "XAdApkDownloadThread"
aput-object v2, v1, v5
const-string v2, "remote is null, local apk version is null, do not upgrade"
aput-object v2, v1, v4
invoke-interface {v0, v1}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
move v0, v5
.line 241
goto :goto_71
.line 244
:cond_d7
iget-object v6, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v6}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v6
cmpg-double v2, v6, v2
if-gtz v2, :cond_10a
.line 245
iget-object v2, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
new-array v3, v12, [Ljava/lang/Object;
const-string v6, "XAdApkDownloadThread"
aput-object v6, v3, v5
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "remote apk version is: null, local apk version is: "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
invoke-virtual {v6, v0, v1}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", do not upgrade"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v3, v4
invoke-interface {v2, v3}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
move v0, v5
.line 246
goto/16 :goto_71
.line 249
:cond_10a
iget-object v2, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v2}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v2
cmpl-double v0, v2, v0
if-lez v0, :cond_11f
.line 251
iget-object v0, p0, Lcom/baidu/mobads/g/c;->i:Lcom/baidu/mobads/g/e;
invoke-virtual {v0}, Lcom/baidu/mobads/g/e;->b()D
move-result-wide v0
iput-wide v0, p0, Lcom/baidu/mobads/g/c;->d:D
move v0, v4
.line 252
goto/16 :goto_71
:cond_11f
move v0, v5
.line 254
goto/16 :goto_71
:cond_122
move-wide v0, v2
goto/16 :goto_21
.end method
# virtual methods
.method public a(Ljava/lang/String;)V
.registers 2
.prologue
.line 89
iput-object p1, p0, Lcom/baidu/mobads/g/c;->b:Ljava/lang/String;
.line 90
invoke-virtual {p0}, Lcom/baidu/mobads/g/c;->interrupt()V
.line 91
return-void
.end method
.method public run()V
.registers 7
.prologue
.line 97
:try_start_0
invoke-direct {p0}, Lcom/baidu/mobads/g/c;->b()Z
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_3} :catch_23
move-result v0
if-nez v0, :cond_7
.line 118
:goto_6
return-void
.line 101
:cond_7
:try_start_7
const-string v0, "download apk successfully, downloader exit"
.line 102
invoke-direct {p0}, Lcom/baidu/mobads/g/c;->a()Ljava/lang/String;
.line 105
iget-object v1, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
const-string v2, "XAdApkDownloadThread"
invoke-interface {v1, v2, v0}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 106
const/4 v0, 0x0
sput-object v0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
:try_end_16
.catch Ljava/io/IOException; {:try_start_7 .. :try_end_16} :catch_25
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_16} :catch_23
.line 112
:goto_16
:try_start_16
iget-object v0, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
const-string v1, "XAdApkDownloadThread"
const-string v2, "no newer apk, downloader exit"
invoke-interface {v0, v1, v2}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 113
const/4 v0, 0x0
sput-object v0, Lcom/baidu/mobads/g/c;->f:Lcom/baidu/mobads/g/c;
goto :goto_6
.line 115
:catch_23
move-exception v0
goto :goto_6
.line 107
:catch_25
move-exception v0
.line 108
iget-object v1, p0, Lcom/baidu/mobads/g/c;->j:Lcom/baidu/mobads/interfaces/utils/IXAdLogger;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
const-string v4, "XAdApkDownloadThread"
aput-object v4, v2, v3
const/4 v3, 0x1
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "create File or HTTP Get failed, exception: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v2, v3
invoke-interface {v1, v2}, Lcom/baidu/mobads/interfaces/utils/IXAdLogger;->e([Ljava/lang/Object;)I
:try_end_4d
.catch Ljava/lang/Throwable; {:try_start_16 .. :try_end_4d} :catch_23
goto :goto_16
.end method