i.smali
.class public final Lcom/huawei/hms/c/i;
.super Ljava/lang/Object;
.source "SHA256.java"
# direct methods
.method public static a(Ljava/io/File;)[B
.registers 9
.prologue
const/4 v2, 0x0
.line 60
const/4 v0, 0x0
.line 62
:try_start_2
const-string v1, "SHA-256"
:try_end_4
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_2 .. :try_end_4} :catch_4c
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_4} :catch_4e
.catchall {:try_start_2 .. :try_end_4} :catchall_42
:try_start_4
invoke-static {v1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
:try_end_7
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_4 .. :try_end_7} :catch_4c
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_7} :catch_50
.catchall {:try_start_4 .. :try_end_7} :catchall_42
move-result-object v3
.line 65
:try_start_8
new-instance v1, Ljava/io/BufferedInputStream;
:try_end_a
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_8 .. :try_end_a} :catch_4c
.catch Ljava/io/IOException; {:try_start_8 .. :try_end_a} :catch_52
.catchall {:try_start_8 .. :try_end_a} :catchall_42
:try_start_a
new-instance v4, Ljava/io/FileInputStream;
:try_end_c
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_a .. :try_end_c} :catch_4c
.catch Ljava/io/IOException; {:try_start_a .. :try_end_c} :catch_54
.catchall {:try_start_a .. :try_end_c} :catchall_42
:try_start_c
invoke-direct {v4, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
:try_end_f
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_c .. :try_end_f} :catch_4c
.catch Ljava/io/IOException; {:try_start_c .. :try_end_f} :catch_56
.catchall {:try_start_c .. :try_end_f} :catchall_42
:try_start_f
invoke-direct {v1, v4}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_12
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_f .. :try_end_12} :catch_4c
.catch Ljava/io/IOException; {:try_start_f .. :try_end_12} :catch_58
.catchall {:try_start_f .. :try_end_12} :catchall_42
.line 67
const/16 v0, 0x1000
:try_start_14
new-array v4, v0, [B
:try_end_16
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_14 .. :try_end_16} :catch_24
.catch Ljava/io/IOException; {:try_start_14 .. :try_end_16} :catch_5a
.catchall {:try_start_14 .. :try_end_16} :catchall_4a
move v0, v2
.line 71
:goto_17
:try_start_17
invoke-virtual {v1, v4}, Ljava/io/InputStream;->read([B)I
:try_end_1a
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_17 .. :try_end_1a} :catch_24
.catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_5d
.catchall {:try_start_17 .. :try_end_1a} :catchall_4a
move-result v5
const/4 v6, -0x1
if-eq v5, v6, :cond_34
.line 72
add-int/2addr v0, v5
.line 73
const/4 v6, 0x0
:try_start_20
invoke-virtual {v3, v4, v6, v5}, Ljava/security/MessageDigest;->update([BII)V
:try_end_23
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_20 .. :try_end_23} :catch_24
.catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_60
.catchall {:try_start_20 .. :try_end_23} :catchall_4a
goto :goto_17
.line 80
:catch_24
move-exception v0
move-object v0, v1
:goto_26
move-object v1, v0
.line 81
:try_start_27
const-string v0, "SHA256"
const-string v3, "An exception occurred while computing file \'SHA-256\'."
invoke-static {v0, v3}, Lcom/huawei/hms/support/log/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_2e
.catchall {:try_start_27 .. :try_end_2e} :catchall_4a
.line 83
invoke-static {v1}, Lcom/huawei/hms/c/e;->a(Ljava/io/InputStream;)V
.line 86
:goto_31
new-array v0, v2, [B
:goto_33
return-object v0
.line 76
:cond_34
if-lez v0, :cond_3e
.line 77
:try_start_36
invoke-virtual {v3}, Ljava/security/MessageDigest;->digest()[B
:try_end_39
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_36 .. :try_end_39} :catch_24
.catch Ljava/io/IOException; {:try_start_36 .. :try_end_39} :catch_63
.catchall {:try_start_36 .. :try_end_39} :catchall_4a
move-result-object v0
.line 83
invoke-static {v1}, Lcom/huawei/hms/c/e;->a(Ljava/io/InputStream;)V
goto :goto_33
:cond_3e
invoke-static {v1}, Lcom/huawei/hms/c/e;->a(Ljava/io/InputStream;)V
goto :goto_31
:catchall_42
move-exception v1
move-object v7, v1
move-object v1, v0
move-object v0, v7
:goto_46
invoke-static {v1}, Lcom/huawei/hms/c/e;->a(Ljava/io/InputStream;)V
throw v0
:catchall_4a
move-exception v0
goto :goto_46
.line 80
:catch_4c
move-exception v1
goto :goto_26
:catch_4e
move-exception v1
goto :goto_26
:catch_50
move-exception v1
goto :goto_26
:catch_52
move-exception v1
goto :goto_26
:catch_54
move-exception v1
goto :goto_26
:catch_56
move-exception v1
goto :goto_26
:catch_58
move-exception v1
goto :goto_26
:catch_5a
move-exception v0
move-object v0, v1
goto :goto_26
:catch_5d
move-exception v0
move-object v0, v1
goto :goto_26
:catch_60
move-exception v0
move-object v0, v1
goto :goto_26
:catch_63
move-exception v0
move-object v0, v1
goto :goto_26
.end method
.method public static a([B)[B
.registers 5
.prologue
.line 45
:try_start_0
const-string v0, "SHA-256"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
.line 46
invoke-virtual {v0, p0}, Ljava/security/MessageDigest;->digest([B)[B
:try_end_9
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_9} :catch_b
move-result-object v0
.line 50
:goto_a
return-object v0
.line 47
:catch_b
move-exception v0
.line 48
const-string v1, "SHA256"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "NoSuchAlgorithmException"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/security/NoSuchAlgorithmException;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, 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 {v1, v0}, Lcom/huawei/hms/support/log/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 50
const/4 v0, 0x0
new-array v0, v0, [B
goto :goto_a
.end method