MultiFileDownloadTask.smali
.class public Lcom/krishna/fileloader/MultiFileDownloadTask;
.super Landroid/os/AsyncTask;
.source "MultiFileDownloadTask.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/AsyncTask<",
"Lcom/krishna/fileloader/request/MultiFileLoadRequest;",
"Ljava/lang/Integer;",
"Ljava/lang/Void;",
">;"
}
.end annotation
# instance fields
.field private context:Landroid/content/Context;
.field private downloadedFiles:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/io/File;",
">;"
}
.end annotation
.end field
.field private listener:Lcom/krishna/fileloader/listener/MultiFileDownloadListener;
.field private progress:I
.field private totalTasks:I
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/krishna/fileloader/listener/MultiFileDownloadListener;)V
.registers 4
.line 27
invoke-direct {p0}, Landroid/os/AsyncTask;-><init>()V
const/4 v0, 0x0
.line 23
iput v0, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->totalTasks:I
.line 24
iput v0, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
.line 28
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->context:Landroid/content/Context;
.line 29
iput-object p2, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->listener:Lcom/krishna/fileloader/listener/MultiFileDownloadListener;
.line 30
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->downloadedFiles:Ljava/util/List;
return-void
.end method
.method private sendErrorToListener(Ljava/lang/Exception;I)V
.registers 4
.line 72
:try_start_0
iget-object v0, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->listener:Lcom/krishna/fileloader/listener/MultiFileDownloadListener;
invoke-virtual {v0, p1, p2}, Lcom/krishna/fileloader/listener/MultiFileDownloadListener;->onError(Ljava/lang/Exception;I)V
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_5
:catch_5
return-void
.end method
# virtual methods
.method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.line 20
check-cast p1, [Lcom/krishna/fileloader/request/MultiFileLoadRequest;
invoke-virtual {p0, p1}, Lcom/krishna/fileloader/MultiFileDownloadTask;->doInBackground([Lcom/krishna/fileloader/request/MultiFileLoadRequest;)Ljava/lang/Void;
move-result-object p1
return-object p1
.end method
.method protected varargs doInBackground([Lcom/krishna/fileloader/request/MultiFileLoadRequest;)Ljava/lang/Void;
.registers 11
.line 35
array-length v0, p1
iput v0, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->totalTasks:I
.line 36
array-length v0, p1
const/4 v1, 0x0
move v2, v1
:goto_6
const/4 v3, 0x0
if-ge v2, v0, :cond_6f
aget-object v4, p1, v2
const/4 v5, 0x1
.line 39
:try_start_c
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->isForceLoadFromNetwork()Z
move-result v6
if-nez v6, :cond_24
.line 41
iget-object v3, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->context:Landroid/content/Context;
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getUri()Ljava/lang/String;
move-result-object v6
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getDirectoryName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getDirectoryType()I
move-result v8
invoke-static {v3, v6, v7, v8}, Lcom/krishna/fileloader/utility/AndroidFileManager;->searchAndGetLocalFile(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;I)Ljava/io/File;
move-result-object v3
:cond_24
if-eqz v3, :cond_2c
.line 43
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v6
if-nez v6, :cond_43
.line 44
:cond_2c
new-instance v3, Lcom/krishna/fileloader/network/FileDownloader;
iget-object v6, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->context:Landroid/content/Context;
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getUri()Ljava/lang/String;
move-result-object v7
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getDirectoryName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v4}, Lcom/krishna/fileloader/request/MultiFileLoadRequest;->getDirectoryType()I
move-result v4
invoke-direct {v3, v6, v7, v8, v4}, Lcom/krishna/fileloader/network/FileDownloader;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;I)V
.line 45
invoke-virtual {v3}, Lcom/krishna/fileloader/network/FileDownloader;->download()Ljava/io/File;
move-result-object v3
.line 47
:cond_43
iget-object v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->downloadedFiles:Ljava/util/List;
invoke-interface {v4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
new-array v3, v5, [Ljava/lang/Integer;
.line 48
iget v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
add-int/2addr v4, v5
iput v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v3, v1
invoke-virtual {p0, v3}, Lcom/krishna/fileloader/MultiFileDownloadTask;->publishProgress([Ljava/lang/Object;)V
:try_end_58
.catch Ljava/io/InterruptedIOException; {:try_start_c .. :try_end_58} :catch_63
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_58} :catch_59
goto :goto_6c
:catch_59
move-exception v3
.line 52
iget v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
add-int/2addr v4, v5
iput v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
invoke-direct {p0, v3, v4}, Lcom/krishna/fileloader/MultiFileDownloadTask;->sendErrorToListener(Ljava/lang/Exception;I)V
goto :goto_6c
:catch_63
move-exception v3
.line 50
iget v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
add-int/2addr v4, v5
iput v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->progress:I
invoke-direct {p0, v3, v4}, Lcom/krishna/fileloader/MultiFileDownloadTask;->sendErrorToListener(Ljava/lang/Exception;I)V
:goto_6c
add-int/lit8 v2, v2, 0x1
goto :goto_6
:cond_6f
return-object v3
.end method
.method protected varargs onProgressUpdate([Ljava/lang/Integer;)V
.registers 7
.line 60
invoke-super {p0, p1}, Landroid/os/AsyncTask;->onProgressUpdate([Ljava/lang/Object;)V
.line 61
iget-object v0, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->listener:Lcom/krishna/fileloader/listener/MultiFileDownloadListener;
if-eqz v0, :cond_2e
const/4 v1, 0x0
.line 63
:try_start_8
iget-object v2, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->downloadedFiles:Ljava/util/List;
aget-object v3, p1, v1
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
add-int/lit8 v3, v3, -0x1
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/io/File;
aget-object v3, p1, v1
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
iget v4, p0, Lcom/krishna/fileloader/MultiFileDownloadTask;->totalTasks:I
invoke-virtual {v0, v2, v3, v4}, Lcom/krishna/fileloader/listener/MultiFileDownloadListener;->onProgress(Ljava/io/File;II)V
:try_end_23
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_23} :catch_24
goto :goto_2e
:catch_24
move-exception v0
.line 65
aget-object p1, p1, v1
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-direct {p0, v0, p1}, Lcom/krishna/fileloader/MultiFileDownloadTask;->sendErrorToListener(Ljava/lang/Exception;I)V
:cond_2e
:goto_2e
return-void
.end method
.method protected bridge synthetic onProgressUpdate([Ljava/lang/Object;)V
.registers 2
.line 20
check-cast p1, [Ljava/lang/Integer;
invoke-virtual {p0, p1}, Lcom/krishna/fileloader/MultiFileDownloadTask;->onProgressUpdate([Ljava/lang/Integer;)V
return-void
.end method