CICCacheHelper$DatabaseHelper.smali

.class Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;
.super Landroid/database/sqlite/SQLiteOpenHelper;
.source "CICCacheHelper.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "DatabaseHelper"
.end annotation


# static fields
.field private static a:Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 175
    const/4 v0, 0x0

    sput-object v0, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->a:Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 5

    .prologue
    .line 254
    const-string v0, "cic_cache.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 255
    return-void
.end method

.method public static declared-synchronized a(Landroid/content/Context;)Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;
    .registers 3

    .prologue
    .line 178
    const-class v1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;

    monitor-enter v1

    :try_start_3
    sget-object v0, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->a:Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;

    if-nez v0, :cond_e

    .line 179
    new-instance v0, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;

    invoke-direct {v0, p0}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;-><init>(Landroid/content/Context;)V

    sput-object v0, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->a:Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;

    .line 181
    :cond_e
    sget-object v0, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->a:Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_12

    monitor-exit v1

    return-object v0

    .line 178
    :catchall_12
    move-exception v0

    monitor-exit v1

    throw v0
.end method


# virtual methods
.method public a(Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;)Z
    .registers 10

    .prologue
    const/4 v1, 0x1

    const/4 v0, 0x0

    .line 237
    invoke-virtual {p0}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v2

    .line 238
    if-nez v2, :cond_9

    .line 249
    :goto_8
    return v0

    .line 242
    :cond_9
    :try_start_9
    const-string v3, "INSERT INTO result_cache(_id,json_result,mission_id,type) VALUES (?,?,?,?);"

    const/4 v4, 0x4

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    iget-wide v6, p1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mTimeStamp:J

    .line 245
    invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v6

    aput-object v6, v4, v5

    const/4 v5, 0x1

    iget-object v6, p1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mResult:Ljava/lang/String;

    aput-object v6, v4, v5

    const/4 v5, 0x2

    iget-object v6, p1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mMissionId:Ljava/lang/String;

    aput-object v6, v4, v5

    const/4 v5, 0x3

    iget v6, p1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mType:I

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v4, v5

    .line 242
    invoke-virtual {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;[Ljava/lang/Object;)V
    :try_end_2d
    .catch Landroid/database/SQLException; {:try_start_9 .. :try_end_2d} :catch_2f

    move v0, v1

    .line 246
    goto :goto_8

    .line 247
    :catch_2f
    move-exception v1

    .line 248
    invoke-virtual {v1}, Landroid/database/SQLException;->printStackTrace()V

    goto :goto_8
.end method

.method public a(IILjava/util/LinkedList;)[Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;
    .registers 14
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(II",
            "Ljava/util/LinkedList",
            "<",
            "Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;",
            ">;)[",
            "Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;"
        }
    .end annotation

    .prologue
    const/4 v3, 0x0

    const/4 v0, 0x0

    .line 185
    .line 187
    :try_start_2
    invoke-virtual {p0}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
    :try_end_5
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_9

    move-result-object v1

    .line 191
    :goto_6
    if-nez v1, :cond_f

    .line 233
    :cond_8
    :goto_8
    return-object v0

    .line 188
    :catch_9
    move-exception v1

    .line 189
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    move-object v1, v0

    goto :goto_6

    .line 197
    :cond_f
    :try_start_f
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "SELECT _id, json_result, mission_id FROM result_cache WHERE type = "

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v4, " ORDER BY "

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v4, "_id"

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v4, " DESC LIMIT "

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v4, ";"

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/4 v4, 0x0

    invoke-virtual {v1, v2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
    :try_end_42
    .catch Ljava/lang/Throwable; {:try_start_f .. :try_end_42} :catch_c5
    .catchall {:try_start_f .. :try_end_42} :catchall_b5

    move-result-object v2

    .line 201
    if-eqz v2, :cond_a8

    :try_start_45
    invoke-interface {v2}, Landroid/database/Cursor;->getCount()I

    move-result v1

    if-lez v1, :cond_a8

    .line 203
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/datetime/DateTimeUtil;->getUTCTimeInMillis()J

    move-result-wide v4

    const-wide/32 v6, 0x240c8400

    sub-long v6, v4, v6

    .line 204
    new-array v1, v1, [Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;

    .line 206
    :cond_56
    :goto_56
    invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z

    move-result v4

    if-eqz v4, :cond_9b

    .line 207
    new-instance v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;

    invoke-direct {v5}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;-><init>()V

    .line 208
    const/4 v4, 0x0

    invoke-interface {v2, v4}, Landroid/database/Cursor;->getLong(I)J

    move-result-wide v8

    iput-wide v8, v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mTimeStamp:J

    .line 209
    const/4 v4, 0x1

    invoke-interface {v2, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v4

    iput-object v4, v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mResult:Ljava/lang/String;

    .line 210
    const/4 v4, 0x2

    invoke-interface {v2, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v4

    iput-object v4, v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mMissionId:Ljava/lang/String;

    .line 211
    iput p1, v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mType:I

    .line 212
    iget-wide v8, v5, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mTimeStamp:J

    cmp-long v4, v8, v6

    if-gez v4, :cond_95

    .line 213
    if-eqz p3, :cond_56

    .line 214
    invoke-virtual {p3, v5}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
    :try_end_83
    .catch Ljava/lang/Throwable; {:try_start_45 .. :try_end_83} :catch_84
    .catchall {:try_start_45 .. :try_end_83} :catchall_c3

    goto :goto_56

    .line 222
    :catch_84
    move-exception v1

    .line 223
    :goto_85
    :try_start_85
    invoke-virtual {v1}, Ljava/lang/Throwable;->printStackTrace()V
    :try_end_88
    .catchall {:try_start_85 .. :try_end_88} :catchall_c3

    .line 225
    if-eqz v2, :cond_8

    .line 227
    :try_start_8a
    invoke-interface {v2}, Landroid/database/Cursor;->close()V
    :try_end_8d
    .catch Ljava/lang/Exception; {:try_start_8a .. :try_end_8d} :catch_8f

    goto/16 :goto_8

    .line 228
    :catch_8f
    move-exception v1

    .line 229
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    goto/16 :goto_8

    .line 218
    :cond_95
    add-int/lit8 v4, v3, 0x1

    :try_start_97
    aput-object v5, v1, v3
    :try_end_99
    .catch Ljava/lang/Throwable; {:try_start_97 .. :try_end_99} :catch_84
    .catchall {:try_start_97 .. :try_end_99} :catchall_c3

    move v3, v4

    .line 219
    goto :goto_56

    .line 225
    :cond_9b
    if-eqz v2, :cond_a0

    .line 227
    :try_start_9d
    invoke-interface {v2}, Landroid/database/Cursor;->close()V
    :try_end_a0
    .catch Ljava/lang/Exception; {:try_start_9d .. :try_end_a0} :catch_a3

    :cond_a0
    :goto_a0
    move-object v0, v1

    .line 220
    goto/16 :goto_8

    .line 228
    :catch_a3
    move-exception v0

    .line 229
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_a0

    .line 225
    :cond_a8
    if-eqz v2, :cond_8

    .line 227
    :try_start_aa
    invoke-interface {v2}, Landroid/database/Cursor;->close()V
    :try_end_ad
    .catch Ljava/lang/Exception; {:try_start_aa .. :try_end_ad} :catch_af

    goto/16 :goto_8

    .line 228
    :catch_af
    move-exception v1

    .line 229
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    goto/16 :goto_8

    .line 225
    :catchall_b5
    move-exception v1

    move-object v2, v0

    move-object v0, v1

    :goto_b8
    if-eqz v2, :cond_bd

    .line 227
    :try_start_ba
    invoke-interface {v2}, Landroid/database/Cursor;->close()V
    :try_end_bd
    .catch Ljava/lang/Exception; {:try_start_ba .. :try_end_bd} :catch_be

    .line 230
    :cond_bd
    :goto_bd
    throw v0

    .line 228
    :catch_be
    move-exception v1

    .line 229
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_bd

    .line 225
    :catchall_c3
    move-exception v0

    goto :goto_b8

    .line 222
    :catch_c5
    move-exception v1

    move-object v2, v0

    goto :goto_85
.end method

.method public b(Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;)V
    .registers 6

    .prologue
    .line 275
    if-nez p1, :cond_3

    .line 290
    :cond_2
    :goto_2
    return-void

    .line 279
    :cond_3
    invoke-virtual {p0}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v0

    .line 280
    if-eqz v0, :cond_2

    .line 284
    :try_start_9
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "DELETE FROM result_cache WHERE _id = "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-wide v2, p1, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$CICCache;->mTimeStamp:J

    invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
    :try_end_21
    .catch Landroid/database/sqlite/SQLiteException; {:try_start_9 .. :try_end_21} :catch_22

    goto :goto_2

    .line 286
    :catch_22
    move-exception v0

    .line 287
    invoke-virtual {v0}, Landroid/database/sqlite/SQLiteException;->printStackTrace()V

    goto :goto_2
.end method

.method public onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
    .registers 3

    .prologue
    .line 259
    const-string v0, "CREATE TABLE IF NOT EXISTS result_cache(_id INTEGER PRIMARY KEY,json_result TEXT,mission_id TEXT,type INTEGER NOT NULL);"

    invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V

    .line 262
    const-string v0, "CREATE INDEX TYPE_INDEX ON result_cache(type);"

    invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V

    .line 265
    return-void
.end method

.method public onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
    .registers 5

    .prologue
    .line 270
    const-string v0, "DROP TABLE IF EXISTS result_cache"

    invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V

    .line 271
    invoke-virtual {p0, p1}, Lcom/keniu/security/update/pushmonitor/cic/CICCacheHelper$DatabaseHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V

    .line 272
    return-void
.end method