DownloadUtils.smali
.class public Lim/tpelyyftgw/ui/utils/DownloadUtils;
.super Ljava/lang/Object;
.source "DownloadUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
}
.end annotation
# static fields
.field private static volatile instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
# instance fields
.field private mContext:Landroid/content/Context;
.field private mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
.field private mDownloadId:J
.field private mDownloadManager:Landroid/app/DownloadManager;
.field private mDownloadReceiver:Landroid/content/BroadcastReceiver;
.field private mDownloadUrl:Ljava/lang/String;
.field private mFileName:Ljava/lang/String;
.field private final mHandler:Landroid/os/Handler;
.field private mIsDownloading:Z
.field private final mQueryProgressRunnable:Ljava/lang/Runnable;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.line 79
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 62
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mHandler:Landroid/os/Handler;
.line 64
new-instance v0, Lim/tpelyyftgw/ui/utils/DownloadUtils$1;
invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils$1;-><init>(Lim/tpelyyftgw/ui/utils/DownloadUtils;)V
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mQueryProgressRunnable:Ljava/lang/Runnable;
.line 80
iput-object p1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
.line 81
return-void
.end method
.method static synthetic access$000(Lim/tpelyyftgw/ui/utils/DownloadUtils;)V
.registers 1
.param p0, "x0" # Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 36
invoke-direct {p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->queryProgress()V
return-void
.end method
.method static synthetic access$100(Lim/tpelyyftgw/ui/utils/DownloadUtils;)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 36
iget-boolean v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mIsDownloading:Z
return v0
.end method
.method static synthetic access$200(Lim/tpelyyftgw/ui/utils/DownloadUtils;)Ljava/lang/Runnable;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 36
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mQueryProgressRunnable:Ljava/lang/Runnable;
return-object v0
.end method
.method static synthetic access$300(Lim/tpelyyftgw/ui/utils/DownloadUtils;)Landroid/os/Handler;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 36
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mHandler:Landroid/os/Handler;
return-object v0
.end method
.method private closeCursor(Landroid/database/Cursor;)V
.registers 3
.param p1, "cursor" # Landroid/database/Cursor;
.line 207
if-eqz p1, :cond_b
invoke-interface {p1}, Landroid/database/Cursor;->isClosed()Z
move-result v0
if-nez v0, :cond_b
.line 208
invoke-interface {p1}, Landroid/database/Cursor;->close()V
.line 210
:cond_b
return-void
.end method
.method public static getInstance(Landroid/content/Context;)Lim/tpelyyftgw/ui/utils/DownloadUtils;
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 41
sget-object v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
if-nez v0, :cond_10
.line 42
new-instance v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;
invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;-><init>(Landroid/content/Context;)V
sput-object v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 43
sget-object v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
invoke-direct {v0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->registerReceiver()V
.line 45
:cond_10
sget-object v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
return-object v0
.end method
.method private installApp(Landroid/net/Uri;)V
.registers 5
.param p1, "uri" # Landroid/net/Uri;
.line 264
new-instance v0, Landroid/content/Intent;
const-string v1, "android.intent.action.VIEW"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 265
.local v0, "intent":Landroid/content/Intent;
const/high16 v1, 0x10000000
invoke-virtual {v0, v1}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
.line 266
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_16
.line 267
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
.line 269
:cond_16
const-string v1, "application/vnd.android.package-archive"
invoke-virtual {v0, p1, v1}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
.line 270
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "installApp uri = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {p0, v1}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 271
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
invoke-virtual {v1, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
.line 272
return-void
.end method
.method private logDebug(Ljava/lang/String;)V
.registers 3
.param p1, "msg" # Ljava/lang/String;
.line 213
sget-boolean v0, Lim/tpelyyftgw/messenger/BuildVars;->DEBUG_VERSION:Z
if-eqz v0, :cond_f
.line 214
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0, p1}, Lcom/google/android/exoplayer2/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 216
:cond_f
return-void
.end method
.method private queryProgress()V
.registers 21
.line 159
move-object/from16 v0, p0
iget-boolean v1, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mIsDownloading:Z
if-nez v1, :cond_7
return-void
.line 161
:cond_7
iget-object v1, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadManager:Landroid/app/DownloadManager;
new-instance v2, Landroid/app/DownloadManager$Query;
invoke-direct {v2}, Landroid/app/DownloadManager$Query;-><init>()V
const/4 v3, 0x1
new-array v4, v3, [J
iget-wide v5, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadId:J
const/4 v7, 0x0
aput-wide v5, v4, v7
invoke-virtual {v2, v4}, Landroid/app/DownloadManager$Query;->setFilterById([J)Landroid/app/DownloadManager$Query;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
move-result-object v1
.line 162
.local v1, "c":Landroid/database/Cursor;
if-eqz v1, :cond_100
invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
move-result v2
if-eqz v2, :cond_100
.line 163
const-string v2, "status"
invoke-interface {v1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {v1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
.line 164
.local v2, "status":I
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "\u4e0b\u8f7d\u72b6\u6001\uff1a"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v0, v4}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 165
const-string v4, "total_size"
const/4 v5, 0x2
if-eq v2, v5, :cond_a4
const/16 v3, 0x8
if-eq v2, v3, :cond_5c
const/16 v3, 0x10
if-eq v2, v3, :cond_53
goto/16 :goto_ff
.line 196
:cond_53
iget-object v3, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v3, :cond_ff
invoke-interface {v3}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onFailed()V
goto/16 :goto_ff
.line 181
:cond_5c
invoke-direct/range {p0 .. p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->stopQueryProgress()V
.line 182
sget-object v3, Landroid/os/Environment;->DIRECTORY_DOWNLOADS:Ljava/lang/String;
invoke-static {v3}, Landroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
move-result-object v3
.line 183
.local v3, "downloadDir":Ljava/io/File;
invoke-interface {v1, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v4
invoke-interface {v1, v4}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v4
.line 184
.local v4, "totalSize":J
iget-object v6, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v6, :cond_93
.line 185
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v7, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v7, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 186
.local v6, "fullName":Ljava/lang/String;
invoke-direct {v0, v6}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 187
iget-object v7, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
invoke-interface {v7, v6, v4, v5}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onFinish(Ljava/lang/String;J)V
.line 189
.end local v6 # "fullName":Ljava/lang/String;
:cond_93
iget-object v6, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadManager:Landroid/app/DownloadManager;
iget-wide v7, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadId:J
invoke-virtual {v6, v7, v8}, Landroid/app/DownloadManager;->getUriForDownloadedFile(J)Landroid/net/Uri;
move-result-object v6
.line 190
.local v6, "downloadUri":Landroid/net/Uri;
if-eqz v6, :cond_a0
.line 191
invoke-direct {v0, v6}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->installApp(Landroid/net/Uri;)V
.line 193
:cond_a0
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->onDestroy()V
.line 194
goto :goto_ff
.line 170
.end local v3 # "downloadDir":Ljava/io/File;
.end local v4 # "totalSize":J
.end local v6 # "downloadUri":Landroid/net/Uri;
:cond_a4
const-string v6, "bytes_so_far"
invoke-interface {v1, v6}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v6
invoke-interface {v1, v6}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v8
.line 171
.local v8, "soFarSize":J
invoke-interface {v1, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v4
invoke-interface {v1, v4}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v10
.line 172
.local v10, "totalSize":J
const-wide/16 v12, 0x0
cmp-long v4, v10, v12
if-lez v4, :cond_ff
.line 173
long-to-float v4, v8
const/high16 v6, 0x3f800000 # 1.0f
mul-float v4, v4, v6
long-to-float v6, v10
div-float/2addr v4, v6
.line 174
.local v4, "percent":F
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
new-array v5, v5, [Ljava/lang/Object;
const-wide/16 v12, 0x400
div-long v14, v10, v12
invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v14
aput-object v14, v5, v7
div-long v14, v8, v12
invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
aput-object v7, v5, v3
const-string v3, "total:%s kb soFar:%s kb"
invoke-static {v3, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v3}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 175
iget-object v14, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v14, :cond_ff
.line 176
const/high16 v3, 0x42c80000 # 100.0f
mul-float v3, v3, v4
float-to-int v15, v3
div-long v16, v8, v12
div-long v18, v10, v12
invoke-interface/range {v14 .. v19}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onProgress(IJJ)V
.line 199
.end local v2 # "status":I
.end local v4 # "percent":F
.end local v8 # "soFarSize":J
.end local v10 # "totalSize":J
:cond_ff
:goto_ff
goto :goto_10a
.line 200
:cond_100
invoke-direct/range {p0 .. p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->stopQueryProgress()V
.line 201
iget-object v2, v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v2, :cond_10a
invoke-interface {v2}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onFailed()V
.line 203
:cond_10a
:goto_10a
invoke-direct {v0, v1}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->closeCursor(Landroid/database/Cursor;)V
.line 204
return-void
.end method
.method private registerReceiver()V
.registers 4
.line 87
new-instance v0, Lim/tpelyyftgw/ui/utils/DownloadUtils$2;
invoke-direct {v0, p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils$2;-><init>(Lim/tpelyyftgw/ui/utils/DownloadUtils;)V
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadReceiver:Landroid/content/BroadcastReceiver;
.line 96
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
.line 97
.local v0, "intentFilter":Landroid/content/IntentFilter;
const-string v1, "android.intent.action.DOWNLOAD_COMPLETE"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 98
const-string v1, "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 99
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
iget-object v2, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 100
return-void
.end method
.method private startDownload()V
.registers 7
.line 118
const v0, 0x7f0f0fef
invoke-static {v0}, Lim/tpelyyftgw/ui/components/toast/ToastUtils;->show(I)V
.line 119
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v0, :cond_d
invoke-interface {v0}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onStart()V
.line 121
:cond_d
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
const-string v1, "download"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/DownloadManager;
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadManager:Landroid/app/DownloadManager;
.line 122
new-instance v0, Landroid/app/DownloadManager$Request;
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadUrl:Ljava/lang/String;
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-direct {v0, v1}, Landroid/app/DownloadManager$Request;-><init>(Landroid/net/Uri;)V
.line 123
.local v0, "request":Landroid/app/DownloadManager$Request;
const/4 v1, 0x3
invoke-virtual {v0, v1}, Landroid/app/DownloadManager$Request;->setAllowedNetworkTypes(I)Landroid/app/DownloadManager$Request;
.line 124
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/app/DownloadManager$Request;->setNotificationVisibility(I)Landroid/app/DownloadManager$Request;
.line 125
const v2, 0x7f0f0141
invoke-static {v2}, Lim/tpelyyftgw/messenger/LocaleController;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Landroid/app/DownloadManager$Request;->setTitle(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;
.line 126
sget-object v2, Landroid/os/Environment;->DIRECTORY_DOWNLOADS:Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
invoke-virtual {v0, v2, v3}, Landroid/app/DownloadManager$Request;->setDestinationInExternalPublicDir(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;
.line 127
invoke-virtual {v0, v1}, Landroid/app/DownloadManager$Request;->setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;
.line 128
invoke-virtual {v0}, Landroid/app/DownloadManager$Request;->allowScanningByMediaScanner()V
.line 130
:try_start_43
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadManager:Landroid/app/DownloadManager;
invoke-virtual {v1, v0}, Landroid/app/DownloadManager;->enqueue(Landroid/app/DownloadManager$Request;)J
move-result-wide v1
iput-wide v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadId:J
.line 131
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_54
.line 132
invoke-direct {p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->startQueryProgress()V
:try_end_54
.catch Ljava/lang/IllegalArgumentException; {:try_start_43 .. :try_end_54} :catch_55
.line 142
:cond_54
goto :goto_7e
.line 134
:catch_55
move-exception v1
.line 135
.local v1, "e":Ljava/lang/IllegalArgumentException;
iget-object v2, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
if-eqz v2, :cond_5d
invoke-interface {v2}, Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;->onFailed()V
.line 137
:cond_5d
new-instance v2, Landroid/content/Intent;
const-string v3, "android.settings.APPLICATION_DETAILS_SETTINGS"
invoke-direct {v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 138
.local v2, "intent":Landroid/content/Intent;
const-string v3, "package:com.android.providers.downloads"
invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
.line 139
iget-object v3, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
move-result-object v3
if-eqz v3, :cond_7e
.line 140
iget-object v3, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
invoke-virtual {v3, v2}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
.line 143
.end local v1 # "e":Ljava/lang/IllegalArgumentException;
.end local v2 # "intent":Landroid/content/Intent;
:cond_7e
:goto_7e
return-void
.end method
.method private startQueryProgress()V
.registers 3
.line 230
const-string v0, "startQueryProgress"
invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 231
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mIsDownloading:Z
.line 232
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mQueryProgressRunnable:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 233
return-void
.end method
.method private stopQueryProgress()V
.registers 3
.line 239
const-string v0, "stopQueryProgress"
invoke-direct {p0, v0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 240
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mIsDownloading:Z
.line 241
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mQueryProgressRunnable:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
.line 242
return-void
.end method
# virtual methods
.method public isDownloading()Z
.registers 2
.line 245
iget-boolean v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mIsDownloading:Z
return v0
.end method
.method public onDestroy()V
.registers 4
.line 250
:try_start_0
invoke-direct {p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->stopQueryProgress()V
.line 251
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
.line 252
const/4 v0, 0x0
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
.line 253
const-string v1, "onDestroy"
invoke-direct {p0, v1}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->logDebug(Ljava/lang/String;)V
.line 254
sput-object v0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->instance:Lim/tpelyyftgw/ui/utils/DownloadUtils;
:try_end_14
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_14} :catch_15
.line 257
goto :goto_39
.line 255
:catch_15
move-exception v0
.line 256
.local v0, "e":Ljava/lang/Exception;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " ---> "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 258
.end local v0 # "e":Ljava/lang/Exception;
:goto_39
return-void
.end method
.method public removeDownload()V
.registers 6
.line 222
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadManager:Landroid/app/DownloadManager;
const/4 v1, 0x1
new-array v1, v1, [J
iget-wide v2, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadId:J
const/4 v4, 0x0
aput-wide v2, v1, v4
invoke-virtual {v0, v1}, Landroid/app/DownloadManager;->remove([J)I
.line 223
invoke-direct {p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->stopQueryProgress()V
.line 224
return-void
.end method
.method public setDownloadListener(Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;)Lim/tpelyyftgw/ui/utils/DownloadUtils;
.registers 2
.param p1, "listener" # Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
.line 285
iput-object p1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownLoadListener:Lim/tpelyyftgw/ui/utils/DownloadUtils$DownloadListener;
.line 286
return-object p0
.end method
.method public setDownloadUrl(Ljava/lang/String;)Lim/tpelyyftgw/ui/utils/DownloadUtils;
.registers 2
.param p1, "downloadUrl" # Ljava/lang/String;
.line 275
iput-object p1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mDownloadUrl:Ljava/lang/String;
.line 276
return-object p0
.end method
.method public setFileName(Ljava/lang/String;)Lim/tpelyyftgw/ui/utils/DownloadUtils;
.registers 2
.param p1, "fileName" # Ljava/lang/String;
.line 280
iput-object p1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
.line 281
return-object p0
.end method
.method public showDownloadList()V
.registers 3
.line 149
new-instance v0, Landroid/content/Intent;
const-string v1, "android.intent.action.VIEW_DOWNLOADS"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 150
.local v0, "downloadIntent":Landroid/content/Intent;
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
move-result-object v1
if-eqz v1, :cond_18
.line 151
iget-object v1, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mContext:Landroid/content/Context;
invoke-virtual {v1, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
.line 153
:cond_18
return-void
.end method
.method public startDownload(Ljava/lang/String;Ljava/lang/String;)V
.registers 6
.param p1, "downloadUrl" # Ljava/lang/String;
.param p2, "version" # Ljava/lang/String;
.line 103
invoke-virtual {p0, p1}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->setDownloadUrl(Ljava/lang/String;)Lim/tpelyyftgw/ui/utils/DownloadUtils;
.line 104
iget-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
if-nez v0, :cond_41
.line 105
const-string v0, ".apk"
const v1, 0x7f0f0141
if-eqz p2, :cond_2c
.line 106
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {v1}, Lim/tpelyyftgw/messenger/LocaleController;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "_v"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
goto :goto_41
.line 108
:cond_2c
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {v1}, Lim/tpelyyftgw/messenger/LocaleController;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/utils/DownloadUtils;->mFileName:Ljava/lang/String;
.line 111
:cond_41
:goto_41
invoke-direct {p0}, Lim/tpelyyftgw/ui/utils/DownloadUtils;->startDownload()V
.line 112
return-void
.end method