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