b.smali
.class public Lcom/cmcm/xiaobao/phone/update/a/b;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cmcm/xiaobao/phone/update/a/b$a;,
Lcom/cmcm/xiaobao/phone/update/a/b$b;,
Lcom/cmcm/xiaobao/phone/update/a/b$c;
}
.end annotation
# instance fields
.field private a:Landroid/app/DownloadManager;
.field private b:Lcom/cmcm/xiaobao/phone/update/a/a;
.field private c:Lcom/cmcm/xiaobao/phone/update/a/b$b;
.field private d:Lcom/cmcm/xiaobao/phone/update/a/b$a;
.field private e:J
.field private f:Ljava/lang/String;
.field private g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
.field private h:J
.field private i:Landroid/content/Context;
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
iput-object p1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->i:Landroid/content/Context;
return-void
.end method
.method private a(J)V
.registers 6
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/SimpleSharedPref;->getService()Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;
move-result-object v0
invoke-interface {v0}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;->downloadId()Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;
move-result-object v0
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-interface {v0, v1}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;->put(Ljava/lang/Object;)V
return-void
.end method
.method private static a(Landroid/content/Context;)V
.registers 4
const/high16 v2, 0x10000000
:try_start_2
new-instance v0, Landroid/content/Intent;
const-string/jumbo v1, "android.settings.APPLICATION_DETAILS_SETTINGS"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const-string/jumbo v1, "package:com.android.providers.downloads"
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const/high16 v1, 0x10000000
invoke-virtual {v0, v1}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
:try_end_1c
.catch Landroid/content/ActivityNotFoundException; {:try_start_2 .. :try_end_1c} :catch_1d
:goto_1c
return-void
:catch_1d
move-exception v0
invoke-virtual {v0}, Landroid/content/ActivityNotFoundException;->printStackTrace()V
new-instance v0, Landroid/content/Intent;
const-string/jumbo v1, "android.settings.MANAGE_APPLICATIONS_SETTINGS"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
goto :goto_1c
.end method
.method static synthetic a(Lcom/cmcm/xiaobao/phone/update/a/b;)V
.registers 1
invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/update/a/b;->f()V
return-void
.end method
.method static synthetic b(Lcom/cmcm/xiaobao/phone/update/a/b;)J
.registers 3
iget-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
return-wide v0
.end method
.method private static b(Landroid/content/Context;)Z
.registers 8
const/4 v6, 0x3
const/4 v5, 0x2
const/4 v0, 0x1
const/4 v1, 0x0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v2
const-string/jumbo v3, "com.android.providers.downloads"
invoke-virtual {v2, v3}, Landroid/content/pm/PackageManager;->getApplicationEnabledSetting(Ljava/lang/String;)I
move-result v2
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x12
if-le v3, v4, :cond_1f
if-eq v2, v5, :cond_1d
if-eq v2, v6, :cond_1d
const/4 v3, 0x4
if-eq v2, v3, :cond_1d
:cond_1c
:goto_1c
return v0
:cond_1d
move v0, v1
goto :goto_1c
:cond_1f
if-eq v2, v5, :cond_23
if-ne v2, v6, :cond_1c
:cond_23
move v0, v1
goto :goto_1c
.end method
.method static synthetic c(Lcom/cmcm/xiaobao/phone/update/a/b;)Lcom/cmcm/xiaobao/phone/update/a/a;
.registers 2
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->b:Lcom/cmcm/xiaobao/phone/update/a/a;
return-object v0
.end method
.method private d()J
.registers 3
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/SimpleSharedPref;->getService()Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;
move-result-object v0
invoke-interface {v0}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/ISharedPref;->downloadId()Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;
move-result-object v0
invoke-interface {v0}, Lcom/cmcm/xiaobao/phone/commons/sharedpref/core/Call;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
return-wide v0
.end method
.method static synthetic d(Lcom/cmcm/xiaobao/phone/update/a/b;)Lcom/cmcm/xiaobao/phone/update/a/b$c;
.registers 2
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
return-object v0
.end method
.method static synthetic e(Lcom/cmcm/xiaobao/phone/update/a/b;)Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->f:Ljava/lang/String;
return-object v0
.end method
.method private e()Z
.registers 4
const/4 v0, 0x0
:try_start_1
new-instance v1, Ljava/io/File;
invoke-static {}, Lcom/cmcm/xiaobao/phone/update/appupdate/b;->a()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_16
invoke-virtual {v1}, Ljava/io/File;->isDirectory()Z
move-result v2
if-nez v2, :cond_1c
:cond_16
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
:try_end_19
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_19} :catch_1e
move-result v1
if-eqz v1, :cond_1d
:cond_1c
const/4 v0, 0x1
:cond_1d
:goto_1d
return v0
:catch_1e
move-exception v1
const-string/jumbo v2, "initFolder"
invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1d
.end method
.method private f()V
.registers 7
const/4 v5, 0x1
const/4 v4, 0x0
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->b:Lcom/cmcm/xiaobao/phone/update/a/a;
iget-wide v2, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
invoke-virtual {v0, v2, v3}, Lcom/cmcm/xiaobao/phone/update/a/a;->b(J)[I
move-result-object v0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
if-eqz v1, :cond_23
aget v1, v0, v4
if-lez v1, :cond_23
aget v1, v0, v5
if-lez v1, :cond_23
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
aget v2, v0, v4
mul-int/lit8 v2, v2, 0x64
aget v0, v0, v5
div-int v0, v2, v0
invoke-interface {v1, v0}, Lcom/cmcm/xiaobao/phone/update/a/b$c;->a(I)V
:cond_23
return-void
.end method
# virtual methods
.method public a()V
.registers 3
:try_start_0
invoke-static {}, Lcom/cmcm/xiaobao/phone/OrionApplication;->getAppContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->d:Lcom/cmcm/xiaobao/phone/update/a/b$a;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
invoke-static {}, Lcom/cmcm/xiaobao/phone/OrionApplication;->getAppContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->c:Lcom/cmcm/xiaobao/phone/update/a/b$b;
invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
:try_end_16
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_16} :catch_17
:goto_16
return-void
:catch_17
move-exception v0
goto :goto_16
.end method
.method public a(Lcom/cmcm/xiaobao/phone/update/a/b$c;Ljava/lang/String;)V
.registers 3
invoke-virtual {p0}, Lcom/cmcm/xiaobao/phone/update/a/b;->b()V
iput-object p1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
iput-object p2, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->f:Ljava/lang/String;
return-void
.end method
.method public a(Ljava/lang/String;Ljava/lang/String;Lcom/cmcm/xiaobao/phone/update/a/b$c;)V
.registers 8
const/4 v3, 0x0
if-eqz p3, :cond_5
iput-object p3, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->g:Lcom/cmcm/xiaobao/phone/update/a/b$c;
:cond_5
iput-object p2, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->f:Ljava/lang/String;
invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/update/a/b;->e()Z
move-result v0
if-nez v0, :cond_e
:goto_d
return-void
:cond_e
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->i:Landroid/content/Context;
invoke-static {v0}, Lcom/cmcm/xiaobao/phone/update/a/b;->b(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_1c
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->i:Landroid/content/Context;
invoke-static {v0}, Lcom/cmcm/xiaobao/phone/update/a/b;->a(Landroid/content/Context;)V
goto :goto_d
:cond_1c
new-instance v0, Landroid/app/DownloadManager$Request;
invoke-static {p1}, 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
sget-object v1, Landroid/os/Environment;->DIRECTORY_DOWNLOADS:Ljava/lang/String;
iget-object v2, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->f:Ljava/lang/String;
invoke-static {v2}, Lcom/cmcm/xiaobao/phone/update/appupdate/b;->b(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Landroid/app/DownloadManager$Request;->setDestinationInExternalPublicDir(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->i:Landroid/content/Context;
const v2, 0x7f0a0317
invoke-virtual {v1, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/app/DownloadManager$Request;->setTitle(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;
invoke-virtual {v0, v3}, Landroid/app/DownloadManager$Request;->setNotificationVisibility(I)Landroid/app/DownloadManager$Request;
invoke-virtual {v0, v3}, Landroid/app/DownloadManager$Request;->setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;
const-string/jumbo v1, "application/cn.trinea.download.file"
invoke-virtual {v0, v1}, Landroid/app/DownloadManager$Request;->setMimeType(Ljava/lang/String;)Landroid/app/DownloadManager$Request;
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->a:Landroid/app/DownloadManager;
invoke-virtual {v1, v0}, Landroid/app/DownloadManager;->enqueue(Landroid/app/DownloadManager$Request;)J
move-result-wide v0
iput-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
iget-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
invoke-direct {p0, v0, v1}, Lcom/cmcm/xiaobao/phone/update/a/b;->a(J)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const-wide/16 v2, 0x3e8
div-long/2addr v0, v2
iput-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->h:J
goto :goto_d
.end method
.method public b()V
.registers 5
invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/update/a/b;->d()J
move-result-wide v0
iput-wide v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->e:J
:try_start_6
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->i:Landroid/content/Context;
const-string/jumbo 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, Lcom/cmcm/xiaobao/phone/update/a/b;->a:Landroid/app/DownloadManager;
:try_end_13
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_13} :catch_4c
:goto_13
new-instance v0, Lcom/cmcm/xiaobao/phone/update/a/a;
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->a:Landroid/app/DownloadManager;
invoke-direct {v0, v1}, Lcom/cmcm/xiaobao/phone/update/a/a;-><init>(Landroid/app/DownloadManager;)V
iput-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->b:Lcom/cmcm/xiaobao/phone/update/a/a;
new-instance v0, Lcom/cmcm/xiaobao/phone/update/a/b$b;
invoke-direct {v0, p0}, Lcom/cmcm/xiaobao/phone/update/a/b$b;-><init>(Lcom/cmcm/xiaobao/phone/update/a/b;)V
iput-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->c:Lcom/cmcm/xiaobao/phone/update/a/b$b;
new-instance v0, Lcom/cmcm/xiaobao/phone/update/a/b$a;
invoke-direct {v0, p0}, Lcom/cmcm/xiaobao/phone/update/a/b$a;-><init>(Lcom/cmcm/xiaobao/phone/update/a/b;)V
iput-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->d:Lcom/cmcm/xiaobao/phone/update/a/b$a;
invoke-static {}, Lcom/cmcm/xiaobao/phone/OrionApplication;->getAppContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
sget-object v1, Lcom/cmcm/xiaobao/phone/update/a/a;->a:Landroid/net/Uri;
const/4 v2, 0x1
iget-object v3, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->c:Lcom/cmcm/xiaobao/phone/update/a/b$b;
invoke-virtual {v0, v1, v2, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
invoke-static {}, Lcom/cmcm/xiaobao/phone/OrionApplication;->getAppContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->d:Lcom/cmcm/xiaobao/phone/update/a/b$a;
new-instance v2, Landroid/content/IntentFilter;
const-string/jumbo v3, "android.intent.action.DOWNLOAD_COMPLETE"
invoke-direct {v2, v3}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
return-void
:catch_4c
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_13
.end method
.method public c()Z
.registers 5
iget-object v0, p0, Lcom/cmcm/xiaobao/phone/update/a/b;->b:Lcom/cmcm/xiaobao/phone/update/a/a;
invoke-direct {p0}, Lcom/cmcm/xiaobao/phone/update/a/b;->d()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Lcom/cmcm/xiaobao/phone/update/a/a;->a(J)I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_f
const/4 v0, 0x1
:goto_e
return v0
:cond_f
const/4 v0, 0x0
goto :goto_e
.end method