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: .line 52
            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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        start local 4 // int version
         0: .line 78
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* factory */
            iload 4 /* version */
            aconst_null
            invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V
         1: .line 79
            return
        end local 4 // int version
        end local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        start local 4 // int version
        start local 5 // android.database.DatabaseErrorHandler errorHandler
         0: .line 101
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            aload 3 /* factory */
            iload 4 /* version */
            iconst_0
            aload 5 /* errorHandler */
            invokespecial android.database.sqlite.SQLiteOpenHelper.<init>:(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
         1: .line 102
            return
        end local 5 // android.database.DatabaseErrorHandler errorHandler
        end local 4 // int version
        end local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // int version
        start local 4 // android.database.sqlite.SQLiteDatabase$OpenParams openParams
         0: .line 121
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            iload 3 /* version */
            iconst_0
            aload 4 /* openParams */
            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: .line 122
            return
        end local 4 // android.database.sqlite.SQLiteDatabase$OpenParams openParams
        end local 3 // int version
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        start local 4 // int version
        start local 5 // int minimumSupportedVersion
        start local 6 // android.database.DatabaseErrorHandler errorHandler
         0: .line 150
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* name */
            iload 4 /* version */
            iload 5 /* minimumSupportedVersion */
         1: .line 151
            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: .line 152
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            aload 3 /* factory */
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setCursorFactory:(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            pop
         3: .line 153
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            aload 6 /* errorHandler */
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setErrorHandler:(Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            pop
         4: .line 154
            return
        end local 6 // android.database.DatabaseErrorHandler errorHandler
        end local 5 // int minimumSupportedVersion
        end local 4 // int version
        end local 3 // android.database.sqlite.SQLiteDatabase$CursorFactory factory
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.content.Context context
        start local 2 // java.lang.String name
        start local 3 // int version
        start local 4 // int minimumSupportedVersion
        start local 5 // android.database.sqlite.SQLiteDatabase$OpenParams$Builder openParamsBuilder
         0: .line 156
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 159
            aload 5 /* openParamsBuilder */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 160
            iload 3 /* version */
            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 /* version */
            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: .line 162
      StackMap locals: android.database.sqlite.SQLiteOpenHelper android.content.Context java.lang.String int int android.database.sqlite.SQLiteDatabase$OpenParams$Builder
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            putfield android.database.sqlite.SQLiteOpenHelper.mContext:Landroid/content/Context;
         4: .line 163
            aload 0 /* this */
            aload 2 /* name */
            putfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
         5: .line 164
            aload 0 /* this */
            iload 3 /* version */
            putfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
         6: .line 165
            aload 0 /* this */
            iconst_0
            iload 4 /* minimumSupportedVersion */
            invokestatic java.lang.Math.max:(II)I
            putfield android.database.sqlite.SQLiteOpenHelper.mMinimumSupportedVersion:I
         7: .line 166
            aload 0 /* this */
            aload 5 /* openParamsBuilder */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.setOpenParamsBuilder:(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
         8: .line 167
            return
        end local 5 // android.database.sqlite.SQLiteDatabase$OpenParams$Builder openParamsBuilder
        end local 4 // int minimumSupportedVersion
        end local 3 // int version
        end local 2 // java.lang.String name
        end local 1 // android.content.Context context
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
         0: .line 174
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
            areturn
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // boolean enabled
         0: .line 189
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 190
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.isWriteAheadLoggingEnabled:()Z
            iload 1 /* enabled */
            if_icmpeq 8
         2: .line 191
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 7
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifeq 7
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
            ifne 7
         3: .line 192
            iload 1 /* enabled */
            ifeq 6
         4: .line 193
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.enableWriteAheadLogging:()Z
            pop
         5: .line 194
            goto 7
         6: .line 195
      StackMap locals: android.database.sqlite.SQLiteOpenHelper
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.disableWriteAheadLogging:()V
         7: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            iload 1 /* enabled */
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setWriteAheadLoggingEnabled:(Z)V
         8: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 189
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // int slotSize
        start local 2 // int slotCount
         0: .line 224
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 225
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 5
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifeq 5
         2: .line 226
            new java.lang.IllegalStateException
            dup
         3: .line 227
            ldc "Lookaside memory config cannot be changed after opening the database"
         4: .line 226
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 229
      StackMap locals: android.database.sqlite.SQLiteOpenHelper
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            iload 1 /* slotSize */
            iload 2 /* slotCount */
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setLookasideConfig:(II)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            pop
         6: .line 224
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int slotCount
        end local 1 // int slotSize
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase$OpenParams openParams
         0: .line 242
            aload 1 /* openParams */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 243
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 244
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 6
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifeq 6
         3: .line 245
            new java.lang.IllegalStateException
            dup
         4: .line 246
            ldc "OpenParams cannot be set after opening the database"
         5: .line 245
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 248
      StackMap locals: android.database.sqlite.SQLiteOpenHelper
      StackMap stack:
            aload 0 /* this */
            new android.database.sqlite.SQLiteDatabase$OpenParams$Builder
            dup
            aload 1 /* openParams */
            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: .line 243
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.database.sqlite.SQLiteDatabase$OpenParams openParams
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase$OpenParams$Builder openParamsBuilder
         0: .line 253
            aload 0 /* this */
            aload 1 /* openParamsBuilder */
            putfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
         1: .line 254
            aload 0 /* this */
            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: .line 255
            return
        end local 1 // android.database.sqlite.SQLiteDatabase$OpenParams$Builder openParamsBuilder
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // long idleConnectionTimeoutMs
         0: .line 268
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 269
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 5
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifeq 5
         2: .line 270
            new java.lang.IllegalStateException
            dup
         3: .line 271
            ldc "Connection timeout setting cannot be changed after opening the database"
         4: .line 270
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 273
      StackMap locals: android.database.sqlite.SQLiteOpenHelper
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mOpenParamsBuilder:Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            lload 1 /* idleConnectionTimeoutMs */
            invokevirtual android.database.sqlite.SQLiteDatabase$OpenParams$Builder.setIdleConnectionTimeout:(J)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
            pop
         6: .line 268
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 275
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long idleConnectionTimeoutMs
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
         0: .line 297
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 298
            aload 0 /* this */
            iconst_1
            invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
            aload 1
            monitorexit
         2: areturn
         3: .line 297
      StackMap locals: android.database.sqlite.SQLiteOpenHelper android.database.sqlite.SQLiteOpenHelper
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
         0: .line 321
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 322
            aload 0 /* this */
            iconst_0
            invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
            aload 1
            monitorexit
         2: areturn
         3: .line 321
      StackMap locals: android.database.sqlite.SQLiteOpenHelper android.database.sqlite.SQLiteOpenHelper
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // boolean writable
         0: .line 327
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 6
         1: .line 328
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifne 4
         2: .line 330
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
         3: .line 331
            goto 6
      StackMap locals:
      StackMap stack:
         4: iload 1 /* writable */
            ifeq 5
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
            ifne 6
         5: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            areturn
         6: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
            ifeq 8
         7: .line 338
            new java.lang.IllegalStateException
            dup
            ldc "getDatabase called recursively"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            astore 2 /* db */
        start local 2 // android.database.sqlite.SQLiteDatabase db
         9: .line 343
            aload 0 /* this */
            iconst_1
            putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
        10: .line 345
            aload 2 /* db */
            ifnull 14
        11: .line 346
            iload 1 /* writable */
            ifeq 30
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
            ifeq 30
        12: .line 347
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.reopenReadWrite:()V
        13: .line 349
            goto 30
      StackMap locals: android.database.sqlite.SQLiteDatabase
      StackMap stack:
        14: aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
            ifnonnull 17
        15: .line 350
            aload 0 /* this */
            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 /* db */
        16: .line 351
            goto 30
        17: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mContext:Landroid/content/Context;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
            invokevirtual android.content.Context.getDatabasePath:(Ljava/lang/String;)Ljava/io/File;
            astore 3 /* filePath */
        start local 3 // java.io.File filePath
        18: .line 353
            aload 0 /* this */
            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 /* params */
        start local 4 // android.database.sqlite.SQLiteDatabase$OpenParams params
        19: .line 355
            aload 3 /* filePath */
            aload 4 /* params */
            invokestatic android.database.sqlite.SQLiteDatabase.openDatabase:(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
            astore 2 /* db */
        20: .line 357
            aload 3 /* filePath */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic android.database.sqlite.SQLiteOpenHelper.setFilePermissionsForDb:(Ljava/lang/String;)V
        21: .line 358
            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 /* ex */
        start local 5 // android.database.SQLException ex
        23: .line 359
            iload 1 /* writable */
            ifeq 25
        24: .line 360
            aload 5 /* ex */
            athrow
        25: .line 362
      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 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 363
            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 /* ex */
        27: .line 362
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        28: .line 364
            aload 4 /* params */
            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 /* params */
        29: .line 365
            aload 3 /* filePath */
            aload 4 /* params */
            invokestatic android.database.sqlite.SQLiteDatabase.openDatabase:(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
            astore 2 /* db */
        end local 5 // android.database.SQLException ex
        end local 4 // android.database.sqlite.SQLiteDatabase$OpenParams params
        end local 3 // java.io.File filePath
        30: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onConfigure:(Landroid/database/sqlite/SQLiteDatabase;)V
        31: .line 371
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.getVersion:()I
            istore 3 /* version */
        start local 3 // int version
        32: .line 372
            iload 3 /* version */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
            if_icmpeq 66
        33: .line 373
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
            ifeq 37
        34: .line 374
            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: .line 375
            aload 2 /* db */
            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 /* this */
            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 /* this */
            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: .line 374
            invokespecial android.database.sqlite.SQLiteException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 378
      StackMap locals: int
      StackMap stack:
            iload 3 /* version */
            ifle 51
            iload 3 /* version */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mMinimumSupportedVersion:I
            if_icmpge 51
        38: .line 379
            new java.io.File
            dup
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* databaseFile */
        start local 4 // java.io.File databaseFile
        39: .line 380
            aload 0 /* this */
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onBeforeDelete:(Landroid/database/sqlite/SQLiteDatabase;)V
        40: .line 381
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
        41: .line 382
            aload 4 /* databaseFile */
            invokestatic android.database.sqlite.SQLiteDatabase.deleteDatabase:(Ljava/io/File;)Z
            ifeq 48
        42: .line 383
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
        43: .line 384
            aload 0 /* this */
            iload 1 /* writable */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked:(Z)Landroid/database/sqlite/SQLiteDatabase;
            astore 7
        44: .line 418
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
        45: .line 419
            aload 2 /* db */
            ifnull 47
            aload 2 /* db */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            if_acmpeq 47
        46: .line 420
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
        47: .line 384
      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: .line 386
      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: .line 387
            aload 0 /* this */
            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 /* version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 386
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.io.File databaseFile
        51: .line 390
      StackMap locals:
      StackMap stack:
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
        52: .line 392
            iload 3 /* version */
            ifne 55
        53: .line 393
            aload 0 /* this */
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onCreate:(Landroid/database/sqlite/SQLiteDatabase;)V
        54: .line 394
            goto 59
        55: .line 395
      StackMap locals:
      StackMap stack:
            iload 3 /* version */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
            if_icmple 58
        56: .line 396
            aload 0 /* this */
            aload 2 /* db */
            iload 3 /* version */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onDowngrade:(Landroid/database/sqlite/SQLiteDatabase;II)V
        57: .line 397
            goto 59
        58: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* db */
            iload 3 /* version */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onUpgrade:(Landroid/database/sqlite/SQLiteDatabase;II)V
        59: .line 401
      StackMap locals:
      StackMap stack:
            aload 2 /* db */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mNewVersion:I
            invokevirtual android.database.sqlite.SQLiteDatabase.setVersion:(I)V
        60: .line 402
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
        61: .line 403
            goto 65
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 4
        63: .line 404
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
        64: .line 405
            aload 4
            athrow
        65: .line 404
      StackMap locals:
      StackMap stack:
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
        66: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteOpenHelper.onOpen:(Landroid/database/sqlite/SQLiteDatabase;)V
        67: .line 411
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.isReadOnly:()Z
            ifeq 69
        68: .line 412
            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 /* this */
            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: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* db */
            putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
        70: .line 416
            aload 2 /* db */
            astore 7
        71: .line 418
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
        72: .line 419
            aload 2 /* db */
            ifnull 74
            aload 2 /* db */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            if_acmpeq 74
        73: .line 420
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
        74: .line 416
      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 // int version
        75: .line 417
      StackMap locals: android.database.sqlite.SQLiteOpenHelper int android.database.sqlite.SQLiteDatabase
      StackMap stack: java.lang.Throwable
            astore 6
        76: .line 418
            aload 0 /* this */
            iconst_0
            putfield android.database.sqlite.SQLiteOpenHelper.mIsInitializing:Z
        77: .line 419
            aload 2 /* db */
            ifnull 79
            aload 2 /* db */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            if_acmpeq 79
        78: .line 420
            aload 2 /* db */
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
        79: .line 422
      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 // android.database.sqlite.SQLiteDatabase db
        end local 1 // boolean writable
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // java.lang.String dbPath
         0: .line 426
            sipush 432
            istore 1 /* perms */
        start local 1 // int perms
         1: .line 427
            aload 0 /* dbPath */
            iload 1 /* perms */
            iconst_m1
            iconst_m1
            invokestatic android.os.FileUtils.setPermissions:(Ljava/lang/String;III)I
            pop
         2: .line 428
            return
        end local 1 // int perms
        end local 0 // java.lang.String dbPath
      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 // android.database.sqlite.SQLiteOpenHelper this
         0: .line 434
            aload 0 /* this */
            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: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            ifnull 4
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
            ifeq 4
         2: .line 437
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
            invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
         3: .line 438
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteOpenHelper.mDatabase:Landroid/database/sqlite/SQLiteDatabase;
         4: .line 440
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase db
         0: .line 459
            return
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase db
         0: .line 473
            return
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase db
        start local 2 // int oldVersion
        start local 3 // int newVersion
         0: .line 522
            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: .line 523
            iload 2 /* oldVersion */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* newVersion */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 522
            invokespecial android.database.sqlite.SQLiteException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int newVersion
        end local 2 // int oldVersion
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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 // android.database.sqlite.SQLiteOpenHelper this
        start local 1 // android.database.sqlite.SQLiteDatabase db
         0: .line 539
            return
        end local 1 // android.database.sqlite.SQLiteDatabase db
        end local 0 // android.database.sqlite.SQLiteOpenHelper this
      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