SQLiteDbProvider.smali

.class public Lcom/dianxinos/optimizer/db/SQLiteDbProvider;
.super Landroid/content/ContentProvider;
.source "SQLiteDbProvider.java"


# direct methods
.method public constructor <init>()V
    .registers 1

    .prologue
    .line 26
    invoke-direct {p0}, Landroid/content/ContentProvider;-><init>()V

    return-void
.end method

.method private a(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
    .registers 11

    .prologue
    const-wide/16 v6, -0x1

    const/4 v1, 0x0

    .line 76
    if-nez p1, :cond_7

    move-object p1, v1

    .line 120
    :goto_6
    return-object p1

    .line 79
    :cond_7
    invoke-static {p1}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v2

    .line 80
    if-nez v2, :cond_f

    move-object p1, v1

    .line 81
    goto :goto_6

    .line 83
    :cond_f
    const-string v0, "dx_opt_type"

    invoke-virtual {p2, v0}, Landroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 84
    if-nez v0, :cond_4b

    .line 85
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v3

    .line 88
    :try_start_1f
    iget-object v0, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    const/4 v4, 0x0

    invoke-virtual {v3, v0, v4, p2}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
    :try_end_27
    .catchall {:try_start_1f .. :try_end_27} :catchall_41

    move-result-wide v4

    .line 89
    cmp-long v0, v4, v6

    if-nez v0, :cond_35

    .line 93
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move-object p1, v1

    .line 90
    goto :goto_6

    .line 93
    :cond_35
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    .line 95
    invoke-static {p1, v4, v5}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;

    move-result-object p1

    goto :goto_6

    .line 93
    :catchall_41
    move-exception v0

    move-object v1, v0

    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1

    .line 100
    :cond_4b
    const-string v3, "dx_opt_type"

    invoke-virtual {p2, v3}, Landroid/content/ContentValues;->remove(Ljava/lang/String;)V

    .line 101
    const-string v3, "dx_acq"

    invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_60

    .line 102
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    goto :goto_6

    .line 104
    :cond_60
    const-string v3, "dx_rel"

    invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_70

    .line 105
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    goto :goto_6

    .line 107
    :cond_70
    const-string v3, "dx_replace"

    invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_ae

    .line 108
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v3

    .line 111
    :try_start_80
    iget-object v0, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    const/4 v4, 0x0

    invoke-virtual {v3, v0, v4, p2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
    :try_end_88
    .catchall {:try_start_80 .. :try_end_88} :catchall_a4

    move-result-wide v4

    .line 112
    cmp-long v0, v4, v6

    if-nez v0, :cond_97

    .line 116
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move-object p1, v1

    .line 113
    goto/16 :goto_6

    .line 116
    :cond_97
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    .line 118
    invoke-static {p1, v4, v5}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;

    move-result-object p1

    goto/16 :goto_6

    .line 116
    :catchall_a4
    move-exception v0

    move-object v1, v0

    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1

    :cond_ae
    move-object p1, v1

    .line 120
    goto/16 :goto_6
.end method


# virtual methods
.method public applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/ArrayList",
            "<",
            "Landroid/content/ContentProviderOperation;",
            ">;)[",
            "Landroid/content/ContentProviderResult;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Landroid/content/OperationApplicationException;
        }
    .end annotation

    .prologue
    const/4 v1, 0x0

    const/4 v2, 0x0

    .line 207
    if-eqz p1, :cond_a

    invoke-virtual {p1}, Ljava/util/ArrayList;->size()I

    move-result v0

    if-nez v0, :cond_d

    .line 208
    :cond_a
    new-array v0, v2, [Landroid/content/ContentProviderResult;

    .line 225
    :goto_c
    return-object v0

    .line 211
    :cond_d
    invoke-virtual {p1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/content/ContentProviderOperation;

    invoke-virtual {v0}, Landroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri;

    move-result-object v0

    .line 213
    if-nez v0, :cond_1b

    move-object v0, v1

    .line 214
    goto :goto_c

    .line 216
    :cond_1b
    invoke-static {v0}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v2

    .line 217
    if-nez v2, :cond_23

    move-object v0, v1

    .line 218
    goto :goto_c

    .line 220
    :cond_23
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v3

    .line 221
    invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V

    .line 223
    :try_start_2e
    invoke-super {p0, p1}, Landroid/content/ContentProvider;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;

    move-result-object v1

    .line 224
    invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
    :try_end_35
    .catchall {:try_start_2e .. :try_end_35} :catchall_41

    .line 227
    invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V

    .line 228
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move-object v0, v1

    .line 225
    goto :goto_c

    .line 227
    :catchall_41
    move-exception v0

    move-object v1, v0

    invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V

    .line 228
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1
.end method

.method public bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
    .registers 9

    .prologue
    .line 171
    array-length v1, p2

    .line 172
    if-nez p1, :cond_5

    move v0, v1

    .line 198
    :goto_4
    return v0

    .line 175
    :cond_5
    invoke-static {p1}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v3

    .line 176
    if-nez v3, :cond_d

    move v0, v1

    .line 177
    goto :goto_4

    .line 179
    :cond_d
    iget-object v0, v3, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v4

    .line 181
    :try_start_15
    invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V

    .line 182
    const/4 v2, 0x0

    .line 183
    const/4 v0, 0x0

    move v5, v0

    move-object v0, v2

    move v2, v5

    :goto_1d
    if-ge v2, v1, :cond_27

    .line 184
    aget-object v0, p2, v2

    invoke-virtual {p0, p1, v0}, Lcom/dianxinos/optimizer/db/SQLiteDbProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;

    move-result-object v0

    .line 186
    if-nez v0, :cond_38

    .line 191
    :cond_27
    if-eqz v0, :cond_2c

    .line 192
    invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
    :try_end_2c
    .catchall {:try_start_15 .. :try_end_2c} :catchall_3b

    .line 195
    :cond_2c
    invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V

    .line 196
    iget-object v0, v3, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move v0, v1

    .line 198
    goto :goto_4

    .line 183
    :cond_38
    add-int/lit8 v2, v2, 0x1

    goto :goto_1d

    .line 195
    :catchall_3b
    move-exception v0

    move-object v1, v0

    invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V

    .line 196
    iget-object v0, v3, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1
.end method

.method public call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    .registers 6

    .prologue
    const/4 v1, 0x0

    .line 239
    if-eqz p1, :cond_5

    if-nez p2, :cond_7

    :cond_5
    move-object v0, v1

    .line 255
    :goto_6
    return-object v0

    .line 243
    :cond_7
    :try_start_7
    const-string v0, "dx_acq"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_1b

    .line 244
    invoke-static {p2}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    .line 245
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V

    goto :goto_6

    .line 250
    :catch_18
    move-exception v0

    :cond_19
    move-object v0, v1

    .line 255
    goto :goto_6

    .line 246
    :cond_1b
    const-string v0, "dx_rel"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_19

    .line 247
    invoke-static {p2}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    .line 248
    new-instance v0, Landroid/os/Bundle;

    invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
    :try_end_2b
    .catch Ljava/lang/RuntimeException; {:try_start_7 .. :try_end_2b} :catch_18

    goto :goto_6
.end method

.method public delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
    .registers 7

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

    .line 130
    if-nez p1, :cond_4

    .line 143
    :cond_3
    :goto_3
    return v0

    .line 133
    :cond_4
    invoke-static {p1}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v2

    .line 134
    if-eqz v2, :cond_3

    .line 137
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v1

    .line 139
    :try_start_12
    iget-object v0, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v1, v0, p2, p3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
    :try_end_19
    .catchall {:try_start_12 .. :try_end_19} :catchall_23

    move-result v1

    .line 141
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move v0, v1

    .line 143
    goto :goto_3

    .line 141
    :catchall_23
    move-exception v0

    move-object v1, v0

    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1
.end method

.method public getType(Landroid/net/Uri;)Ljava/lang/String;
    .registers 3

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

    return-object v0
.end method

.method public insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
    .registers 4

    .prologue
    .line 63
    :try_start_0
    invoke-direct {p0, p1, p2}, Lcom/dianxinos/optimizer/db/SQLiteDbProvider;->a(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
    :try_end_3
    .catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_3} :catch_5

    move-result-object v0

    .line 69
    :goto_4
    return-object v0

    .line 64
    :catch_5
    move-exception v0

    .line 69
    const/4 v0, 0x0

    goto :goto_4
.end method

.method public onCreate()Z
    .registers 2

    .prologue
    .line 35
    const/4 v0, 0x1

    return v0
.end method

.method public query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    .registers 15

    .prologue
    const/4 v0, 0x0

    .line 45
    .line 46
    invoke-static {p1}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v8

    .line 47
    if-nez v8, :cond_8

    .line 57
    :goto_7
    return-object v0

    .line 50
    :cond_8
    iget-object v0, v8, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v0

    .line 52
    :try_start_10
    iget-object v1, v8, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v1, Ljava/lang/String;

    const/4 v5, 0x0

    const/4 v6, 0x0

    move-object v2, p2

    move-object v3, p3

    move-object v4, p4

    move-object v7, p5

    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;
    :try_end_1d
    .catchall {:try_start_10 .. :try_end_1d} :catchall_27

    move-result-object v1

    .line 55
    iget-object v0, v8, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move-object v0, v1

    .line 57
    goto :goto_7

    .line 55
    :catchall_27
    move-exception v0

    move-object v1, v0

    iget-object v0, v8, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1
.end method

.method public update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
    .registers 8

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

    .line 153
    if-nez p1, :cond_4

    .line 166
    :cond_3
    :goto_3
    return v0

    .line 156
    :cond_4
    invoke-static {p1}, Ldxoptimizer/aft;->a(Landroid/net/Uri;)Landroid/util/Pair;

    move-result-object v2

    .line 157
    if-eqz v2, :cond_3

    .line 160
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->b(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase;

    move-result-object v1

    .line 162
    :try_start_12
    iget-object v0, v2, Landroid/util/Pair;->second:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v1, v0, p2, p3, p4}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
    :try_end_19
    .catchall {:try_start_12 .. :try_end_19} :catchall_23

    move-result v1

    .line 164
    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    move v0, v1

    .line 166
    goto :goto_3

    .line 164
    :catchall_23
    move-exception v0

    move-object v1, v0

    iget-object v0, v2, Landroid/util/Pair;->first:Ljava/lang/Object;

    check-cast v0, Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/afr;->a(Ljava/lang/String;)V

    throw v1
.end method