zp.smali
.class public Ldxoptimizer/zp;
.super Ljava/lang/Object;
.source "DXBPackageUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Ldxoptimizer/zp$c;,
Ldxoptimizer/zp$b;,
Ldxoptimizer/zp$e;,
Ldxoptimizer/zp$d;,
Ldxoptimizer/zp$a;
}
.end annotation
# static fields
.field private static a:I
.field private static b:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
const/4 v0, 0x1
.line 38
sput v0, Ldxoptimizer/zp;->a:I
.line 39
sput v0, Ldxoptimizer/zp;->b:I
return-void
.end method
.method static synthetic a()I
.registers 1
.prologue
.line 32
sget v0, Ldxoptimizer/zp;->a:I
return v0
.end method
.method public static a(Landroid/content/Context;)I
.registers 2
.prologue
.line 46
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
.line 47
invoke-static {p0, v0}, Ldxoptimizer/zp;->a(Landroid/content/Context;Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;)I
.registers 3
.prologue
.line 66
:try_start_0
invoke-static {p0, p1}, Ldxoptimizer/cem;->d(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 67
if-eqz v0, :cond_a
.line 68
iget v0, v0, Landroid/content/pm/PackageInfo;->versionCode:I
:try_end_8
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_8} :catch_9
.line 73
:goto_8
return v0
.line 70
:catch_9
move-exception v0
.line 73
:cond_a
const/4 v0, -0x1
goto :goto_8
.end method
.method public static a(Landroid/content/Context;Ljava/io/File;)V
.registers 5
.prologue
.line 152
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_26
.line 153
sget-object v0, Ldxoptimizer/un;->r:Ljava/lang/String;
invoke-static {p0, v0, p1}, Ldxoptimizer/cw;->a(Landroid/content/Context;Ljava/lang/String;Ljava/io/File;)Landroid/net/Uri;
move-result-object v1
.line 154
new-instance v0, Landroid/content/Intent;
const-string v2, "android.intent.action.INSTALL_PACKAGE"
invoke-direct {v0, v2, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 155
const/4 v2, 0x1
invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
.line 156
const-string v2, "application/vnd.android.package-archive"
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
.line 166
:goto_1c
invoke-static {p0, v0}, Ldxoptimizer/cdw;->a(Landroid/content/Context;Landroid/content/Intent;)Z
move-result v1
if-eqz v1, :cond_25
.line 167
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
.line 169
:cond_25
return-void
.line 158
:cond_26
new-instance v0, Landroid/content/Intent;
const-string v1, "android.intent.action.INSTALL_PACKAGE"
invoke-static {p1}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v2
invoke-direct {v0, v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 159
invoke-static {p0, v0}, Ldxoptimizer/cdw;->a(Landroid/content/Context;Landroid/content/Intent;)Z
move-result v1
if-nez v1, :cond_47
.line 160
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 161
invoke-static {p1}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v1
const-string v2, "application/vnd.android.package-archive"
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
.line 164
:cond_47
const/high16 v1, 0x10000000
invoke-virtual {v0, v1}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
goto :goto_1c
.end method
.method public static a(Landroid/content/Context;Ljava/io/File;Ljava/lang/String;Ldxoptimizer/zp$a;Z)V
.registers 12
.prologue
const/4 v3, 0x0
const/4 v2, 0x0
.line 93
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v4
.line 94
const-string v0, "android.permission.INSTALL_PACKAGES"
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v4, v0, v1}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
.line 95
if-nez v0, :cond_95
const/4 v0, 0x1
.line 96
:goto_13
invoke-static {}, Ldxoptimizer/afn;->d()Z
move-result v1
.line 99
if-eqz p4, :cond_9b
if-nez v0, :cond_1d
if-eqz v1, :cond_9b
.line 102
:cond_1d
invoke-static {p1}, Landroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
move-result-object v1
.line 103
invoke-virtual {v1}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v0
.line 104
const-string v5, "file"
invoke-virtual {v5, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a1
.line 105
invoke-virtual {p1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
.line 108
:goto_31
sget-boolean v5, Ldxoptimizer/zj;->a:Z
if-eqz v5, :cond_4b
.line 109
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "ready to silently install apk which path is "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
.line 113
:cond_4b
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_9f
.line 114
invoke-virtual {v4, v0, v2}, Landroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 115
if-eqz v0, :cond_9f
.line 117
:try_start_57
iget-object v3, v0, Landroid/content/pm/PackageInfo;->packageName:Ljava/lang/String;
.line 118
const/16 v0, 0x2000
invoke-virtual {v4, v3, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
.line 119
const/4 v2, 0x2
.line 121
sget-boolean v0, Ldxoptimizer/zj;->a:Z
if-eqz v0, :cond_7f
.line 122
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "package:"
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v4, " already exists on this device, so add replace installation flag"
invoke-virtual {v0, v4}, 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}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
:try_end_7f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_57 .. :try_end_7f} :catch_98
:cond_7f
move v4, v2
.line 131
:goto_80
invoke-static {}, Ldxoptimizer/cep;->c()Ljava/lang/Object;
move-result-object v0
.line 133
if-eqz v0, :cond_9b
.line 134
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_8f
.line 135
const-string v2, "install with permission"
invoke-static {v2}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
:cond_8f
move-object v2, p2
move-object v5, p3
.line 137
invoke-static/range {v0 .. v5}, Ldxoptimizer/zp;->a(Ljava/lang/Object;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;ILdxoptimizer/zp$a;)V
.line 148
:goto_94
return-void
:cond_95
move v0, v2
.line 95
goto/16 :goto_13
.line 126
:catch_98
move-exception v0
move v4, v2
goto :goto_80
.line 147
:cond_9b
invoke-static {p0, p1}, Ldxoptimizer/zp;->a(Landroid/content/Context;Ljava/io/File;)V
goto :goto_94
:cond_9f
move v4, v2
goto :goto_80
:cond_a1
move-object v0, v3
goto :goto_31
.end method
.method private static a(Ljava/lang/Object;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;ILdxoptimizer/zp$a;)V
.registers 8
.prologue
.line 265
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_f
.line 266
new-instance v0, Ldxoptimizer/zp$e;
invoke-direct {v0, p5, p3}, Ldxoptimizer/zp$e;-><init>(Ldxoptimizer/zp$a;Ljava/lang/String;)V
.line 269
invoke-static {p0, p1, v0, p4, p2}, Ldxoptimizer/qb;->a(Ljava/lang/Object;Landroid/net/Uri;Landroid/content/pm/IPackageInstallObserver2;ILjava/lang/String;)Z
.line 276
:goto_e
return-void
.line 271
:cond_f
new-instance v0, Ldxoptimizer/zp$d;
invoke-direct {v0, p5, p3}, Ldxoptimizer/zp$d;-><init>(Ldxoptimizer/zp$a;Ljava/lang/String;)V
.line 274
invoke-static {p0, p1, v0, p4, p2}, Ldxoptimizer/qb;->a(Ljava/lang/Object;Landroid/net/Uri;Landroid/content/pm/IPackageInstallObserver;ILjava/lang/String;)Z
goto :goto_e
.end method
.method private static a(Ljava/lang/Object;Ljava/lang/String;ILdxoptimizer/zp$a;)V
.registers 6
.prologue
.line 250
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_f
.line 251
new-instance v0, Ldxoptimizer/zp$c;
invoke-direct {v0, p3, p1}, Ldxoptimizer/zp$c;-><init>(Ldxoptimizer/zp$a;Ljava/lang/String;)V
.line 254
invoke-static {p0, p1, v0, p2}, Ldxoptimizer/qb;->a(Ljava/lang/Object;Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver2;I)Z
.line 261
:goto_e
return-void
.line 256
:cond_f
new-instance v0, Ldxoptimizer/zp$b;
invoke-direct {v0, p3, p1}, Ldxoptimizer/zp$b;-><init>(Ldxoptimizer/zp$a;Ljava/lang/String;)V
.line 259
invoke-static {p0, p1, v0, p2}, Ldxoptimizer/qb;->a(Ljava/lang/Object;Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;I)Z
goto :goto_e
.end method
.method static synthetic a(ZLdxoptimizer/zp$a;Ljava/lang/String;I)V
.registers 4
.prologue
.line 32
invoke-static {p0, p1, p2, p3}, Ldxoptimizer/zp;->b(ZLdxoptimizer/zp$a;Ljava/lang/String;I)V
return-void
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;Ldxoptimizer/zp$a;Z)Z
.registers 9
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 203
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_13
.line 204
sget-boolean v0, Ldxoptimizer/zj;->a:Z
if-eqz v0, :cond_11
.line 205
const-string v0, "param deletePackageName must not be null"
invoke-static {v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;)V
:cond_11
move v1, v2
.line 245
:goto_12
return v1
.line 210
:cond_13
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 211
const-string v3, "android.permission.DELETE_PACKAGES"
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v3, v4}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
.line 212
if-nez v0, :cond_5b
move v0, v1
.line 213
:goto_24
invoke-static {}, Ldxoptimizer/afn;->d()Z
move-result v3
.line 216
if-eqz p3, :cond_5d
if-nez v0, :cond_2e
if-eqz v3, :cond_5d
.line 217
:cond_2e
sget-boolean v0, Ldxoptimizer/zj;->a:Z
if-eqz v0, :cond_48
.line 218
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "ready to silently uninstall apk which package name is "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, 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}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
.line 223
:cond_48
invoke-static {}, Ldxoptimizer/cep;->c()Ljava/lang/Object;
move-result-object v0
.line 224
if-eqz v0, :cond_5d
.line 225
sget-boolean v3, Ldxoptimizer/zj;->a:Z
if-eqz v3, :cond_57
.line 226
const-string v3, "delete with permission"
invoke-static {v3}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
.line 228
:cond_57
invoke-static {v0, p1, v2, p2}, Ldxoptimizer/zp;->a(Ljava/lang/Object;Ljava/lang/String;ILdxoptimizer/zp$a;)V
goto :goto_12
:cond_5b
move v0, v2
.line 212
goto :goto_24
.line 236
:cond_5d
sget-boolean v0, Ldxoptimizer/zj;->a:Z
if-eqz v0, :cond_77
.line 237
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "start system uninstaller to uninstall package:"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, 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}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
.line 241
:cond_77
const-string v0, "package"
const/4 v2, 0x0
invoke-static {v0, p1, v2}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
.line 242
new-instance v2, Landroid/content/Intent;
const-string v3, "android.intent.action.DELETE"
invoke-direct {v2, v3, v0}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 243
const/high16 v0, 0x10000000
invoke-virtual {v2, v0}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
.line 244
invoke-virtual {p0, v2}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
goto :goto_12
.end method
.method static synthetic b()I
.registers 1
.prologue
.line 32
sget v0, Ldxoptimizer/zp;->b:I
return v0
.end method
.method public static b(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.prologue
.line 52
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
.line 53
invoke-static {p0, v0}, Ldxoptimizer/cem;->d(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/PackageInfo;
move-result-object v0
.line 54
if-eqz v0, :cond_e
.line 55
iget-object v0, v0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_c
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_c} :catch_d
.line 60
:goto_c
return-object v0
.line 57
:catch_d
move-exception v0
.line 60
:cond_e
const-string v0, ""
goto :goto_c
.end method
.method public static b(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.prologue
.line 79
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 80
invoke-virtual {v0, p1}, Landroid/content/pm/PackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
:try_end_7
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_7} :catch_9
move-result-object v0
.line 84
:goto_8
return-object v0
.line 81
:catch_9
move-exception v0
.line 84
const/4 v0, 0x0
goto :goto_8
.end method
.method private static b(ZLdxoptimizer/zp$a;Ljava/lang/String;I)V
.registers 8
.prologue
.line 367
sget-boolean v0, Ldxoptimizer/zj;->a:Z
if-eqz v0, :cond_21
.line 368
const-string v0, "Silent Package Operation: %d,result: %b,pkgName:%s"
const/4 v1, 0x3
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x1
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x2
aput-object p2, v1, v2
invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 370
invoke-static {v0}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V
.line 373
:cond_21
if-eqz p1, :cond_26
.line 374
invoke-interface {p1, p0, p2}, Ldxoptimizer/zp$a;->a(ZLjava/lang/String;)V
.line 376
:cond_26
return-void
.end method