bqm.smali
.class public Ldxoptimizer/bqm;
.super Ljava/lang/Object;
.source "SaveFlowRuleManager.java"
# static fields
.field private static volatile a:Ldxoptimizer/bqm;
# instance fields
.field private b:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 34
const/4 v0, 0x0
sput-object v0, Ldxoptimizer/bqm;->a:Ldxoptimizer/bqm;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 55
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 56
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
.line 57
invoke-direct {p0}, Ldxoptimizer/bqm;->c()V
.line 58
return-void
.end method
.method public static a(Landroid/content/Context;)Ldxoptimizer/bqm;
.registers 3
.prologue
.line 45
sget-object v0, Ldxoptimizer/bqm;->a:Ldxoptimizer/bqm;
if-nez v0, :cond_13
.line 46
const-class v1, Ldxoptimizer/bqm;
monitor-enter v1
.line 47
:try_start_7
sget-object v0, Ldxoptimizer/bqm;->a:Ldxoptimizer/bqm;
if-nez v0, :cond_12
.line 48
new-instance v0, Ldxoptimizer/bqm;
invoke-direct {v0, p0}, Ldxoptimizer/bqm;-><init>(Landroid/content/Context;)V
sput-object v0, Ldxoptimizer/bqm;->a:Ldxoptimizer/bqm;
.line 50
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 52
:cond_13
sget-object v0, Ldxoptimizer/bqm;->a:Ldxoptimizer/bqm;
return-object v0
.line 50
: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 a([C)Ljava/lang/String;
.registers 6
.prologue
.line 190
array-length v1, p1
.line 191
new-array v2, v1, [C
.line 192
const/4 v0, 0x0
:goto_4
if-ge v0, v1, :cond_10
.line 193
aget-char v3, p1, v0
xor-int/lit8 v3, v3, 0x30
int-to-char v3, v3
aput-char v3, v2, v0
.line 192
add-int/lit8 v0, v0, 0x1
goto :goto_4
.line 195
:cond_10
invoke-static {v2}, Ljava/lang/String;->valueOf([C)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private b()Z
.registers 7
.prologue
const/4 v5, 0x2
const/4 v0, 0x1
const/4 v1, 0x0
.line 61
iget-object v2, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v3, "savef_whitel"
const/4 v4, -0x1
invoke-static {v2, v3, v4}, Ldxoptimizer/ccm;->d(Landroid/content/Context;Ljava/lang/String;I)I
move-result v2
.line 63
if-eq v2, v0, :cond_f
.line 73
:cond_e
:goto_e
return v1
.line 66
:cond_f
iget-object v2, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v3, "savef_whitel"
invoke-static {v2, v3, v5}, Ldxoptimizer/ccm;->b(Landroid/content/Context;Ljava/lang/String;I)I
move-result v2
.line 69
if-eqz v2, :cond_e
if-lt v2, v5, :cond_e
.line 72
iget-object v2, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v3, "sf_sw.so"
invoke-virtual {v2, v3}, Landroid/content/Context;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
move-result-object v2
.line 73
if-eqz v2, :cond_2d
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_2d
:goto_2b
move v1, v0
goto :goto_e
:cond_2d
move v0, v1
goto :goto_2b
.end method
.method private c()V
.registers 7
.prologue
const/4 v0, 0x0
.line 77
invoke-direct {p0}, Ldxoptimizer/bqm;->b()Z
move-result v1
if-eqz v1, :cond_8
.line 113
:cond_7
:goto_7
return-void
.line 84
:cond_8
:try_start_8
iget-object v1, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v1
const-string v2, "sf_sw.so"
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_79
.catchall {:try_start_8 .. :try_end_13} :catchall_55
move-result-object v1
.line 85
:try_start_14
iget-object v2, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v3, "sf_sw.so"
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_6d
move-result-object v0
.line 86
const/16 v2, 0x400
:try_start_1f
new-array v2, v2, [B
.line 88
:goto_21
invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I
move-result v3
if-lez v3, :cond_3a
.line 89
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_73
goto :goto_21
.line 95
:catch_2c
move-exception v2
.line 98
:goto_2d
if-eqz v1, :cond_32
.line 100
: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_67
.line 105
:cond_32
:goto_32
if-eqz v0, :cond_7
.line 107
: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 108
:catch_38
move-exception v0
goto :goto_7
.line 91
:cond_3a
:try_start_3a
invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V
.line 92
iget-object v2, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v3, "savef_whitel"
const/4 v4, 0x2
invoke-static {v2, v3, v4}, Ldxoptimizer/ccm;->a(Landroid/content/Context;Ljava/lang/String;I)V
.line 94
invoke-direct {p0}, Ldxoptimizer/bqm;->d()V
:try_end_48
.catch Ljava/io/IOException; {:try_start_3a .. :try_end_48} :catch_2c
.catchall {:try_start_3a .. :try_end_48} :catchall_73
.line 98
if-eqz v1, :cond_4d
.line 100
:try_start_4a
invoke-virtual {v1}, Ljava/io/InputStream;->close()V
:try_end_4d
.catch Ljava/io/IOException; {:try_start_4a .. :try_end_4d} :catch_65
.line 105
:cond_4d
:goto_4d
if-eqz v0, :cond_7
.line 107
:try_start_4f
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
:try_end_52
.catch Ljava/io/IOException; {:try_start_4f .. :try_end_52} :catch_53
goto :goto_7
.line 108
:catch_53
move-exception v0
goto :goto_7
.line 98
:catchall_55
move-exception v1
move-object v2, v0
move-object v5, v0
move-object v0, v1
move-object v1, v5
:goto_5a
if-eqz v2, :cond_5f
.line 100
:try_start_5c
invoke-virtual {v2}, Ljava/io/InputStream;->close()V
:try_end_5f
.catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_69
.line 105
:cond_5f
:goto_5f
if-eqz v1, :cond_64
.line 107
:try_start_61
invoke-virtual {v1}, Ljava/io/OutputStream;->close()V
:try_end_64
.catch Ljava/io/IOException; {:try_start_61 .. :try_end_64} :catch_6b
.line 110
:cond_64
:goto_64
throw v0
.line 101
:catch_65
move-exception v1
goto :goto_4d
:catch_67
move-exception v1
goto :goto_32
:catch_69
move-exception v2
goto :goto_5f
.line 108
:catch_6b
move-exception v1
goto :goto_64
.line 98
:catchall_6d
move-exception v2
move-object v5, v2
move-object v2, v1
move-object v1, v0
move-object v0, v5
goto :goto_5a
:catchall_73
move-exception v2
move-object v5, v2
move-object v2, v1
move-object v1, v0
move-object v0, v5
goto :goto_5a
.line 95
:catch_79
move-exception v1
move-object v1, v0
goto :goto_2d
.end method
.method private d()V
.registers 4
.prologue
.line 130
invoke-virtual {p0}, Ldxoptimizer/bqm;->a()Ljava/util/HashSet;
move-result-object v0
.line 131
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 132
invoke-virtual {v0}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_d
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1d
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 133
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_d
.line 136
:cond_1d
iget-object v0, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
invoke-static {v0}, Ldxoptimizer/bqj;->a(Landroid/content/Context;)Ldxoptimizer/bqj;
move-result-object v0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ldxoptimizer/bqj;->a(Ljava/util/ArrayList;Z)Z
.line 144
return-void
.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 152
new-instance v3, Ljava/util/HashSet;
invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
.line 153
const/4 v2, 0x0
.line 155
: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/bqm;->b:Landroid/content/Context;
const-string v6, "sf_sw.so"
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/StreamCorruptedException; {:try_start_6 .. :try_end_1d} :catch_7e
.catch Ljava/io/FileNotFoundException; {:try_start_6 .. :try_end_1d} :catch_52
.catch Ljava/io/IOException; {:try_start_6 .. :try_end_1d} :catch_5e
.catchall {:try_start_6 .. :try_end_1d} :catchall_6a
.line 156
:try_start_1d
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->readInt()I
.line 158
:cond_20
:goto_20
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->available()I
move-result v0
if-lez v0, :cond_4a
.line 159
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->readUTF()Ljava/lang/String;
move-result-object v0
.line 160
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
invoke-direct {p0, v0}, Ldxoptimizer/bqm;->a([C)Ljava/lang/String;
move-result-object v0
.line 161
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
.line 162
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_20
.line 163
invoke-virtual {v3, v0}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
:try_end_3f
.catch Ljava/io/StreamCorruptedException; {:try_start_1d .. :try_end_3f} :catch_40
.catch Ljava/io/FileNotFoundException; {:try_start_1d .. :try_end_3f} :catch_7b
.catch Ljava/io/IOException; {:try_start_1d .. :try_end_3f} :catch_78
.catchall {:try_start_1d .. :try_end_3f} :catchall_75
goto :goto_20
.line 165
:catch_40
move-exception v0
.line 166
:goto_41
:try_start_41
invoke-virtual {v0}, Ljava/io/StreamCorruptedException;->printStackTrace()V
:try_end_44
.catchall {:try_start_41 .. :try_end_44} :catchall_75
.line 172
if-eqz v1, :cond_49
.line 174
:try_start_46
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_49
.catch Ljava/io/IOException; {:try_start_46 .. :try_end_49} :catch_71
.line 186
:cond_49
:goto_49
return-object v3
.line 172
:cond_4a
if-eqz v1, :cond_49
.line 174
:try_start_4c
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_4f
.catch Ljava/io/IOException; {:try_start_4c .. :try_end_4f} :catch_50
goto :goto_49
.line 175
:catch_50
move-exception v0
goto :goto_49
.line 167
:catch_52
move-exception v0
.line 168
:goto_53
:try_start_53
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V
:try_end_56
.catchall {:try_start_53 .. :try_end_56} :catchall_6a
.line 172
if-eqz v2, :cond_49
.line 174
:try_start_58
invoke-virtual {v2}, Ljava/io/ObjectInputStream;->close()V
:try_end_5b
.catch Ljava/io/IOException; {:try_start_58 .. :try_end_5b} :catch_5c
goto :goto_49
.line 175
:catch_5c
move-exception v0
goto :goto_49
.line 169
:catch_5e
move-exception v0
.line 170
:goto_5f
:try_start_5f
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_62
.catchall {:try_start_5f .. :try_end_62} :catchall_6a
.line 172
if-eqz v2, :cond_49
.line 174
: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_68
goto :goto_49
.line 175
:catch_68
move-exception v0
goto :goto_49
.line 172
:catchall_6a
move-exception v0
:goto_6b
if-eqz v2, :cond_70
.line 174
:try_start_6d
invoke-virtual {v2}, Ljava/io/ObjectInputStream;->close()V
:try_end_70
.catch Ljava/io/IOException; {:try_start_6d .. :try_end_70} :catch_73
.line 176
:cond_70
:goto_70
throw v0
.line 175
:catch_71
move-exception v0
goto :goto_49
:catch_73
move-exception v1
goto :goto_70
.line 172
:catchall_75
move-exception v0
move-object v2, v1
goto :goto_6b
.line 169
:catch_78
move-exception v0
move-object v2, v1
goto :goto_5f
.line 167
:catch_7b
move-exception v0
move-object v2, v1
goto :goto_53
.line 165
:catch_7e
move-exception v0
move-object v1, v2
goto :goto_41
.end method
.method public a(Ljava/io/File;)Z
.registers 4
.prologue
.line 121
iget-object v0, p0, Ldxoptimizer/bqm;->b:Landroid/content/Context;
const-string v1, "sf_sw.so"
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
.line 122
if-eqz v0, :cond_11
.line 123
invoke-direct {p0}, Ldxoptimizer/bqm;->d()V
.line 125
:cond_11
return v0
.end method