ahv.smali
.class public Ldxoptimizer/ahv;
.super Ljava/lang/Object;
.source "AntiSpamAchieveInfoManagerImpl.java"
# interfaces
.implements Ldxoptimizer/ahf;
# static fields
.field private static a:Z
.field private static b:Ldxoptimizer/ahv;
.field private static c:Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
# instance fields
.field private d:Landroid/content/Context;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 27
const/4 v0, 0x0
sput-boolean v0, Ldxoptimizer/ahv;->a:Z
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 2
.prologue
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 34
iput-object p1, p0, Ldxoptimizer/ahv;->d:Landroid/content/Context;
.line 35
return-void
.end method
.method public static declared-synchronized a(Landroid/content/Context;)Ldxoptimizer/ahv;
.registers 4
.prologue
.line 38
const-class v1, Ldxoptimizer/ahv;
monitor-enter v1
:try_start_3
sget-object v0, Ldxoptimizer/ahv;->b:Ldxoptimizer/ahv;
if-nez v0, :cond_12
.line 39
new-instance v0, Ldxoptimizer/ahv;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v0, v2}, Ldxoptimizer/ahv;-><init>(Landroid/content/Context;)V
sput-object v0, Ldxoptimizer/ahv;->b:Ldxoptimizer/ahv;
.line 41
:cond_12
sget-object v0, Ldxoptimizer/ahv;->b:Ldxoptimizer/ahv;
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_16
monitor-exit v1
return-object v0
.line 38
:catchall_16
move-exception v0
monitor-exit v1
throw v0
.end method
.method private b()Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
.registers 6
.prologue
const/4 v2, 0x0
.line 91
new-instance v0, Ljava/io/File;
iget-object v1, p0, Ldxoptimizer/ahv;->d:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v1
const-string v3, "achieve_info"
invoke-direct {v0, v1, v3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 93
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_5b
.line 97
:try_start_14
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, v0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
.line 98
new-instance v1, Ljava/io/ObjectInputStream;
invoke-direct {v1, v3}, Ljava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_1e} :catch_31
.catchall {:try_start_14 .. :try_end_1e} :catchall_4b
.line 99
:try_start_1e
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
:try_end_24
.catch Ljava/lang/Exception; {:try_start_1e .. :try_end_24} :catch_59
.catchall {:try_start_1e .. :try_end_24} :catchall_57
.line 106
if-eqz v1, :cond_29
.line 108
:try_start_26
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_29
.catch Ljava/io/IOException; {:try_start_26 .. :try_end_29} :catch_53
.line 114
:cond_29
:goto_29
if-nez v0, :cond_30
.line 115
new-instance v0, Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
invoke-direct {v0}, Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;-><init>()V
.line 117
:cond_30
return-object v0
.line 100
:catch_31
move-exception v0
move-object v1, v2
.line 101
:goto_33
:try_start_33
sget-boolean v3, Ldxoptimizer/ahv;->a:Z
if-eqz v3, :cond_41
.line 102
const-string v3, "AntiSpamAchiveInfoMgr"
const-string v4, "achieveinfo revert failed"
invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 103
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_41
.catchall {:try_start_33 .. :try_end_41} :catchall_57
.line 106
:cond_41
if-eqz v1, :cond_5b
.line 108
:try_start_43
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_46
.catch Ljava/io/IOException; {:try_start_43 .. :try_end_46} :catch_48
move-object v0, v2
.line 110
goto :goto_29
.line 109
:catch_48
move-exception v0
move-object v0, v2
.line 110
goto :goto_29
.line 106
:catchall_4b
move-exception v0
move-object v1, v2
:goto_4d
if-eqz v1, :cond_52
.line 108
:try_start_4f
invoke-virtual {v1}, Ljava/io/ObjectInputStream;->close()V
:try_end_52
.catch Ljava/io/IOException; {:try_start_4f .. :try_end_52} :catch_55
.line 110
:cond_52
:goto_52
throw v0
.line 109
:catch_53
move-exception v1
goto :goto_29
:catch_55
move-exception v1
goto :goto_52
.line 106
:catchall_57
move-exception v0
goto :goto_4d
.line 100
:catch_59
move-exception v0
goto :goto_33
:cond_5b
move-object v0, v2
goto :goto_29
.end method
.method private b(Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;)V
.registers 6
.prologue
.line 121
new-instance v0, Ljava/io/File;
iget-object v1, p0, Ldxoptimizer/ahv;->d:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v1
const-string v2, "achieve_info"
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 123
const/4 v2, 0x0
.line 125
:try_start_e
new-instance v3, Ljava/io/FileOutputStream;
invoke-direct {v3, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 126
new-instance v1, Ljava/io/ObjectOutputStream;
invoke-direct {v1, v3}, Ljava/io/ObjectOutputStream;-><init>(Ljava/io/OutputStream;)V
:try_end_18
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_18} :catch_24
.catchall {:try_start_e .. :try_end_18} :catchall_3c
.line 127
:try_start_18
invoke-virtual {v1, p1}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
.line 128
invoke-virtual {v1}, Ljava/io/ObjectOutputStream;->flush()V
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_1e} :catch_4a
.catchall {:try_start_18 .. :try_end_1e} :catchall_48
.line 136
if-eqz v1, :cond_23
.line 137
:try_start_20
invoke-virtual {v1}, Ljava/io/ObjectOutputStream;->close()V
:try_end_23
.catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_44
.line 142
:cond_23
:goto_23
return-void
.line 129
:catch_24
move-exception v0
move-object v1, v2
.line 130
:goto_26
:try_start_26
sget-boolean v2, Ldxoptimizer/ahv;->a:Z
if-eqz v2, :cond_34
.line 131
const-string v2, "AntiSpamAchiveInfoMgr"
const-string v3, "achieveinfo persistence failed"
invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 132
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_34
.catchall {:try_start_26 .. :try_end_34} :catchall_48
.line 136
:cond_34
if-eqz v1, :cond_23
.line 137
:try_start_36
invoke-virtual {v1}, Ljava/io/ObjectOutputStream;->close()V
:try_end_39
.catch Ljava/io/IOException; {:try_start_36 .. :try_end_39} :catch_3a
goto :goto_23
.line 139
:catch_3a
move-exception v0
goto :goto_23
.line 135
:catchall_3c
move-exception v0
move-object v1, v2
.line 136
:goto_3e
if-eqz v1, :cond_43
.line 137
:try_start_40
invoke-virtual {v1}, Ljava/io/ObjectOutputStream;->close()V
:try_end_43
.catch Ljava/io/IOException; {:try_start_40 .. :try_end_43} :catch_46
.line 140
:cond_43
:goto_43
throw v0
.line 139
:catch_44
move-exception v0
goto :goto_23
:catch_46
move-exception v1
goto :goto_43
.line 135
:catchall_48
move-exception v0
goto :goto_3e
.line 129
:catch_4a
move-exception v0
goto :goto_26
.end method
# virtual methods
.method public a()Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
.registers 2
.prologue
.line 71
sget-object v0, Ldxoptimizer/ahv;->c:Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
if-nez v0, :cond_a
.line 72
invoke-direct {p0}, Ldxoptimizer/ahv;->b()Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
move-result-object v0
sput-object v0, Ldxoptimizer/ahv;->c:Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
.line 74
:cond_a
sget-object v0, Ldxoptimizer/ahv;->c:Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
return-object v0
.end method
.method public a(Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;)V
.registers 2
.prologue
.line 82
invoke-direct {p0, p1}, Ldxoptimizer/ahv;->b(Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;)V
.line 83
sput-object p1, Ldxoptimizer/ahv;->c:Lcom/dianxinos/optimizer/engine/antispam/model/AchieveInfo;
.line 84
return-void
.end method