bgv.smali
.class public Ldxoptimizer/bgv;
.super Ljava/lang/Object;
.source "NetFlowWhiteListManager.java"
# static fields
.field private static volatile a:Ldxoptimizer/bgv;
# instance fields
.field private b:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 30
const/4 v0, 0x0
sput-object v0, Ldxoptimizer/bgv;->a:Ldxoptimizer/bgv;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 40
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
.line 42
invoke-direct {p0}, Ldxoptimizer/bgv;->c()V
.line 43
return-void
.end method
.method public static a(Landroid/content/Context;)Ldxoptimizer/bgv;
.registers 3
.prologue
.line 46
sget-object v0, Ldxoptimizer/bgv;->a:Ldxoptimizer/bgv;
if-nez v0, :cond_13
.line 47
const-class v1, Ldxoptimizer/bgv;
monitor-enter v1
.line 48
:try_start_7
sget-object v0, Ldxoptimizer/bgv;->a:Ldxoptimizer/bgv;
if-nez v0, :cond_12
.line 49
new-instance v0, Ldxoptimizer/bgv;
invoke-direct {v0, p0}, Ldxoptimizer/bgv;-><init>(Landroid/content/Context;)V
sput-object v0, Ldxoptimizer/bgv;->a:Ldxoptimizer/bgv;
.line 51
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 53
:cond_13
sget-object v0, Ldxoptimizer/bgv;->a:Ldxoptimizer/bgv;
return-object v0
.line 51
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method private b()Z
.registers 6
.prologue
const/16 v4, 0x10
const/4 v0, 0x0
.line 57
iget-object v1, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v2, "net_flow"
const/4 v3, -0x1
invoke-static {v1, v2, v3}, Ldxoptimizer/ccm;->d(Landroid/content/Context;Ljava/lang/String;I)I
move-result v1
.line 59
const/4 v2, 0x2
if-eq v1, v2, :cond_10
.line 68
:cond_f
:goto_f
return v0
.line 62
:cond_10
iget-object v1, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v2, "net_flow"
invoke-static {v1, v2, v4}, Ldxoptimizer/ccm;->b(Landroid/content/Context;Ljava/lang/String;I)I
move-result v1
.line 64
if-eqz v1, :cond_f
if-lt v1, v4, :cond_f
.line 67
iget-object v0, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v1, "netflow_manager_white_list.db"
invoke-virtual {v0, v1}, Landroid/content/Context;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
.line 68
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
goto :goto_f
.end method
.method private c()V
.registers 7
.prologue
const/4 v0, 0x0
.line 72
invoke-direct {p0}, Ldxoptimizer/bgv;->b()Z
move-result v1
if-eqz v1, :cond_8
.line 108
:cond_7
:goto_7
return-void
.line 79
:cond_8
:try_start_8
iget-object v1, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v1
const-string v2, "netflow_manager_white_list.db"
invoke-virtual {v1, v2}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
:try_end_13
.catch Ljava/io/IOException; {:try_start_8 .. :try_end_13} :catch_7f
.catchall {:try_start_8 .. :try_end_13} :catchall_5b
move-result-object v1
.line 80
:try_start_14
iget-object v2, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v3, "netflow_manager_white_list.db"
const/4 v4, 0x0
invoke-virtual {v2, v3, v4}, Landroid/content/Context;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
:try_end_1c
.catch Ljava/io/IOException; {:try_start_14 .. :try_end_1c} :catch_2c
.catchall {:try_start_14 .. :try_end_1c} :catchall_73
move-result-object v0
.line 81
const/16 v2, 0x400
:try_start_1f
new-array v2, v2, [B
.line 83
:goto_21
invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I
move-result v3
if-lez v3, :cond_3a
.line 84
const/4 v4, 0x0
invoke-virtual {v0, v2, v4, v3}, Ljava/io/OutputStream;->write([BII)V
:try_end_2b
.catch Ljava/io/IOException; {:try_start_1f .. :try_end_2b} :catch_2c
.catchall {:try_start_1f .. :try_end_2b} :catchall_79
goto :goto_21
.line 90
:catch_2c
move-exception v2
.line 93
:goto_2d
if-eqz v1, :cond_32
.line 95
:try_start_2f
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:try_end_32
.catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_6d
.line 100
:cond_32
:goto_32
if-eqz v0, :cond_7
.line 102
:try_start_34
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_37
.catch Ljava/io/IOException; {:try_start_34 .. :try_end_37} :catch_38
goto :goto_7
.line 103
:catch_38
move-exception v0
goto :goto_7
.line 86
:cond_3a
:try_start_3a
invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V
.line 87
iget-object v2, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v3, "net_flow"
const/4 v4, 0x2
invoke-static {v2, v3, v4}, Ldxoptimizer/ccm;->c(Landroid/content/Context;Ljava/lang/String;I)V
.line 89
iget-object v2, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v3, "net_flow"
const/16 v4, 0x10
invoke-static {v2, v3, v4}, Ldxoptimizer/ccm;->a(Landroid/content/Context;Ljava/lang/String;I)V
:try_end_4e
.catch Ljava/io/IOException; {:try_start_3a .. :try_end_4e} :catch_2c
.catchall {:try_start_3a .. :try_end_4e} :catchall_79
.line 93
if-eqz v1, :cond_53
.line 95
:try_start_50
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:try_end_53
.catch Ljava/io/IOException; {:try_start_50 .. :try_end_53} :catch_6b
.line 100
:cond_53
:goto_53
if-eqz v0, :cond_7
.line 102
:try_start_55
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_58
.catch Ljava/io/IOException; {:try_start_55 .. :try_end_58} :catch_59
goto :goto_7
.line 103
:catch_59
move-exception v0
goto :goto_7
.line 93
:catchall_5b
move-exception v1
move-object v2, v0
move-object v5, v0
move-object v0, v1
move-object v1, v5
:goto_60
if-eqz v2, :cond_65
.line 95
:try_start_62
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_65
.catch Ljava/io/IOException; {:try_start_62 .. :try_end_65} :catch_6f
.line 100
:cond_65
:goto_65
if-eqz v1, :cond_6a
.line 102
:try_start_67
invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
:try_end_6a
.catch Ljava/io/IOException; {:try_start_67 .. :try_end_6a} :catch_71
.line 105
:cond_6a
:goto_6a
throw v0
.line 96
:catch_6b
move-exception v1
goto :goto_53
:catch_6d
move-exception v1
goto :goto_32
:catch_6f
move-exception v2
goto :goto_65
.line 103
:catch_71
move-exception v1
goto :goto_6a
.line 93
:catchall_73
move-exception v2
move-object v5, v2
move-object v2, v1
move-object v1, v0
move-object v0, v5
goto :goto_60
:catchall_79
move-exception v2
move-object v5, v2
move-object v2, v1
move-object v1, v0
move-object v0, v5
goto :goto_60
.line 90
:catch_7f
move-exception v1
move-object v1, v0
goto :goto_2d
.end method
# virtual methods
.method public a()Ljava/util/HashSet;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
.line 124
new-instance v3, Ljava/util/HashSet;
invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
.line 125
const/4 v2, 0x0
.line 127
:try_start_6
new-instance v1, Ljava/io/ObjectInputStream;
new-instance v0, Ljava/io/BufferedInputStream;
new-instance v4, Ljava/util/zip/GZIPInputStream;
iget-object v5, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v6, "netflow_manager_white_list.db"
invoke-virtual {v5, v6}, Landroid/content/Context;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
move-result-object v5
invoke-direct {v4, v5}, Ljava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
invoke-direct {v0, v4}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
invoke-direct {v1, v0}, Ljava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_1d
.catch Ljava/io/IOException; {:try_start_6 .. :try_end_1d} :catch_75
.catchall {:try_start_6 .. :try_end_1d} :catchall_61
.line 128
:try_start_1d
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->readInt()I
.line 130
:goto_20
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->available()I
move-result v0
if-lez v0, :cond_59
.line 131
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->readUTF()Ljava/lang/String;
move-result-object v0
.line 132
invoke-virtual {v3, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
:try_end_2d
.catch Ljava/io/IOException; {:try_start_1d .. :try_end_2d} :catch_2e
.catchall {:try_start_1d .. :try_end_2d} :catchall_72
goto :goto_20
.line 135
:catch_2e
move-exception v0
.line 139
:goto_2f
:try_start_2f
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_32
.catchall {:try_start_2f .. :try_end_32} :catchall_72
.line 141
if-eqz v1, :cond_37
.line 143
:try_start_34
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_37
.catch Ljava/io/IOException; {:try_start_34 .. :try_end_37} :catch_6e
.line 149
:cond_37
:goto_37
iget-object v0, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
invoke-static {v0}, Ldxoptimizer/bhi;->b(Landroid/content/Context;)Ljava/util/List;
move-result-object v0
.line 150
if-eqz v0, :cond_68
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
if-lez v1, :cond_68
.line 151
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_49
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_68
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 152
invoke-virtual {v3, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
goto :goto_49
.line 141
:cond_59
if-eqz v1, :cond_37
.line 143
:try_start_5b
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_5e
.catch Ljava/io/IOException; {:try_start_5b .. :try_end_5e} :catch_5f
goto :goto_37
.line 144
:catch_5f
move-exception v0
goto :goto_37
.line 141
:catchall_61
move-exception v0
:goto_62
if-eqz v2, :cond_67
.line 143
:try_start_64
invoke-virtual {v2}, Ljava/io/ObjectInputStream;->close()V
:try_end_67
.catch Ljava/io/IOException; {:try_start_64 .. :try_end_67} :catch_70
.line 145
:cond_67
:goto_67
throw v0
.line 155
:cond_68
const-string v0, "com.dianxinos.saveflowtool"
invoke-virtual {v3, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 164
return-object v3
.line 144
:catch_6e
move-exception v0
goto :goto_37
:catch_70
move-exception v1
goto :goto_67
.line 141
:catchall_72
move-exception v0
move-object v2, v1
goto :goto_62
.line 135
:catch_75
move-exception v0
move-object v1, v2
goto :goto_2f
.end method
.method public a(Ljava/io/File;)Z
.registers 4
.prologue
.line 116
iget-object v0, p0, Ldxoptimizer/bgv;->b:Landroid/content/Context;
const-string v1, "netflow_manager_white_list.db"
invoke-virtual {v0, v1}, Landroid/content/Context;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v0
return v0
.end method