FileDownloader.smali
.class public Lcom/iflytek/cloud/msc/util/FileDownloader;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static mFileDownload:Lcom/iflytek/cloud/msc/util/FileDownloader;
# instance fields
.field private final DLOAD_MD5:Ljava/lang/String;
.field private final DLOAD_PATH:Ljava/lang/String;
.field private final DLOAD_URL:Ljava/lang/String;
.field private config:Lcom/iflytek/cloud/msc/util/Config;
.field private httpDownloadListener:Lcom/iflytek/cloud/msc/util/http/HttpDownloadListener;
.field private mContext:Landroid/content/Context;
.field private mDownloadInfo:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/Long;",
"Lcom/iflytek/thirdparty/ad;",
">;"
}
.end annotation
.end field
.field private mDownloadListener:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/Long;",
"Lcom/iflytek/cloud/util/FileDownloadListener;",
">;"
}
.end annotation
.end field
.field private mFileTempPath:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/Long;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private mHttpRequestImpl:Lcom/iflytek/cloud/msc/util/http/HttpDownloadImpl;
.field protected mSynObj:Ljava/lang/Object;
# direct methods
.method private constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
const/4 v0, 0x0
.line 46
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 28
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mHttpRequestImpl:Lcom/iflytek/cloud/msc/util/http/HttpDownloadImpl;
.line 31
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->config:Lcom/iflytek/cloud/msc/util/Config;
.line 33
const-string v0, "download_uri"
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->DLOAD_URL:Ljava/lang/String;
.line 34
const-string v0, "file_path"
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->DLOAD_PATH:Ljava/lang/String;
.line 35
const-string v0, "file_md5"
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->DLOAD_MD5:Ljava/lang/String;
.line 37
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mSynObj:Ljava/lang/Object;
.line 84
new-instance v0, Lcom/iflytek/cloud/msc/util/FileDownloader$1;
invoke-direct {v0, p0}, Lcom/iflytek/cloud/msc/util/FileDownloader$1;-><init>(Lcom/iflytek/cloud/msc/util/FileDownloader;)V
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->httpDownloadListener:Lcom/iflytek/cloud/msc/util/http/HttpDownloadListener;
.line 47
iput-object p1, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mContext:Landroid/content/Context;
.line 48
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadInfo:Ljava/util/HashMap;
.line 49
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mFileTempPath:Ljava/util/HashMap;
.line 50
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadListener:Ljava/util/HashMap;
.line 51
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/Config;->getConfig(Landroid/content/Context;)Lcom/iflytek/cloud/msc/util/Config;
move-result-object v0
iput-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->config:Lcom/iflytek/cloud/msc/util/Config;
.line 52
return-void
.end method
.method static synthetic access$000(Lcom/iflytek/cloud/msc/util/FileDownloader;)Ljava/util/HashMap;
.registers 2
.prologue
.line 19
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadInfo:Ljava/util/HashMap;
return-object v0
.end method
.method static synthetic access$100(Lcom/iflytek/cloud/msc/util/FileDownloader;)Ljava/util/HashMap;
.registers 2
.prologue
.line 19
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mFileTempPath:Ljava/util/HashMap;
return-object v0
.end method
.method static synthetic access$200(Lcom/iflytek/cloud/msc/util/FileDownloader;)Lcom/iflytek/cloud/msc/util/Config;
.registers 2
.prologue
.line 19
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->config:Lcom/iflytek/cloud/msc/util/Config;
return-object v0
.end method
.method static synthetic access$300(Lcom/iflytek/cloud/msc/util/FileDownloader;)Ljava/util/HashMap;
.registers 2
.prologue
.line 19
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadListener:Ljava/util/HashMap;
return-object v0
.end method
.method public static getDownLoadManager(Landroid/content/Context;)Lcom/iflytek/cloud/msc/util/FileDownloader;
.registers 2
.prologue
.line 40
sget-object v0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mFileDownload:Lcom/iflytek/cloud/msc/util/FileDownloader;
if-nez v0, :cond_b
.line 41
new-instance v0, Lcom/iflytek/cloud/msc/util/FileDownloader;
invoke-direct {v0, p0}, Lcom/iflytek/cloud/msc/util/FileDownloader;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mFileDownload:Lcom/iflytek/cloud/msc/util/FileDownloader;
.line 43
:cond_b
sget-object v0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mFileDownload:Lcom/iflytek/cloud/msc/util/FileDownloader;
return-object v0
.end method
.method private getTaskId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J
.registers 10
.prologue
.line 193
iget-object v4, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mSynObj:Ljava/lang/Object;
monitor-enter v4
.line 194
:try_start_3
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadInfo:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v5
.line 195
:cond_d
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_50
.line 196
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 197
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Long;
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
.line 198
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/iflytek/thirdparty/ad;
.line 199
const-string v1, "download_uri"
invoke-virtual {v0, v1}, Lcom/iflytek/thirdparty/ad;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_d
const-string v1, "file_path"
.line 200
invoke-virtual {v0, v1}, Lcom/iflytek/thirdparty/ad;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_d
const-string v1, "file_md5"
.line 201
invoke-virtual {v0, v1}, Lcom/iflytek/thirdparty/ad;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 202
monitor-exit v4
move-wide v0, v2
.line 204
:goto_4f
return-wide v0
:cond_50
const-wide/16 v0, 0x0
monitor-exit v4
goto :goto_4f
.line 205
:catchall_54
move-exception v0
monitor-exit v4
:try_end_56
.catchall {:try_start_3 .. :try_end_56} :catchall_54
throw v0
.end method
# virtual methods
.method public startDownload(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/iflytek/cloud/util/FileDownloadListener;)I
.registers 9
.prologue
.line 56
invoke-direct {p0, p1, p2, p3}, Lcom/iflytek/cloud/msc/util/FileDownloader;->getTaskId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v0
.line 57
iget-object v2, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadInfo:Ljava/util/HashMap;
invoke-virtual {v2}, Ljava/util/HashMap;->size()I
move-result v2
if-lez v2, :cond_1d
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-eqz v2, :cond_1d
.line 58
iget-object v2, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadListener:Ljava/util/HashMap;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v2, v0, p4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 59
const/4 v0, -0x1
.line 81
:goto_1c
return v0
.line 61
:cond_1d
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
.line 64
if-eqz p4, :cond_2c
.line 65
iget-object v2, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadListener:Ljava/util/HashMap;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
invoke-virtual {v2, v3, p4}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 68
:cond_2c
new-instance v2, Lcom/iflytek/thirdparty/ad;
invoke-direct {v2}, Lcom/iflytek/thirdparty/ad;-><init>()V
.line 69
const-string v3, "download_uri"
invoke-virtual {v2, v3, p1}, Lcom/iflytek/thirdparty/ad;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 70
const-string v3, "file_path"
invoke-virtual {v2, v3, p2}, Lcom/iflytek/thirdparty/ad;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 71
const-string v3, "file_md5"
invoke-virtual {v2, v3, p3}, Lcom/iflytek/thirdparty/ad;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 72
iget-object v3, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->mDownloadInfo:Ljava/util/HashMap;
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v3, v0, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 75
iget-object v0, p0, Lcom/iflytek/cloud/msc/util/FileDownloader;->config:Lcom/iflytek/cloud/msc/util/Config;
const/4 v1, 0x0
invoke-virtual {v0, p1, v1}, Lcom/iflytek/cloud/msc/util/Config;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 76
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "tempFile:"
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 v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 81
const/4 v0, 0x0
goto :goto_1c
.end method