public abstract class android.database.sqlite.SQLiteOpenHelper
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: android.database.sqlite.SQLiteOpenHelper
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final android.content.Context mContext;
descriptor: Landroid/content/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String mName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mNewVersion;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mMinimumSupportedVersion;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private android.database.sqlite.SQLiteDatabase mDatabase;
descriptor: Landroid/database/sqlite/SQLiteDatabase;
flags: (0x0002) ACC_PRIVATE
private boolean mIsInitializing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.database.sqlite.SQLiteDatabase$OpenParams$Builder mOpenParamsBuilder;
descriptor: Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Landroid/database/sqlite/SQLiteOpenHelper;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
putstatic android.database.sqlite.SQLiteOpenHelper.TAG:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, int);
descriptor: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iload 4
aconst_null
invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 2 1 context Landroid/content/Context;
0 2 2 name Ljava/lang/String;
0 2 3 factory Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
0 2 4 version I
MethodParameters:
Name Flags
context
name
factory
version
public void <init>(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, int, android.database.DatabaseErrorHandler);
descriptor: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
iload 4
iconst_0
aload 5
invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 2 1 context Landroid/content/Context;
0 2 2 name Ljava/lang/String;
0 2 3 factory Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
0 2 4 version I
0 2 5 errorHandler Landroid/database/DatabaseErrorHandler;
MethodParameters:
Name Flags
context
name
factory
version
errorHandler
public void <init>(android.content.Context, java.lang.String, int, android.database.sqlite.SQLiteDatabase$OpenParams);
descriptor: (Landroid/content/Context;Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$OpenParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iconst_0
aload 4
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams.toBuilder:()Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 2 1 context Landroid/content/Context;
0 2 2 name Ljava/lang/String;
0 2 3 version I
0 2 4 openParams Landroid/database/sqlite/SQLiteDatabase$OpenParams;
MethodParameters:
Name Flags
context
name
version
openParams
public void <init>(android.content.Context, java.lang.String, android.database.sqlite.SQLiteDatabase$CursorFactory, int, int, android.database.DatabaseErrorHandler);
descriptor: (Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
iload 4
iload 5
1: new android.database.sqlite.SQLiteDatabase$OpenParams$Builder
dup
invokespecial android.database.sqlite.SQLiteDatabase$OpenParams$Builder.<init>:()V
invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
2: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
aload 3
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setCursorFactory:(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
3: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
aload 6
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setErrorHandler:(Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
4: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 5 1 context Landroid/content/Context;
0 5 2 name Ljava/lang/String;
0 5 3 factory Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
0 5 4 version I
0 5 5 minimumSupportedVersion I
0 5 6 errorHandler Landroid/database/DatabaseErrorHandler;
MethodParameters:
Name Flags
context
name
factory
version
minimumSupportedVersion
errorHandler
private void <init>(android.content.Context, java.lang.String, int, int, android.database.sqlite.SQLiteDatabase$OpenParams$Builder);
descriptor: (Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 5
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iload 3
iconst_1
if_icmpge 3
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Version must be >= 1, was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: android.database.sqlite.SQLiteOpenHelper android.content.Context java.lang.String int int android.database.sqlite.SQLiteDatabase$OpenParams$Builder
StackMap stack:
aload 0
aload 1
putfield android.database.sqlite.SQLiteOpenHelper.mContext:Landroid/content/Context;
4: aload 0
aload 2
putfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
5: aload 0
iload 3
putfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
6: aload 0
iconst_0
iload 4
invokestatic java.lang.Math.max:(II)I
putfield android.database.sqlite.SQLiteOpenHelper.mMinimumSupportedVersion:I
7: aload 0
aload 5
invokevirtual android.database.sqlite.SQLiteOpenHelper.setOpenParamsBuilder:(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 9 1 context Landroid/content/Context;
0 9 2 name Ljava/lang/String;
0 9 3 version I
0 9 4 minimumSupportedVersion I
0 9 5 openParamsBuilder Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
MethodParameters:
Name Flags
context
name
version
minimumSupportedVersion
openParamsBuilder
public java.lang.String getDatabaseName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/sqlite/SQLiteOpenHelper;
public void setWriteAheadLoggingEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.isWriteAheadLoggingEnabled:()Z
iload 1
if_icmpeq 8
2: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 7
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifeq 7
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
ifne 7
3: iload 1
ifeq 6
4: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.enableWriteAheadLogging:()Z
pop
5: goto 7
6: StackMap locals: android.database.sqlite.SQLiteOpenHelper
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.disableWriteAheadLogging:()V
7: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
iload 1
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setWriteAheadLoggingEnabled:(Z)V
8: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
ldc 1073741824
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.addOpenFlags:(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
9: aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 14 1 enabled Z
Exception table:
from to target type
1 10 11 any
11 12 11 any
MethodParameters:
Name Flags
enabled
public void setLookasideConfig(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 5
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifeq 5
2: new java.lang.IllegalStateException
dup
3: ldc "Lookaside memory config cannot be changed after opening the database"
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: android.database.sqlite.SQLiteOpenHelper
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
iload 1
iload 2
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setLookasideConfig:(II)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
6: aload 3
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 11 1 slotSize I
0 11 2 slotCount I
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
slotSize final
slotCount final
public void setOpenParams(android.database.sqlite.SQLiteDatabase$OpenParams);
descriptor: (Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 6
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifeq 6
3: new java.lang.IllegalStateException
dup
4: ldc "OpenParams cannot be set after opening the database"
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: android.database.sqlite.SQLiteOpenHelper
StackMap stack:
aload 0
new android.database.sqlite.SQLiteDatabase$OpenParams$Builder
dup
aload 1
invokespecial android.database.sqlite.SQLiteDatabase$OpenParams$Builder.<init>:(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
invokevirtual android.database.sqlite.SQLiteOpenHelper.setOpenParamsBuilder:(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
7: aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 12 1 openParams Landroid/database/sqlite/SQLiteDatabase$OpenParams;
Exception table:
from to target type
2 8 9 any
9 10 9 any
MethodParameters:
Name Flags
openParams
private void setOpenParamsBuilder(android.database.sqlite.SQLiteDatabase$OpenParams$Builder);
descriptor: (Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
1: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
ldc 268435456
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.addOpenFlags:(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 3 1 openParamsBuilder Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
MethodParameters:
Name Flags
openParamsBuilder
public void setIdleConnectionTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 5
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifeq 5
2: new java.lang.IllegalStateException
dup
3: ldc "Connection timeout setting cannot be changed after opening the database"
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: android.database.sqlite.SQLiteOpenHelper
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
lload 1
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setIdleConnectionTimeout:(J)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
pop
6: aload 3
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 11 1 idleConnectionTimeoutMs J
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
idleConnectionTimeoutMs final
public android.database.sqlite.SQLiteDatabase getWritableDatabase();
descriptor: ()Landroid/database/sqlite/SQLiteDatabase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
iconst_1
invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
aload 1
monitorexit
2: areturn
3: StackMap locals: android.database.sqlite.SQLiteOpenHelper android.database.sqlite.SQLiteOpenHelper
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/database/sqlite/SQLiteOpenHelper;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public android.database.sqlite.SQLiteDatabase getReadableDatabase();
descriptor: ()Landroid/database/sqlite/SQLiteDatabase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
iconst_0
invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
aload 1
monitorexit
2: areturn
3: StackMap locals: android.database.sqlite.SQLiteOpenHelper android.database.sqlite.SQLiteOpenHelper
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/database/sqlite/SQLiteOpenHelper;
Exception table:
from to target type
1 2 3 any
3 4 3 any
private android.database.sqlite.SQLiteDatabase getDatabaseLocked(boolean);
descriptor: (Z)Landroid/database/sqlite/SQLiteDatabase;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 6
1: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifne 4
2: aload 0
aconst_null
putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
3: goto 6
StackMap locals:
StackMap stack:
4: iload 1
ifeq 5
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
ifne 6
5: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
ifeq 8
7: new java.lang.IllegalStateException
dup
ldc "getDatabase called recursively"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
astore 2
start local 2 9: aload 0
iconst_1
putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
10: aload 2
ifnull 14
11: iload 1
ifeq 30
aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
ifeq 30
12: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.reopenReadWrite:()V
13: goto 30
StackMap locals: android.database.sqlite.SQLiteDatabase
StackMap stack:
14: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
ifnonnull 17
15: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.build:()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
invokestatic android.database.sqlite.SQLiteDatabase.createInMemory:(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
astore 2
16: goto 30
17: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mContext:Landroid/content/Context;
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
invokevirtual android.content.Context.getDatabasePath:(Ljava/lang/String;)Ljava/io/File;
astore 3
start local 3 18: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.build:()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
astore 4
start local 4 19: aload 3
aload 4
invokestatic android.database.sqlite.SQLiteDatabase.openDatabase:(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
astore 2
20: aload 3
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokestatic android.database.sqlite.SQLiteOpenHelper.setFilePermissionsForDb:(Ljava/lang/String;)V
21: goto 30
StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase java.io.File android.database.sqlite.SQLiteDatabase$OpenParams
StackMap stack: android.database.SQLException
22: astore 5
start local 5 23: iload 1
ifeq 25
24: aload 5
athrow
25: StackMap locals: android.database.SQLException
StackMap stack:
getstatic android.database.sqlite.SQLiteOpenHelper.TAG:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Couldn't open "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc " for writing (will try read-only):"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
27: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
28: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams.toBuilder:()Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
iconst_1
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.addOpenFlags:(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.build:()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
astore 4
29: aload 3
aload 4
invokestatic android.database.sqlite.SQLiteDatabase.openDatabase:(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
astore 2
end local 5 end local 4 end local 3 30: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual android.database.sqlite.SQLiteOpenHelper.onConfigure:(Landroid/database/sqlite/SQLiteDatabase;)V
31: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.getVersion:()I
istore 3
start local 3 32: iload 3
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
if_icmpeq 66
33: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
ifeq 37
34: new android.database.sqlite.SQLiteException
dup
new java.lang.StringBuilder
dup
ldc "Can't upgrade read-only database from version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.getVersion:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial android.database.sqlite.SQLiteException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals: int
StackMap stack:
iload 3
ifle 51
iload 3
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mMinimumSupportedVersion:I
if_icmpge 51
38: new java.io.File
dup
aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 39: aload 0
aload 2
invokevirtual android.database.sqlite.SQLiteOpenHelper.onBeforeDelete:(Landroid/database/sqlite/SQLiteDatabase;)V
40: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
41: aload 4
invokestatic android.database.sqlite.SQLiteDatabase.deleteDatabase:(Ljava/io/File;)Z
ifeq 48
42: aload 0
iconst_0
putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
43: aload 0
iload 1
invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
astore 7
44: aload 0
iconst_0
putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
45: aload 2
ifnull 47
aload 2
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
if_acmpeq 47
46: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
47: StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase int java.io.File top top android.database.sqlite.SQLiteDatabase
StackMap stack:
aload 7
areturn
48: StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase int java.io.File
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unable to delete obsolete database "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " with version "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
50: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 51: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
52: iload 3
ifne 55
53: aload 0
aload 2
invokevirtual android.database.sqlite.SQLiteOpenHelper.onCreate:(Landroid/database/sqlite/SQLiteDatabase;)V
54: goto 59
55: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
if_icmple 58
56: aload 0
aload 2
iload 3
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
invokevirtual android.database.sqlite.SQLiteOpenHelper.onDowngrade:(Landroid/database/sqlite/SQLiteDatabase;II)V
57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 3
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
invokevirtual android.database.sqlite.SQLiteOpenHelper.onUpgrade:(Landroid/database/sqlite/SQLiteDatabase;II)V
59: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
invokevirtual android.database.sqlite.SQLiteDatabase.setVersion:(I)V
60: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
61: goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
62: astore 4
63: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
64: aload 4
athrow
65: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
66: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual android.database.sqlite.SQLiteOpenHelper.onOpen:(Landroid/database/sqlite/SQLiteDatabase;)V
67: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
ifeq 69
68: getstatic android.database.sqlite.SQLiteOpenHelper.TAG:Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Opened "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in read-only mode"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
69: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
70: aload 2
astore 7
71: aload 0
iconst_0
putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
72: aload 2
ifnull 74
aload 2
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
if_acmpeq 74
73: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
74: StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase int top top top android.database.sqlite.SQLiteDatabase
StackMap stack:
aload 7
areturn
end local 3 75: StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase
StackMap stack: java.lang.Throwable
astore 6
76: aload 0
iconst_0
putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
77: aload 2
ifnull 79
aload 2
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
if_acmpeq 79
78: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
79: StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 80 1 writable Z
9 80 2 db Landroid/database/sqlite/SQLiteDatabase;
18 30 3 filePath Ljava/io/File;
19 30 4 params Landroid/database/sqlite/SQLiteDatabase$OpenParams;
23 30 5 ex Landroid/database/SQLException;
32 75 3 version I
39 51 4 databaseFile Ljava/io/File;
Exception table:
from to target type
19 21 22 Class android.database.SQLException
52 62 62 any
9 44 75 any
48 71 75 any
MethodParameters:
Name Flags
writable
private static void setFilePermissionsForDb(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: sipush 432
istore 1
start local 1 1: aload 0
iload 1
iconst_m1
iconst_m1
invokestatic android.os.FileUtils.setPermissions:(Ljava/lang/String;III)I
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 dbPath Ljava/lang/String;
1 3 1 perms I
MethodParameters:
Name Flags
dbPath
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
ifeq 1
new java.lang.IllegalStateException
dup
ldc "Closed during initialization"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
ifnull 4
aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifeq 4
2: aload 0
getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
3: aload 0
aconst_null
putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/database/sqlite/SQLiteOpenHelper;
public void onConfigure(android.database.sqlite.SQLiteDatabase);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 1 1 db Landroid/database/sqlite/SQLiteDatabase;
MethodParameters:
Name Flags
db
public void onBeforeDelete(android.database.sqlite.SQLiteDatabase);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 1 1 db Landroid/database/sqlite/SQLiteDatabase;
MethodParameters:
Name Flags
db
public abstract void onCreate(android.database.sqlite.SQLiteDatabase);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
db
public abstract void onUpgrade(android.database.sqlite.SQLiteDatabase, int, int);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;II)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
db
oldVersion
newVersion
public void onDowngrade(android.database.sqlite.SQLiteDatabase, int, int);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new android.database.sqlite.SQLiteException
dup
new java.lang.StringBuilder
dup
ldc "Can't downgrade database from version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial android.database.sqlite.SQLiteException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 3 1 db Landroid/database/sqlite/SQLiteDatabase;
0 3 2 oldVersion I
0 3 3 newVersion I
MethodParameters:
Name Flags
db
oldVersion
newVersion
public void onOpen(android.database.sqlite.SQLiteDatabase);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/database/sqlite/SQLiteOpenHelper;
0 1 1 db Landroid/database/sqlite/SQLiteDatabase;
MethodParameters:
Name Flags
db
}
SourceFile: "SQLiteOpenHelper.java"
InnerClasses:
public abstract CursorFactory = android.database.sqlite.SQLiteDatabase$CursorFactory of android.database.sqlite.SQLiteDatabase
public final OpenParams = android.database.sqlite.SQLiteDatabase$OpenParams of android.database.sqlite.SQLiteDatabase
public final Builder = android.database.sqlite.SQLiteDatabase$OpenParams$Builder of android.database.sqlite.SQLiteDatabase$OpenParams