Files
vtosters/smali/smali_classes3/org/sqlite/database/DatabaseUtils.smali
T
2022-03-24 19:37:43 +03:00

2542 lines
57 KiB
Smali

.class public Lorg/sqlite/database/DatabaseUtils;
.super Ljava/lang/Object;
.source "DatabaseUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/sqlite/database/DatabaseUtils$InsertHelper;
}
.end annotation
# static fields
.field private static final DEBUG:Z = false
.field private static final DIGITS:[C
.field public static final STATEMENT_ABORT:I = 0x6
.field public static final STATEMENT_ATTACH:I = 0x3
.field public static final STATEMENT_BEGIN:I = 0x4
.field public static final STATEMENT_COMMIT:I = 0x5
.field public static final STATEMENT_DDL:I = 0x8
.field public static final STATEMENT_OTHER:I = 0x63
.field public static final STATEMENT_PRAGMA:I = 0x7
.field public static final STATEMENT_SELECT:I = 0x1
.field public static final STATEMENT_UNPREPARED:I = 0x9
.field public static final STATEMENT_UPDATE:I = 0x2
.field private static final TAG:Ljava/lang/String; = "DatabaseUtils"
.field private static mColl:Ljava/text/Collator;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/16 v0, 0x10
.line 431
new-array v0, v0, [C
fill-array-data v0, :array_0
sput-object v0, Lorg/sqlite/database/DatabaseUtils;->DIGITS:[C
return-void
:array_0
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x61s
0x62s
0x63s
0x64s
0x65s
0x66s
.end array-data
.end method
.method public constructor <init>()V
.locals 0
.line 52
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
.locals 4
const/16 v0, 0x27
.line 344
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 345
invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(I)I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_1
.line 346
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
.line 348
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v3
if-ne v3, v0, :cond_0
.line 350
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 352
:cond_0
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 355
:cond_1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 356
:cond_2
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
.end method
.method public static appendSelectionArgs([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
.locals 3
if-eqz p0, :cond_1
.line 1439
array-length v0, p0
if-nez v0, :cond_0
goto :goto_0
.line 1442
:cond_0
array-length v0, p0
array-length v1, p1
add-int/2addr v0, v1
new-array v0, v0, [Ljava/lang/String;
.line 1443
array-length v1, p0
const/4 v2, 0x0
invoke-static {p0, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1444
array-length p0, p0
array-length v1, p1
invoke-static {p1, v2, v0, p0, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-object v0
:cond_1
:goto_0
return-object p1
.end method
.method public static final appendValueToSql(Ljava/lang/StringBuilder;Ljava/lang/Object;)V
.locals 1
if-nez p1, :cond_0
const-string p1, "NULL"
.line 375
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.line 376
:cond_0
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_2
.line 377
check-cast p1, Ljava/lang/Boolean;
.line 378
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
if-eqz p1, :cond_1
const/16 p1, 0x31
.line 379
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_1
const/16 p1, 0x30
.line 381
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 384
:cond_2
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1}, Lorg/sqlite/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
:goto_0
return-void
.end method
.method public static bindObjectToProgram(Lorg/sqlite/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V
.locals 2
if-nez p2, :cond_0
.line 204
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindNull(I)V
goto :goto_1
.line 205
:cond_0
instance-of v0, p2, Ljava/lang/Double;
if-nez v0, :cond_6
instance-of v0, p2, Ljava/lang/Float;
if-eqz v0, :cond_1
goto :goto_0
.line 207
:cond_1
instance-of v0, p2, Ljava/lang/Number;
if-eqz v0, :cond_2
.line 208
check-cast p2, Ljava/lang/Number;
invoke-virtual {p2}, Ljava/lang/Number;->longValue()J
move-result-wide v0
invoke-virtual {p0, p1, v0, v1}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindLong(IJ)V
goto :goto_1
.line 209
:cond_2
instance-of v0, p2, Ljava/lang/Boolean;
if-eqz v0, :cond_4
.line 210
check-cast p2, Ljava/lang/Boolean;
.line 211
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result p2
if-eqz p2, :cond_3
const-wide/16 v0, 0x1
.line 212
invoke-virtual {p0, p1, v0, v1}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindLong(IJ)V
goto :goto_1
:cond_3
const-wide/16 v0, 0x0
.line 214
invoke-virtual {p0, p1, v0, v1}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindLong(IJ)V
goto :goto_1
.line 216
:cond_4
instance-of v0, p2, [B
if-eqz v0, :cond_5
.line 217
check-cast p2, [B
invoke-virtual {p0, p1, p2}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindBlob(I[B)V
goto :goto_1
.line 219
:cond_5
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {p0, p1, p2}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V
goto :goto_1
.line 206
:cond_6
:goto_0
check-cast p2, Ljava/lang/Number;
invoke-virtual {p2}, Ljava/lang/Number;->doubleValue()D
move-result-wide v0
invoke-virtual {p0, p1, v0, v1}, Lorg/sqlite/database/sqlite/SQLiteProgram;->bindDouble(ID)V
:goto_1
return-void
.end method
.method public static blobFileDescriptorForQuery(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
.locals 0
.line 880
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Lorg/sqlite/database/sqlite/SQLiteStatement;
move-result-object p0
.line 882
:try_start_0
invoke-static {p0, p2}, Lorg/sqlite/database/DatabaseUtils;->blobFileDescriptorForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 884
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
return-object p1
:catchall_0
move-exception p1
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
.line 885
throw p1
.end method
.method public static blobFileDescriptorForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
.locals 0
.line 896
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteStatement;->bindAllArgsAsStrings([Ljava/lang/String;)V
.line 897
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->simpleQueryForBlobFileDescriptor()Landroid/os/ParcelFileDescriptor;
move-result-object p0
return-object p0
.end method
.method public static concatenateWhere(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 2
.line 392
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
return-object p1
.line 395
:cond_0
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1
return-object p0
.line 399
:cond_1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ") AND ("
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ")"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static createDbFromSqlStatements(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)V
.locals 3
.line 1370
invoke-virtual {p0, p1}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
move-result-object p0
.line 1371
invoke-virtual {p0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p1
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
const/4 p1, 0x0
.line 1372
invoke-static {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->openOrCreateDatabase(Ljava/io/File;Lorg/sqlite/database/sqlite/SQLiteDatabase$CursorFactory;)Lorg/sqlite/database/sqlite/SQLiteDatabase;
move-result-object p0
const-string p1, ";\n"
.line 1377
invoke-static {p3, p1}, Landroid/text/TextUtils;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
.line 1378
array-length p3, p1
const/4 v0, 0x0
:goto_0
if-ge v0, p3, :cond_1
aget-object v1, p1, v0
.line 1379
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 1380
:cond_0
invoke-virtual {p0, v1}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
:goto_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 1382
:cond_1
invoke-virtual {p0, p2}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->setVersion(I)V
.line 1383
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->close()V
return-void
.end method
.method public static cursorDoubleToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 1
.line 721
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result p1
.line 722
invoke-interface {p0, p1}, Landroid/database/Cursor;->isNull(I)Z
move-result v0
if-nez v0, :cond_0
.line 723
invoke-interface {p0, p1}, Landroid/database/Cursor;->getDouble(I)D
move-result-wide p0
invoke-static {p0, p1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
goto :goto_0
:cond_0
const/4 p0, 0x0
.line 725
check-cast p0, Ljava/lang/Double;
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
:goto_0
return-void
.end method
.method public static cursorDoubleToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 990
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 991
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 992
invoke-interface {p0, v0}, Landroid/database/Cursor;->getDouble(I)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
:cond_0
return-void
.end method
.method public static cursorDoubleToCursorValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
.locals 0
.line 708
invoke-static {p0, p1, p2, p1}, Lorg/sqlite/database/DatabaseUtils;->cursorDoubleToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
return-void
.end method
.method public static cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
.locals 5
if-ltz p1, :cond_9
.line 269
invoke-interface {p0}, Landroid/database/Cursor;->getCount()I
move-result v0
if-lt p1, v0, :cond_0
goto/16 :goto_3
.line 272
:cond_0
invoke-interface {p0}, Landroid/database/Cursor;->getPosition()I
move-result v0
.line 273
invoke-interface {p0}, Landroid/database/Cursor;->getColumnCount()I
move-result v1
.line 274
invoke-virtual {p2}, Landroid/database/CursorWindow;->clear()V
.line 275
invoke-virtual {p2, p1}, Landroid/database/CursorWindow;->setStartPosition(I)V
.line 276
invoke-virtual {p2, v1}, Landroid/database/CursorWindow;->setNumColumns(I)Z
.line 277
invoke-interface {p0, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
move-result v2
if-eqz v2, :cond_8
.line 279
:cond_1
invoke-virtual {p2}, Landroid/database/CursorWindow;->allocRow()Z
move-result v2
if-nez v2, :cond_2
goto :goto_2
:cond_2
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_7
.line 283
invoke-interface {p0, v2}, Landroid/database/Cursor;->getType(I)I
move-result v3
const/4 v4, 0x4
if-eq v3, v4, :cond_4
packed-switch v3, :pswitch_data_0
.line 307
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_3
.line 308
invoke-virtual {p2, v3, p1, v2}, Landroid/database/CursorWindow;->putString(Ljava/lang/String;II)Z
move-result v3
goto :goto_1
.line 309
:cond_3
invoke-virtual {p2, p1, v2}, Landroid/database/CursorWindow;->putNull(II)Z
move-result v3
goto :goto_1
.line 295
:pswitch_0
invoke-interface {p0, v2}, Landroid/database/Cursor;->getDouble(I)D
move-result-wide v3
invoke-virtual {p2, v3, v4, p1, v2}, Landroid/database/CursorWindow;->putDouble(DII)Z
move-result v3
goto :goto_1
.line 291
:pswitch_1
invoke-interface {p0, v2}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v3
invoke-virtual {p2, v3, v4, p1, v2}, Landroid/database/CursorWindow;->putLong(JII)Z
move-result v3
goto :goto_1
.line 287
:pswitch_2
invoke-virtual {p2, p1, v2}, Landroid/database/CursorWindow;->putNull(II)Z
move-result v3
goto :goto_1
.line 299
:cond_4
invoke-interface {p0, v2}, Landroid/database/Cursor;->getBlob(I)[B
move-result-object v3
if-eqz v3, :cond_5
.line 300
invoke-virtual {p2, v3, p1, v2}, Landroid/database/CursorWindow;->putBlob([BII)Z
move-result v3
goto :goto_1
.line 301
:cond_5
invoke-virtual {p2, p1, v2}, Landroid/database/CursorWindow;->putNull(II)Z
move-result v3
:goto_1
if-nez v3, :cond_6
.line 314
invoke-virtual {p2}, Landroid/database/CursorWindow;->freeLastRow()V
goto :goto_2
:cond_6
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_7
add-int/lit8 p1, p1, 0x1
.line 319
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v2
if-nez v2, :cond_1
.line 321
:cond_8
:goto_2
invoke-interface {p0, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
return-void
:cond_9
:goto_3
return-void
nop
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public static cursorFloatToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 974
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 975
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 976
invoke-interface {p0, v0}, Landroid/database/Cursor;->getFloat(I)F
move-result p0
invoke-static {p0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V
:cond_0
return-void
.end method
.method public static cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
.locals 0
.line 647
invoke-static {p0, p1, p2, p1}, Lorg/sqlite/database/DatabaseUtils;->cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
return-void
.end method
.method public static cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 1
.line 660
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result p1
.line 661
invoke-interface {p0, p1}, Landroid/database/Cursor;->isNull(I)Z
move-result v0
if-nez v0, :cond_0
.line 662
invoke-interface {p0, p1}, Landroid/database/Cursor;->getInt(I)I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
goto :goto_0
:cond_0
const/4 p0, 0x0
.line 664
check-cast p0, Ljava/lang/Integer;
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
:goto_0
return-void
.end method
.method public static cursorIntToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 958
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 959
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 960
invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
:cond_0
return-void
.end method
.method public static cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
.locals 0
.line 677
invoke-static {p0, p1, p2, p1}, Lorg/sqlite/database/DatabaseUtils;->cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
return-void
.end method
.method public static cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 1
.line 690
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result p1
.line 691
invoke-interface {p0, p1}, Landroid/database/Cursor;->isNull(I)Z
move-result v0
if-nez v0, :cond_0
.line 692
invoke-interface {p0, p1}, Landroid/database/Cursor;->getLong(I)J
move-result-wide p0
invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
.line 693
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
goto :goto_0
:cond_0
const/4 p0, 0x0
.line 695
check-cast p0, Ljava/lang/Long;
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
:goto_0
return-void
.end method
.method public static cursorLongToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 926
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 927
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 928
invoke-interface {p0, v0}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
:cond_0
return-void
.end method
.method public static cursorPickFillWindowStartPosition(II)I
.locals 0
.line 770
div-int/lit8 p1, p1, 0x3
sub-int/2addr p0, p1
const/4 p1, 0x0
invoke-static {p0, p1}, Ljava/lang/Math;->max(II)I
move-result p0
return p0
.end method
.method public static cursorRowToContentValues(Landroid/database/Cursor;Landroid/content/ContentValues;)V
.locals 5
.line 736
invoke-interface {p0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
move-result-object v0
.line 737
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
.line 739
invoke-interface {p0, v2}, Landroid/database/Cursor;->getType(I)I
move-result v3
const/4 v4, 0x4
if-ne v3, v4, :cond_0
.line 740
aget-object v3, v0, v2
invoke-interface {p0, v2}, Landroid/database/Cursor;->getBlob(I)[B
move-result-object v4
invoke-virtual {p1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;[B)V
goto :goto_1
.line 742
:cond_0
aget-object v3, v0, v2
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {p1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-void
.end method
.method public static cursorShortToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 942
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 943
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 944
invoke-interface {p0, v0}, Landroid/database/Cursor;->getShort(I)S
move-result p0
invoke-static {p0}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Short;)V
:cond_0
return-void
.end method
.method public static cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V
.locals 0
.line 610
invoke-static {p0, p1, p2, p1}, Lorg/sqlite/database/DatabaseUtils;->cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
return-void
.end method
.method public static cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 0
.line 636
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result p1
invoke-interface {p0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p3, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public static cursorStringToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
.locals 2
.line 910
invoke-interface {p0, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 911
invoke-interface {p0, v0}, Landroid/database/Cursor;->isNull(I)Z
move-result v1
if-nez v1, :cond_0
.line 912
invoke-interface {p0, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {p1, p2, p0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static cursorStringToInsertHelper(Landroid/database/Cursor;Ljava/lang/String;Lorg/sqlite/database/DatabaseUtils$InsertHelper;I)V
.locals 0
.line 623
invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
move-result p1
invoke-interface {p0, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p3, p0}, Lorg/sqlite/database/DatabaseUtils$InsertHelper;->bind(ILjava/lang/String;)V
return-void
.end method
.method public static dumpCurrentRow(Landroid/database/Cursor;)V
.locals 1
.line 538
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
invoke-static {p0, v0}, Lorg/sqlite/database/DatabaseUtils;->dumpCurrentRow(Landroid/database/Cursor;Ljava/io/PrintStream;)V
return-void
.end method
.method public static dumpCurrentRow(Landroid/database/Cursor;Ljava/io/PrintStream;)V
.locals 6
.line 548
invoke-interface {p0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
move-result-object v0
.line 549
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, ""
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p0}, Landroid/database/Cursor;->getPosition()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " {"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 550
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
.line 554
:try_start_0
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
:try_end_0
.catch Lorg/sqlite/database/sqlite/SQLiteException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_1
:catch_0
const-string v3, "<unprintable>"
.line 560
:goto_1
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, " "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v5, v0, v2
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v5, 0x3d
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {p1, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
const-string p0, "}"
.line 562
invoke-virtual {p1, p0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
return-void
.end method
.method public static dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
.locals 6
.line 572
invoke-interface {p0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
move-result-object v0
.line 573
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, ""
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p0}, Landroid/database/Cursor;->getPosition()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " {\n"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 574
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
.line 578
:try_start_0
invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
:try_end_0
.catch Lorg/sqlite/database/sqlite/SQLiteException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_1
:catch_0
const-string v3, "<unprintable>"
.line 584
:goto_1
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, " "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v5, v0, v2
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v5, 0x3d
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "\n"
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
const-string p0, "}\n"
.line 586
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method
.method public static dumpCurrentRowToString(Landroid/database/Cursor;)Ljava/lang/String;
.locals 1
.line 596
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 597
invoke-static {p0, v0}, Lorg/sqlite/database/DatabaseUtils;->dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
.line 598
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static dumpCursor(Landroid/database/Cursor;)V
.locals 1
.line 474
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
invoke-static {p0, v0}, Lorg/sqlite/database/DatabaseUtils;->dumpCursor(Landroid/database/Cursor;Ljava/io/PrintStream;)V
return-void
.end method
.method public static dumpCursor(Landroid/database/Cursor;Ljava/io/PrintStream;)V
.locals 2
.line 485
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, ">>>>> Dumping cursor "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
if-eqz p0, :cond_1
.line 487
invoke-interface {p0}, Landroid/database/Cursor;->getPosition()I
move-result v0
const/4 v1, -0x1
.line 489
invoke-interface {p0, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
.line 490
:goto_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v1
if-eqz v1, :cond_0
.line 491
invoke-static {p0, p1}, Lorg/sqlite/database/DatabaseUtils;->dumpCurrentRow(Landroid/database/Cursor;Ljava/io/PrintStream;)V
goto :goto_0
.line 493
:cond_0
invoke-interface {p0, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
:cond_1
const-string p0, "<<<<<"
.line 495
invoke-virtual {p1, p0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
return-void
.end method
.method public static dumpCursor(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
.locals 2
.line 506
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, ">>>>> Dumping cursor "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\n"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz p0, :cond_1
.line 508
invoke-interface {p0}, Landroid/database/Cursor;->getPosition()I
move-result v0
const/4 v1, -0x1
.line 510
invoke-interface {p0, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
.line 511
:goto_0
invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z
move-result v1
if-eqz v1, :cond_0
.line 512
invoke-static {p0, p1}, Lorg/sqlite/database/DatabaseUtils;->dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
goto :goto_0
.line 514
:cond_0
invoke-interface {p0, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
:cond_1
const-string p0, "<<<<<\n"
.line 516
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method
.method public static dumpCursorToString(Landroid/database/Cursor;)Ljava/lang/String;
.locals 1
.line 527
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 528
invoke-static {p0, v0}, Lorg/sqlite/database/DatabaseUtils;->dumpCursor(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
.line 529
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static encodeHex([B)[C
.locals 7
.line 437
array-length v0, p0
shl-int/lit8 v1, v0, 0x1
.line 438
new-array v1, v1, [C
const/4 v2, 0x0
const/4 v3, 0x0
:goto_0
if-ge v2, v0, :cond_0
add-int/lit8 v4, v3, 0x1
.line 442
sget-object v5, Lorg/sqlite/database/DatabaseUtils;->DIGITS:[C
aget-byte v6, p0, v2
and-int/lit16 v6, v6, 0xf0
ushr-int/lit8 v6, v6, 0x4
aget-char v5, v5, v6
aput-char v5, v1, v3
add-int/lit8 v3, v4, 0x1
.line 443
sget-object v5, Lorg/sqlite/database/DatabaseUtils;->DIGITS:[C
aget-byte v6, p0, v2
and-int/lit8 v6, v6, 0xf
aget-char v5, v5, v6
aput-char v5, v1, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-object v1
.end method
.method public static findRowIdColumnIndex([Ljava/lang/String;)I
.locals 4
.line 1453
array-length v0, p0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 1455
aget-object v2, p0, v1
const-string v3, "_id"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
return v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static getCollationKey(Ljava/lang/String;)Ljava/lang/String;
.locals 4
.line 408
invoke-static {p0}, Lorg/sqlite/database/DatabaseUtils;->getCollationKeyInBytes(Ljava/lang/String;)[B
move-result-object p0
.line 410
:try_start_0
new-instance v0, Ljava/lang/String;
const/4 v1, 0x0
invoke-static {p0}, Lorg/sqlite/database/DatabaseUtils;->getKeyLen([B)I
move-result v2
const-string v3, "ISO8859_1"
invoke-direct {v0, p0, v1, v2, v3}, Ljava/lang/String;-><init>([BIILjava/lang/String;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
const-string p0, ""
return-object p0
.end method
.method private static getCollationKeyInBytes(Ljava/lang/String;)[B
.locals 2
.line 459
sget-object v0, Lorg/sqlite/database/DatabaseUtils;->mColl:Ljava/text/Collator;
if-nez v0, :cond_0
.line 460
invoke-static {}, Ljava/text/Collator;->getInstance()Ljava/text/Collator;
move-result-object v0
sput-object v0, Lorg/sqlite/database/DatabaseUtils;->mColl:Ljava/text/Collator;
.line 461
sget-object v0, Lorg/sqlite/database/DatabaseUtils;->mColl:Ljava/text/Collator;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/text/Collator;->setStrength(I)V
.line 463
:cond_0
sget-object v0, Lorg/sqlite/database/DatabaseUtils;->mColl:Ljava/text/Collator;
invoke-virtual {v0, p0}, Ljava/text/Collator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
move-result-object p0
invoke-virtual {p0}, Ljava/text/CollationKey;->toByteArray()[B
move-result-object p0
return-object p0
.end method
.method public static getHexCollationKey(Ljava/lang/String;)Ljava/lang/String;
.locals 3
.line 422
invoke-static {p0}, Lorg/sqlite/database/DatabaseUtils;->getCollationKeyInBytes(Ljava/lang/String;)[B
move-result-object p0
.line 423
invoke-static {p0}, Lorg/sqlite/database/DatabaseUtils;->encodeHex([B)[C
move-result-object v0
.line 424
new-instance v1, Ljava/lang/String;
invoke-static {p0}, Lorg/sqlite/database/DatabaseUtils;->getKeyLen([B)I
move-result p0
mul-int/lit8 p0, p0, 0x2
const/4 v2, 0x0
invoke-direct {v1, v0, v2, p0}, Ljava/lang/String;-><init>([CII)V
return-object v1
.end method
.method private static getKeyLen([B)I
.locals 1
.line 450
array-length v0, p0
add-int/lit8 v0, v0, -0x1
aget-byte v0, p0, v0
if-eqz v0, :cond_0
.line 451
array-length p0, p0
return p0
.line 454
:cond_0
array-length p0, p0
add-int/lit8 p0, p0, -0x1
return p0
.end method
.method public static getSqlStatementType(Ljava/lang/String;)I
.locals 3
.line 1401
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
.line 1402
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x63
const/4 v2, 0x3
if-ge v0, v2, :cond_0
return v1
:cond_0
const/4 v0, 0x0
.line 1405
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale;
invoke-virtual {p0, v0}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p0
const-string v0, "SEL"
.line 1406
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
const/4 p0, 0x1
return p0
:cond_1
const-string v0, "INS"
.line 1408
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_d
const-string v0, "UPD"
.line 1409
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_d
const-string v0, "REP"
.line 1410
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_d
const-string v0, "DEL"
.line 1411
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
goto :goto_2
:cond_2
const-string v0, "ATT"
.line 1413
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_3
return v2
:cond_3
const-string v0, "COM"
.line 1415
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v2, 0x5
if-eqz v0, :cond_4
return v2
:cond_4
const-string v0, "END"
.line 1417
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5
return v2
:cond_5
const-string v0, "ROL"
.line 1419
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_6
const/4 p0, 0x6
return p0
:cond_6
const-string v0, "BEG"
.line 1421
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_7
const/4 p0, 0x4
return p0
:cond_7
const-string v0, "PRA"
.line 1423
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_8
const/4 p0, 0x7
return p0
:cond_8
const-string v0, "CRE"
.line 1425
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_c
const-string v0, "DRO"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_c
const-string v0, "ALT"
.line 1426
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_9
goto :goto_1
:cond_9
const-string v0, "ANA"
.line 1428
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_b
const-string v0, "DET"
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_a
goto :goto_0
:cond_a
return v1
:cond_b
:goto_0
const/16 p0, 0x9
return p0
:cond_c
:goto_1
const/16 p0, 0x8
return p0
:cond_d
:goto_2
const/4 p0, 0x2
return p0
.end method
.method public static getTypeOfObject(Ljava/lang/Object;)I
.locals 1
if-nez p0, :cond_0
const/4 p0, 0x0
return p0
.line 243
:cond_0
instance-of v0, p0, [B
if-eqz v0, :cond_1
const/4 p0, 0x4
return p0
.line 245
:cond_1
instance-of v0, p0, Ljava/lang/Float;
if-nez v0, :cond_5
instance-of v0, p0, Ljava/lang/Double;
if-eqz v0, :cond_2
goto :goto_1
.line 247
:cond_2
instance-of v0, p0, Ljava/lang/Long;
if-nez v0, :cond_4
instance-of v0, p0, Ljava/lang/Integer;
if-nez v0, :cond_4
instance-of v0, p0, Ljava/lang/Short;
if-nez v0, :cond_4
instance-of p0, p0, Ljava/lang/Byte;
if-eqz p0, :cond_3
goto :goto_0
:cond_3
const/4 p0, 0x3
return p0
:cond_4
:goto_0
const/4 p0, 0x1
return p0
:cond_5
:goto_1
const/4 p0, 0x2
return p0
.end method
.method public static longForQuery(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
.locals 0
.line 833
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Lorg/sqlite/database/sqlite/SQLiteStatement;
move-result-object p0
.line 835
:try_start_0
invoke-static {p0, p2}, Lorg/sqlite/database/DatabaseUtils;->longForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J
move-result-wide p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 837
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
return-wide p1
:catchall_0
move-exception p1
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
.line 838
throw p1
.end method
.method public static longForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J
.locals 0
.line 846
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteStatement;->bindAllArgsAsStrings([Ljava/lang/String;)V
.line 847
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->simpleQueryForLong()J
move-result-wide p0
return-wide p0
.end method
.method public static queryIsEmpty(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Z
.locals 3
.line 824
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "select exists(select 1 from "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ")"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
invoke-static {p0, p1, v0}, Lorg/sqlite/database/DatabaseUtils;->longForQuery(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
move-result-wide p0
const-wide/16 v0, 0x0
cmp-long v2, p0, v0
if-nez v2, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static queryNumEntries(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
.locals 1
const/4 v0, 0x0
.line 780
invoke-static {p0, p1, v0, v0}, Lorg/sqlite/database/DatabaseUtils;->queryNumEntries(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method public static queryNumEntries(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)J
.locals 1
const/4 v0, 0x0
.line 793
invoke-static {p0, p1, p2, v0}, Lorg/sqlite/database/DatabaseUtils;->queryNumEntries(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method public static queryNumEntries(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
.locals 2
.line 811
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, " where "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
goto :goto_0
:cond_0
const-string p2, ""
.line 812
:goto_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "select count(*) from "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1, p3}, Lorg/sqlite/database/DatabaseUtils;->longForQuery(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
move-result-wide p0
return-wide p0
.end method
.method private static final readExceptionFromParcel(Landroid/os/Parcel;Ljava/lang/String;I)V
.locals 0
packed-switch p2, :pswitch_data_0
.line 188
:pswitch_0
invoke-virtual {p0, p2, p1}, Landroid/os/Parcel;->readException(ILjava/lang/String;)V
return-void
.line 186
:pswitch_1
new-instance p0, Landroid/os/OperationCanceledException;
invoke-direct {p0, p1}, Landroid/os/OperationCanceledException;-><init>(Ljava/lang/String;)V
throw p0
.line 184
:pswitch_2
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteException;-><init>(Ljava/lang/String;)V
throw p0
.line 182
:pswitch_3
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteDiskIOException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDiskIOException;-><init>(Ljava/lang/String;)V
throw p0
.line 180
:pswitch_4
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteFullException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteFullException;-><init>(Ljava/lang/String;)V
throw p0
.line 178
:pswitch_5
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteDatabaseCorruptException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDatabaseCorruptException;-><init>(Ljava/lang/String;)V
throw p0
.line 176
:pswitch_6
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteConstraintException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteConstraintException;-><init>(Ljava/lang/String;)V
throw p0
.line 174
:pswitch_7
new-instance p0, Lorg/sqlite/database/sqlite/SQLiteAbortException;
invoke-direct {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteAbortException;-><init>(Ljava/lang/String;)V
throw p0
.line 172
:pswitch_8
new-instance p0, Ljava/lang/UnsupportedOperationException;
invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p0
.line 170
:pswitch_9
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
nop
:pswitch_data_0
.packed-switch 0x2
:pswitch_9
:pswitch_8
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_0
:pswitch_1
.end packed-switch
.end method
.method public static sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 363
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 365
invoke-static {v0, p0}, Lorg/sqlite/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
.line 367
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static stringForQuery(Lorg/sqlite/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
.locals 0
.line 855
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Lorg/sqlite/database/sqlite/SQLiteStatement;
move-result-object p0
.line 857
:try_start_0
invoke-static {p0, p2}, Lorg/sqlite/database/DatabaseUtils;->stringForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 859
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
return-object p1
:catchall_0
move-exception p1
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->close()V
.line 860
throw p1
.end method
.method public static stringForQuery(Lorg/sqlite/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
.locals 0
.line 868
invoke-virtual {p0, p1}, Lorg/sqlite/database/sqlite/SQLiteStatement;->bindAllArgsAsStrings([Ljava/lang/String;)V
.line 869
invoke-virtual {p0}, Lorg/sqlite/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static final writeExceptionToParcel(Landroid/os/Parcel;Ljava/lang/Exception;)V
.locals 3
.line 90
instance-of v0, p1, Ljava/io/FileNotFoundException;
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
const/4 v2, 0x0
goto :goto_1
.line 93
:cond_0
instance-of v0, p1, Ljava/lang/IllegalArgumentException;
if-eqz v0, :cond_1
const/4 v0, 0x2
goto :goto_1
.line 95
:cond_1
instance-of v0, p1, Ljava/lang/UnsupportedOperationException;
if-eqz v0, :cond_2
const/4 v0, 0x3
goto :goto_1
.line 97
:cond_2
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteAbortException;
if-eqz v0, :cond_3
const/4 v0, 0x4
goto :goto_1
.line 99
:cond_3
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteConstraintException;
if-eqz v0, :cond_4
const/4 v0, 0x5
goto :goto_1
.line 101
:cond_4
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteDatabaseCorruptException;
if-eqz v0, :cond_5
const/4 v0, 0x6
goto :goto_1
.line 103
:cond_5
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteFullException;
if-eqz v0, :cond_6
const/4 v0, 0x7
goto :goto_1
.line 105
:cond_6
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteDiskIOException;
if-eqz v0, :cond_7
const/16 v0, 0x8
goto :goto_1
.line 107
:cond_7
instance-of v0, p1, Lorg/sqlite/database/sqlite/SQLiteException;
if-eqz v0, :cond_8
const/16 v0, 0x9
goto :goto_1
.line 109
:cond_8
instance-of v0, p1, Landroid/content/OperationApplicationException;
if-eqz v0, :cond_9
const/16 v0, 0xa
goto :goto_1
.line 111
:cond_9
instance-of v0, p1, Landroid/os/OperationCanceledException;
if-eqz v0, :cond_b
const/16 v2, 0xb
const/16 v0, 0xb
goto :goto_0
.line 119
:goto_1
invoke-virtual {p0, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 120
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
if-eqz v2, :cond_a
const-string p0, "DatabaseUtils"
const-string v0, "Writing exception to parcel"
.line 123
invoke-static {p0, v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_a
return-void
.line 115
:cond_b
invoke-virtual {p0, p1}, Landroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
const-string p0, "DatabaseUtils"
const-string v0, "Writing exception to parcel"
.line 116
invoke-static {p0, v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
return-void
.end method