AssertUtil.smali
.class public Lcom/cleanmaster/hpsharelib/base/util/debug/AssertUtil;
.super Ljava/lang/Object;
.source "AssertUtil.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static extractDB(Landroid/content/Context;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
.registers 15
.prologue
const-wide/16 v2, 0x0
const/4 v5, 0x0
.line 19
.line 20
new-instance v4, Ljava/io/File;
invoke-direct {v4, p1, p2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 21
invoke-virtual {v4}, Ljava/io/File;->isFile()Z
move-result v0
if-eqz v0, :cond_a7
.line 22
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v0
.line 23
:goto_12
invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v6
.line 25
const/4 v7, 0x0
.line 27
:try_start_17
invoke-virtual {v6, p3}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
:try_end_1a
.catch Ljava/io/IOException; {:try_start_17 .. :try_end_1a} :catch_9b
.catchall {:try_start_17 .. :try_end_1a} :catchall_6b
move-result-object v6
.line 28
:try_start_1b
invoke-virtual {v6}, Ljava/io/InputStream;->available()I
:try_end_1e
.catch Ljava/io/IOException; {:try_start_1b .. :try_end_1e} :catch_9f
.catchall {:try_start_1b .. :try_end_1e} :catchall_95
move-result v8
int-to-long v8, v8
.line 30
cmp-long v10, v0, v2
if-lez v10, :cond_34
cmp-long v0, v0, v8
if-nez v0, :cond_34
.line 44
if-eqz v5, :cond_2d
.line 46
:try_start_2a
invoke-virtual {v7}, Ljava/io/OutputStream;->close()V
:try_end_2d
.catch Ljava/io/IOException; {:try_start_2a .. :try_end_2d} :catch_89
.line 50
:cond_2d
:goto_2d
if-eqz v6, :cond_32
.line 52
:try_start_2f
invoke-virtual {v6}, Ljava/io/InputStream;->close()V
:try_end_32
.catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_8b
:cond_32
:goto_32
move-object v0, v4
.line 62
:cond_33
:goto_33
return-object v0
.line 32
:cond_34
const/16 v0, 0x1000
:try_start_36
new-array v1, v0, [B
.line 33
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_3d
.catch Ljava/io/IOException; {:try_start_36 .. :try_end_3d} :catch_9f
.catchall {:try_start_36 .. :try_end_3d} :catchall_95
.line 35
:goto_3d
:try_start_3d
invoke-virtual {v6, v1}, Ljava/io/InputStream;->read([B)I
:try_end_40
.catch Ljava/io/IOException; {:try_start_3d .. :try_end_40} :catch_57
.catchall {:try_start_3d .. :try_end_40} :catchall_97
move-result v7
.line 36
if-gtz v7, :cond_52
.line 44
if-eqz v0, :cond_48
.line 46
:try_start_45
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_48
.catch Ljava/io/IOException; {:try_start_45 .. :try_end_48} :catch_8d
.line 50
:cond_48
:goto_48
if-eqz v6, :cond_a5
.line 52
:try_start_4a
invoke-virtual {v6}, Ljava/io/InputStream;->close()V
:try_end_4d
.catch Ljava/io/IOException; {:try_start_4a .. :try_end_4d} :catch_65
move-object v0, v4
.line 57
:goto_4e
if-nez v0, :cond_78
move-object v0, v5
.line 58
goto :goto_33
.line 38
:cond_52
const/4 v8, 0x0
:try_start_53
invoke-virtual {v0, v1, v8, v7}, Ljava/io/OutputStream;->write([BII)V
:try_end_56
.catch Ljava/io/IOException; {:try_start_53 .. :try_end_56} :catch_57
.catchall {:try_start_53 .. :try_end_56} :catchall_97
goto :goto_3d
.line 41
:catch_57
move-exception v1
move-object v1, v6
.line 44
:goto_59
if-eqz v0, :cond_5e
.line 46
:try_start_5b
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_5e
.catch Ljava/io/IOException; {:try_start_5b .. :try_end_5e} :catch_8f
.line 50
:cond_5e
:goto_5e
if-eqz v1, :cond_a3
.line 52
:try_start_60
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:try_end_63
.catch Ljava/io/IOException; {:try_start_60 .. :try_end_63} :catch_68
move-object v0, v5
.line 54
goto :goto_4e
.line 53
:catch_65
move-exception v0
move-object v0, v4
.line 54
goto :goto_4e
.line 53
:catch_68
move-exception v0
move-object v0, v5
.line 54
goto :goto_4e
.line 44
:catchall_6b
move-exception v0
move-object v6, v5
:goto_6d
if-eqz v5, :cond_72
.line 46
:try_start_6f
invoke-virtual {v5}, Ljava/io/OutputStream;->close()V
:try_end_72
.catch Ljava/io/IOException; {:try_start_6f .. :try_end_72} :catch_91
.line 50
:cond_72
:goto_72
if-eqz v6, :cond_77
.line 52
:try_start_74
invoke-virtual {v6}, Ljava/io/InputStream;->close()V
:try_end_77
.catch Ljava/io/IOException; {:try_start_74 .. :try_end_77} :catch_93
.line 54
:cond_77
:goto_77
throw v0
.line 59
:cond_78
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v6
.line 60
cmp-long v1, v6, v2
if-lez v1, :cond_87
const-wide/16 v8, 0x8
rem-long/2addr v6, v8
cmp-long v1, v6, v2
if-eqz v1, :cond_33
:cond_87
move-object v0, v5
.line 62
goto :goto_33
.line 47
:catch_89
move-exception v0
goto :goto_2d
.line 53
:catch_8b
move-exception v0
goto :goto_32
.line 47
:catch_8d
move-exception v0
goto :goto_48
:catch_8f
move-exception v0
goto :goto_5e
:catch_91
move-exception v1
goto :goto_72
.line 53
:catch_93
move-exception v1
goto :goto_77
.line 44
:catchall_95
move-exception v0
goto :goto_6d
:catchall_97
move-exception v1
move-object v5, v0
move-object v0, v1
goto :goto_6d
.line 41
:catch_9b
move-exception v0
move-object v0, v5
move-object v1, v5
goto :goto_59
:catch_9f
move-exception v0
move-object v0, v5
move-object v1, v6
goto :goto_59
:cond_a3
move-object v0, v5
goto :goto_4e
:cond_a5
move-object v0, v4
goto :goto_4e
:cond_a7
move-wide v0, v2
goto/16 :goto_12
.end method