c.smali
.class public Lcom/ijinshan/pluginslive/plugin/util/c;
.super Ljava/lang/Object;
.source "DownloadUtil.java"
# direct methods
.method public static a()I
.registers 5
.prologue
const/4 v0, 0x0
.line 101
new-instance v1, Ljava/io/File;
const-string v2, "%s/plugins/"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
invoke-static {}, Lcom/ijinshan/pluginslive/plugin/util/c;->b()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v0
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 102
invoke-virtual {v1}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
.line 103
if-eqz v2, :cond_1e
array-length v1, v2
if-nez v1, :cond_1f
.line 113
:cond_1e
return v0
.line 107
:cond_1f
array-length v3, v2
move v1, v0
:goto_21
if-ge v1, v3, :cond_1e
aget-object v4, v2, v1
.line 108
invoke-virtual {v4}, Ljava/io/File;->delete()Z
.line 109
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v4
if-nez v4, :cond_30
.line 110
add-int/lit8 v0, v0, 0x1
.line 107
:cond_30
add-int/lit8 v1, v1, 0x1
goto :goto_21
.end method
.method public static a(Ljava/lang/String;)I
.registers 7
.prologue
const/4 v0, 0x0
.line 122
new-instance v1, Ljava/io/File;
const-string v2, "%s/plugins/"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
invoke-static {}, Lcom/ijinshan/pluginslive/plugin/util/c;->b()Ljava/lang/String;
move-result-object v4
aput-object v4, v3, v0
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 123
new-instance v2, Lcom/ijinshan/pluginslive/plugin/util/d;
invoke-direct {v2, p0}, Lcom/ijinshan/pluginslive/plugin/util/d;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v2}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
move-result-object v2
.line 130
if-eqz v2, :cond_23
array-length v1, v2
if-nez v1, :cond_24
.line 143
:cond_23
return v0
.line 134
:cond_24
array-length v3, v2
move v1, v0
:goto_26
if-ge v1, v3, :cond_23
aget-object v4, v2, v1
.line 135
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v5
if-eqz v5, :cond_33
.line 134
:cond_30
:goto_30
add-int/lit8 v1, v1, 0x1
goto :goto_26
.line 138
:cond_33
invoke-virtual {v4}, Ljava/io/File;->delete()Z
.line 139
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v4
if-nez v4, :cond_30
.line 140
add-int/lit8 v0, v0, 0x1
goto :goto_30
.end method
.method public static a(Ljava/util/List;ZLcom/ijinshan/pluginslive/plugin/download/b;)Lcom/ijinshan/pluginslive/plugin/download/d;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;",
">;Z",
"Lcom/ijinshan/pluginslive/plugin/download/b;",
")",
"Lcom/ijinshan/pluginslive/plugin/download/d;"
}
.end annotation
.prologue
.line 34
new-instance v1, Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
invoke-direct {v1, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 35
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_d
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_3a
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;
.line 36
invoke-virtual {v0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->e()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/ijinshan/pluginslive/plugin/util/c;->b(Ljava/lang/String;)Ljava/io/File;
move-result-object v3
invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
.line 37
invoke-static {v0}, Lcom/ijinshan/pluginslive/plugin/util/c;->c(Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)Ljava/lang/String;
move-result-object v4
.line 38
new-instance v5, Lcom/ijinshan/pluginslive/plugin/download/a;
invoke-direct {v5, v4, v3, v0}, Lcom/ijinshan/pluginslive/plugin/download/a;-><init>(Ljava/lang/String;Ljava/lang/String;Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)V
.line 39
invoke-virtual {v0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->c()I
move-result v0
int-to-long v6, v0
invoke-virtual {v5, v6, v7}, Lcom/ijinshan/pluginslive/plugin/download/a;->a(J)V
.line 40
invoke-interface {v1, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_d
.line 43
:cond_3a
new-instance v0, Lcom/ijinshan/pluginslive/plugin/download/c;
invoke-direct {v0, v1, p2, p1}, Lcom/ijinshan/pluginslive/plugin/download/c;-><init>(Ljava/util/List;Lcom/ijinshan/pluginslive/plugin/download/b;Z)V
.line 44
new-instance v1, Lcom/ijinshan/pluginslive/plugin/download/d;
invoke-direct {v1, v0}, Lcom/ijinshan/pluginslive/plugin/download/d;-><init>(Lcom/ijinshan/pluginslive/plugin/download/c;)V
.line 45
invoke-virtual {v1}, Lcom/ijinshan/pluginslive/plugin/download/d;->a()V
.line 47
return-object v1
.end method
.method public static a(Ljava/io/File;Ljava/lang/String;)V
.registers 6
.prologue
.line 77
invoke-static {p0}, Lcom/ijinshan/pluginslive/plugin/util/g;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v0
.line 78
if-nez v0, :cond_e
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "obtaining md5 failed"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 80
:cond_e
const-string v1, "_"
invoke-virtual {p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v1
.line 81
add-int/lit8 v1, v1, 0x1
invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
.line 83
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "md5 check : server : "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " local : "
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/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " file : "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/ijinshan/pluginslive/b;->c(Ljava/lang/String;)V
.line 85
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_52
.line 86
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "md5 mismatched"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 89
:cond_52
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/ijinshan/pluginslive/plugin/util/e;->a(Ljava/lang/String;)V
.line 90
invoke-static {}, Lcom/ijinshan/pluginslive/b;->d()Z
move-result v0
if-nez v0, :cond_6d
invoke-static {p0}, Lcom/ijinshan/pluginslive/plugin/util/i;->a(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_6d
.line 91
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "signature invalid"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 92
:cond_6d
return-void
.end method
.method public static a(Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)Z
.registers 3
.prologue
.line 70
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->b()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x0
.line 73
:goto_b
return v0
.line 71
:cond_c
invoke-static {p0}, Lcom/ijinshan/pluginslive/plugin/util/c;->b(Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)Ljava/io/File;
move-result-object v0
.line 72
invoke-static {v0}, Lcom/ijinshan/pluginslive/plugin/util/g;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v0
.line 73
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->b()Ljava/lang/String;
move-result-object v1
invoke-static {v1, v0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v0
goto :goto_b
.end method
.method public static b(Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)Ljava/io/File;
.registers 2
.prologue
.line 155
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->e()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/ijinshan/pluginslive/plugin/util/c;->c(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
return-object v0
.end method
.method public static b(Ljava/lang/String;)Ljava/io/File;
.registers 6
.prologue
.line 147
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/ijinshan/pluginslive/plugin/util/c;->c()Ljava/io/File;
move-result-object v1
const-string v2, "%s.tmp"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p0, v3, v4
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
return-object v0
.end method
.method public static b()Ljava/lang/String;
.registers 2
.prologue
.line 164
:try_start_0
invoke-static {}, Lcom/ijinshan/pluginslive/b;->a()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_b} :catch_d
move-result-object v0
.line 166
:goto_c
return-object v0
.line 165
:catch_d
move-exception v0
.line 166
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "/data/data/"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {}, Lcom/ijinshan/pluginslive/b;->a()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()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, "/files"
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
goto :goto_c
.end method
.method private static c()Ljava/io/File;
.registers 5
.prologue
.line 95
new-instance v0, Ljava/io/File;
const-string v1, "%s/plugins/"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {}, Lcom/ijinshan/pluginslive/plugin/util/c;->b()Ljava/lang/String;
move-result-object v4
aput-object v4, v2, v3
invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 96
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
.line 97
return-object v0
.end method
.method static c(Ljava/lang/String;)Ljava/io/File;
.registers 3
.prologue
.line 159
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/ijinshan/pluginslive/plugin/util/c;->c()Ljava/io/File;
move-result-object v1
invoke-direct {v0, v1, p0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
return-object v0
.end method
.method private static c(Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;)Ljava/lang/String;
.registers 7
.prologue
const/4 v5, 0x2
const/4 v4, 0x0
.line 20
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->b()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_16
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->b()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
if-ge v0, v5, :cond_19
.line 21
:cond_16
const-string v0, ""
.line 25
:goto_18
return-object v0
.line 23
:cond_19
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->a()I
move-result v0
.line 24
invoke-virtual {p0}, Lcom/ijinshan/pluginslive/plugin/upgrade/a/a;->b()Ljava/lang/String;
move-result-object v1
.line 25
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "http://plugins001.update.cm.cmcm.com/2/"
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(I)Ljava/lang/StringBuilder;
move-result-object v0
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const/4 v2, 0x1
invoke-virtual {v1, v4, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 26
invoke-virtual {v1, v4, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
sget-object v2, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
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
goto :goto_18
.end method