ame.smali
.class public Ldxoptimizer/ame;
.super Landroid/database/sqlite/SQLiteOpenHelper;
.source "WhiteListDBOpenHelper.java"
# static fields
.field private static a:Ldxoptimizer/ame;
# instance fields
.field private b:Ljava/util/concurrent/atomic/AtomicInteger;
# direct methods
.method private constructor <init>(Landroid/content/Context;)V
.registers 5
.prologue
.line 46
const-string v0, "apk_white_list.db"
const/4 v1, 0x0
const/4 v2, 0x1
invoke-direct {p0, p1, v0, v1, v2}, Landroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
.line 30
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
iput-object v0, p0, Ldxoptimizer/ame;->b:Ljava/util/concurrent/atomic/AtomicInteger;
.line 47
return-void
.end method
.method public static a(Landroid/content/Context;)Ldxoptimizer/ame;
.registers 3
.prologue
.line 33
sget-object v0, Ldxoptimizer/ame;->a:Ldxoptimizer/ame;
.line 34
if-nez v0, :cond_11
.line 35
const-class v1, Ldxoptimizer/ame;
monitor-enter v1
.line 36
if-nez v0, :cond_10
.line 37
:try_start_9
new-instance v0, Ldxoptimizer/ame;
invoke-direct {v0, p0}, Ldxoptimizer/ame;-><init>(Landroid/content/Context;)V
.line 38
sput-object v0, Ldxoptimizer/ame;->a:Ldxoptimizer/ame;
.line 40
:cond_10
monitor-exit v1
.line 42
:cond_11
return-object v0
.line 40
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_9 .. :try_end_14} :catchall_12
throw v0
.end method
.method public static b()V
.registers 2
.prologue
.line 89
sget-object v0, Ldxoptimizer/ame;->a:Ldxoptimizer/ame;
.line 90
if-eqz v0, :cond_12
iget-object v1, v0, Ldxoptimizer/ame;->b:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v1
if-gtz v1, :cond_12
.line 91
invoke-virtual {v0}, Ldxoptimizer/ame;->close()V
.line 92
const/4 v0, 0x0
sput-object v0, Ldxoptimizer/ame;->a:Ldxoptimizer/ame;
.line 94
:cond_12
return-void
.end method
# virtual methods
.method public a()Ljava/util/HashMap;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
const/4 v10, 0x1
const/4 v9, 0x0
const/4 v3, 0x0
.line 64
new-instance v8, Ljava/util/HashMap;
invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
.line 65
invoke-virtual {p0}, Ldxoptimizer/ame;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
const-string v1, "apkwhitelist"
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/String;
const-string v4, "apk_path"
aput-object v4, v2, v9
const-string v4, "apk_version"
aput-object v4, v2, v10
move-object v4, v3
move-object v5, v3
move-object v6, v3
move-object v7, v3
invoke-virtual/range {v0 .. v7}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v0
.line 66
:goto_21
invoke-interface {v0}, Landroid/database/Cursor;->moveToNext()Z
move-result v1
if-eqz v1, :cond_33
.line 67
invoke-interface {v0, v9}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v1
.line 68
invoke-interface {v0, v10}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
.line 69
invoke-virtual {v8, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_21
.line 71
:cond_33
invoke-interface {v0}, Landroid/database/Cursor;->close()V
.line 72
return-object v8
.end method
.method public a(Ljava/lang/String;Ljava/lang/String;)V
.registers 7
.prologue
.line 76
new-instance v0, Landroid/content/ContentValues;
invoke-direct {v0}, Landroid/content/ContentValues;-><init>()V
.line 77
const-string v1, "apk_path"
invoke-virtual {v0, v1, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 78
const-string v1, "apk_version"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 79
invoke-virtual {p0}, Ldxoptimizer/ame;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v1
const-string v2, "apkwhitelist"
const/4 v3, 0x0
invoke-virtual {v1, v2, v3, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
.line 80
return-void
.end method
.method public b(Ljava/lang/String;Ljava/lang/String;)V
.registers 7
.prologue
.line 83
const-string v0, "apk_path=? and apk_version=?"
.line 84
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/String;
const/4 v2, 0x0
aput-object p1, v1, v2
const/4 v2, 0x1
aput-object p2, v1, v2
.line 85
invoke-virtual {p0}, Ldxoptimizer/ame;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v2
const-string v3, "apkwhitelist"
invoke-virtual {v2, v3, v0, v1}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
.line 86
return-void
.end method
.method public onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
.registers 3
.prologue
.line 54
const-string v0, "CREATE TABLE IF NOT EXISTS apkwhitelist (apk_path TEXT PRIMARY KEY,apk_version TEXT);"
invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
.line 57
return-void
.end method
.method public onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
.registers 4
.prologue
.line 61
return-void
.end method