b.smali

.class public Lcom/cmcm/xiaobao/phone/common/c/b;
.super Ljava/lang/Object;


# static fields
.field public static a:Ljava/lang/String;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const-string/jumbo v0, ""

    sput-object v0, Lcom/cmcm/xiaobao/phone/common/c/b;->a:Ljava/lang/String;

    return-void
.end method

.method public static a(Ljava/io/File;)Z
    .registers 8

    const/4 v0, 0x1

    const/4 v1, 0x0

    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v3, 0xe

    if-ge v2, v3, :cond_9

    :cond_8
    :goto_8
    return v0

    :cond_9
    if-eqz p0, :cond_11

    invoke-virtual {p0}, Ljava/io/File;->exists()Z

    move-result v2

    if-nez v2, :cond_13

    :cond_11
    move v0, v1

    goto :goto_8

    :cond_13
    invoke-static {}, Lcom/cmcm/xiaobao/phone/OrionApplication;->getAppContext()Landroid/content/Context;

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v2

    :try_start_1b
    invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v3

    const/16 v4, 0x40

    invoke-virtual {v2, v3, v4}, Landroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
    :try_end_24
    .catch Ljava/lang/Exception; {:try_start_1b .. :try_end_24} :catch_2d

    move-result-object v2

    if-eqz v2, :cond_2b

    iget-object v2, v2, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature;

    if-nez v2, :cond_30

    :cond_2b
    move v0, v1

    goto :goto_8

    :catch_2d
    move-exception v0

    move v0, v1

    goto :goto_8

    :cond_30
    :try_start_30
    new-instance v2, Ljava/io/FileInputStream;

    invoke-direct {v2, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V

    new-instance v3, Ljava/io/ByteArrayOutputStream;

    invoke-virtual {p0}, Ljava/io/File;->length()J

    move-result-wide v4

    long-to-int v4, v4

    invoke-direct {v3, v4}, Ljava/io/ByteArrayOutputStream;-><init>(I)V

    const/16 v4, 0x400

    new-array v4, v4, [B

    :goto_43
    invoke-virtual {v2, v4}, Ljava/io/FileInputStream;->read([B)I

    move-result v5

    const/4 v6, -0x1

    if-eq v5, v6, :cond_55

    const/4 v6, 0x0

    invoke-virtual {v3, v4, v6, v5}, Ljava/io/ByteArrayOutputStream;->write([BII)V
    :try_end_4e
    .catch Ljava/io/FileNotFoundException; {:try_start_30 .. :try_end_4e} :catch_4f
    .catch Ljava/io/IOException; {:try_start_30 .. :try_end_4e} :catch_6d

    goto :goto_43

    :catch_4f
    move-exception v0

    invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V

    move v0, v1

    goto :goto_8

    :cond_55
    :try_start_55
    invoke-virtual {v3}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v4

    invoke-static {v4}, Lcom/sdk/orion/utils/Md5Util;->getByteArrayMD5([B)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2}, Ljava/io/FileInputStream;->close()V

    invoke-virtual {v3}, Ljava/io/ByteArrayOutputStream;->close()V

    sget-object v2, Lcom/cmcm/xiaobao/phone/common/c/b;->a:Ljava/lang/String;

    invoke-virtual {v2, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
    :try_end_68
    .catch Ljava/io/FileNotFoundException; {:try_start_55 .. :try_end_68} :catch_4f
    .catch Ljava/io/IOException; {:try_start_55 .. :try_end_68} :catch_6d

    move-result v2

    if-nez v2, :cond_8

    move v0, v1

    goto :goto_8

    :catch_6d
    move-exception v0

    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    move v0, v1

    goto :goto_8
.end method