NL.smali
.class public Lcom/umeng/analytics/pro/NL;
.super Ljava/lang/Object;
.source "DatabaseManager.java"
# static fields
.field private static C:Lcom/umeng/analytics/pro/NL;
.field private static D:Landroid/database/sqlite/SQLiteOpenHelper;
# instance fields
.field private A:Ljava/util/concurrent/atomic/AtomicInteger;
.field private B:Ljava/util/concurrent/atomic/AtomicInteger;
.field private E:Landroid/database/sqlite/SQLiteDatabase;
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 17
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lcom/umeng/analytics/pro/NL;->A:Ljava/util/concurrent/atomic/AtomicInteger;
.line 18
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
iput-object v0, p0, Lcom/umeng/analytics/pro/NL;->B:Ljava/util/concurrent/atomic/AtomicInteger;
return-void
.end method
.method public static declared-synchronized A(Landroid/content/Context;)Lcom/umeng/analytics/pro/NL;
.registers 3
.prologue
.line 32
const-class v1, Lcom/umeng/analytics/pro/NL;
monitor-enter v1
:try_start_3
sget-object v0, Lcom/umeng/analytics/pro/NL;->C:Lcom/umeng/analytics/pro/NL;
if-nez v0, :cond_a
.line 33
invoke-static {p0}, Lcom/umeng/analytics/pro/NL;->B(Landroid/content/Context;)V
.line 35
:cond_a
sget-object v0, Lcom/umeng/analytics/pro/NL;->C:Lcom/umeng/analytics/pro/NL;
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_e
monitor-exit v1
return-object v0
.line 32
:catchall_e
move-exception v0
monitor-exit v1
throw v0
.end method
.method private static declared-synchronized B(Landroid/content/Context;)V
.registers 3
.prologue
.line 25
const-class v1, Lcom/umeng/analytics/pro/NL;
monitor-enter v1
:try_start_3
sget-object v0, Lcom/umeng/analytics/pro/NL;->C:Lcom/umeng/analytics/pro/NL;
if-nez v0, :cond_14
.line 26
new-instance v0, Lcom/umeng/analytics/pro/NL;
invoke-direct {v0}, Lcom/umeng/analytics/pro/NL;-><init>()V
sput-object v0, Lcom/umeng/analytics/pro/NL;->C:Lcom/umeng/analytics/pro/NL;
.line 27
invoke-static {p0}, Lcom/umeng/analytics/pro/c;->A(Landroid/content/Context;)Lcom/umeng/analytics/pro/c;
move-result-object v0
sput-object v0, Lcom/umeng/analytics/pro/NL;->D:Landroid/database/sqlite/SQLiteOpenHelper;
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_16
.line 29
:cond_14
monitor-exit v1
return-void
.line 25
:catchall_16
move-exception v0
monitor-exit v1
throw v0
.end method
# virtual methods
.method public declared-synchronized A()Landroid/database/sqlite/SQLiteDatabase;
.registers 3
.prologue
.line 39
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->A:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_12
.line 41
sget-object v0, Lcom/umeng/analytics/pro/NL;->D:Landroid/database/sqlite/SQLiteOpenHelper;
invoke-virtual {v0}, Landroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
iput-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
.line 43
:cond_12
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_16
monitor-exit p0
return-object v0
.line 39
:catchall_16
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized B()Landroid/database/sqlite/SQLiteDatabase;
.registers 3
.prologue
.line 47
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->A:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_12
.line 49
sget-object v0, Lcom/umeng/analytics/pro/NL;->D:Landroid/database/sqlite/SQLiteOpenHelper;
invoke-virtual {v0}, Landroid/database/sqlite/SQLiteOpenHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
iput-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
.line 51
:cond_12
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
:try_end_14
.catchall {:try_start_1 .. :try_end_14} :catchall_16
monitor-exit p0
return-object v0
.line 47
:catchall_16
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized C()V
.registers 2
.prologue
.line 55
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->A:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_e
.line 57
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
.line 59
:cond_e
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->B:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v0
if-nez v0, :cond_1b
.line 60
iget-object v0, p0, Lcom/umeng/analytics/pro/NL;->E:Landroid/database/sqlite/SQLiteDatabase;
invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
:try_end_1b
.catchall {:try_start_1 .. :try_end_1b} :catchall_1d
.line 62
:cond_1b
monitor-exit p0
return-void
.line 55
:catchall_1d
move-exception v0
monitor-exit p0
throw v0
.end method