xc.smali
.class public Ldxoptimizer/xc;
.super Ljava/lang/Object;
.source "AppInfoUtils.java"
# direct methods
.method public static a(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Ljava/lang/Long;
.registers 6
.prologue
.line 79
const/4 v1, 0x0
.line 82
:try_start_1
const-class v0, Landroid/content/pm/PackageInfo;
invoke-virtual {v0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->getLong(Ljava/lang/Object;)J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
:try_end_e
.catch Ljava/lang/IllegalArgumentException; {:try_start_1 .. :try_end_e} :catch_23
.catch Ljava/lang/SecurityException; {:try_start_1 .. :try_end_e} :catch_2f
.catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_e} :catch_3b
.catch Ljava/lang/NoSuchFieldException; {:try_start_1 .. :try_end_e} :catch_47
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_53
move-result-object v0
.line 105
:goto_f
if-nez v0, :cond_22
.line 107
:try_start_11
iget-object v1, p0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->publicSourceDir:Ljava/lang/String;
.line 108
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->lastModified()J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
:try_end_21
.catch Ljava/lang/NullPointerException; {:try_start_11 .. :try_end_21} :catch_5f
.catch Ljava/lang/SecurityException; {:try_start_11 .. :try_end_21} :catch_6a
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_21} :catch_75
move-result-object v0
.line 124
:cond_22
:goto_22
return-object v0
.line 83
:catch_23
move-exception v0
.line 84
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_2d
.line 85
const-string v2, "GetTimeByPackageInfo in reflect has IllegalArgumentException!"
invoke-static {v2, v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_2d
move-object v0, v1
.line 103
goto :goto_f
.line 87
:catch_2f
move-exception v0
.line 88
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_39
.line 89
const-string v2, "GetTimeByPackageInfo in reflect has SecurityException!"
invoke-static {v2, v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_39
move-object v0, v1
.line 103
goto :goto_f
.line 91
:catch_3b
move-exception v0
.line 92
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_45
.line 93
const-string v2, "GetTimeByPackageInfo in reflect has IllegalAccessException!"
invoke-static {v2, v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_45
move-object v0, v1
.line 103
goto :goto_f
.line 95
:catch_47
move-exception v0
.line 96
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_51
.line 97
const-string v2, "GetTimeByPackageInfo in reflect has NoSuchFieldException!"
invoke-static {v2, v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_51
move-object v0, v1
.line 103
goto :goto_f
.line 99
:catch_53
move-exception v0
.line 100
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_5d
.line 101
const-string v2, "GetTimeByPackageInfo in reflect has Exception!"
invoke-static {v2, v0}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_5d
move-object v0, v1
goto :goto_f
.line 109
:catch_5f
move-exception v1
.line 110
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_22
.line 111
const-string v2, "GetTimeByPackageInfo has NullPointerException!"
invoke-static {v2, v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_22
.line 113
:catch_6a
move-exception v1
.line 114
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_22
.line 115
const-string v2, "GetTimeByPackageInfo has SecurityException!"
invoke-static {v2, v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_22
.line 117
:catch_75
move-exception v1
.line 118
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_22
.line 119
const-string v2, "GetTimeByPackageInfo has Exception!"
invoke-static {v2, v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_22
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 20
const-string v0, ""
.line 22
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 23
if-eqz v1, :cond_f
.line 24
iget-object v0, v1, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2 .. :try_end_f} :catch_10
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_f} :catch_1b
.line 35
:cond_f
:goto_f
return-object v0
.line 26
:catch_10
move-exception v1
.line 27
sget-boolean v1, Ldxoptimizer/zj;->a:Z
if-eqz v1, :cond_f
.line 28
const-string v1, "Failed to get VersionName!"
invoke-static {v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;)V
goto :goto_f
.line 30
:catch_1b
move-exception v1
.line 31
sget-boolean v1, Ldxoptimizer/zj;->a:Z
if-eqz v1, :cond_f
.line 32
const-string v1, "Failed to get VersionName!"
invoke-static {v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;)V
goto :goto_f
.end method
.method public static b(Landroid/content/Context;Ljava/lang/String;)I
.registers 5
.prologue
.line 39
const/4 v0, -0x1
.line 41
:try_start_1
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 42
if-eqz v1, :cond_e
.line 43
iget v0, v1, Landroid/content/pm/PackageInfo;->versionCode:I
:try_end_e
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_e} :catch_f
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_e} :catch_1a
.line 54
:cond_e
:goto_e
return v0
.line 45
:catch_f
move-exception v1
.line 46
sget-boolean v1, Ldxoptimizer/zj;->a:Z
if-eqz v1, :cond_e
.line 47
const-string v1, "Failed to get VersionCode!"
invoke-static {v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;)V
goto :goto_e
.line 49
:catch_1a
move-exception v1
.line 50
sget-boolean v1, Ldxoptimizer/zj;->a:Z
if-eqz v1, :cond_e
.line 51
const-string v1, "Failed to get VersionCode!"
invoke-static {v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;)V
goto :goto_e
.end method
.method public static c(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.prologue
.line 58
const-string v0, ""
.line 60
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const/16 v2, 0x40
invoke-virtual {v1, p1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
.line 61
iget-object v1, v1, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;
.line 62
array-length v2, v1
if-lez v2, :cond_1c
.line 63
const/4 v2, 0x0
aget-object v1, v1, v2
invoke-virtual {v1}, Landroid/content/pm/Signature;->toByteArray()[B
move-result-object v1
.line 64
invoke-static {v1}, Ldxoptimizer/wn;->a([B)Ljava/lang/String;
:try_end_1b
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2 .. :try_end_1b} :catch_1d
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_1b} :catch_28
move-result-object v0
.line 75
:cond_1c
:goto_1c
return-object v0
.line 66
:catch_1d
move-exception v1
.line 67
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_1c
.line 68
const-string v2, "Failed to get signature!"
invoke-static {v2, v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1c
.line 70
:catch_28
move-exception v1
.line 71
sget-boolean v2, Ldxoptimizer/zj;->a:Z
if-eqz v2, :cond_1c
.line 72
const-string v2, "Failed to get signature!"
invoke-static {v2, v1}, Ldxoptimizer/zm;->b(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_1c
.end method