public final class android.database.sqlite.SQLiteSession
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.database.sqlite.SQLiteSession
  super_class: java.lang.Object
{
  private final android.database.sqlite.SQLiteConnectionPool mConnectionPool;
    descriptor: Landroid/database/sqlite/SQLiteConnectionPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.database.sqlite.SQLiteConnection mConnection;
    descriptor: Landroid/database/sqlite/SQLiteConnection;
    flags: (0x0002) ACC_PRIVATE

  private int mConnectionFlags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mConnectionUseCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteSession$Transaction mTransactionPool;
    descriptor: Landroid/database/sqlite/SQLiteSession$Transaction;
    flags: (0x0002) ACC_PRIVATE

  private android.database.sqlite.SQLiteSession$Transaction mTransactionStack;
    descriptor: Landroid/database/sqlite/SQLiteSession$Transaction;
    flags: (0x0002) ACC_PRIVATE

  public static final int TRANSACTION_MODE_DEFERRED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int TRANSACTION_MODE_IMMEDIATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TRANSACTION_MODE_EXCLUSIVE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 163
            ldc Landroid/database/sqlite/SQLiteSession;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
         3: .line 220
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.database.sqlite.SQLiteConnectionPool);
    descriptor: (Landroid/database/sqlite/SQLiteConnectionPool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // android.database.sqlite.SQLiteConnectionPool connectionPool
         0: .line 227
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 228
            aload 1 /* connectionPool */
            ifnonnull 3
         2: .line 229
            new java.lang.IllegalArgumentException
            dup
            ldc "connectionPool must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 232
      StackMap locals: android.database.sqlite.SQLiteSession android.database.sqlite.SQLiteConnectionPool
      StackMap stack:
            aload 0 /* this */
            aload 1 /* connectionPool */
            putfield android.database.sqlite.SQLiteSession.mConnectionPool:Landroid/database/sqlite/SQLiteConnectionPool;
         4: .line 233
            return
        end local 1 // android.database.sqlite.SQLiteConnectionPool connectionPool
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Landroid/database/sqlite/SQLiteSession;
            0    5     1  connectionPool  Landroid/database/sqlite/SQLiteConnectionPool;
    MethodParameters:
                Name  Flags
      connectionPool  

  public boolean hasTransaction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 241
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteSession;

  public boolean hasNestedTransaction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 250
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 1
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteSession;

  public boolean hasConnection();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 259
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/database/sqlite/SQLiteSession;

  public void beginTransaction(int, android.database.sqlite.SQLiteTransactionListener, int, android.os.CancellationSignal);
    descriptor: (ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // int transactionMode
        start local 2 // android.database.sqlite.SQLiteTransactionListener transactionListener
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 297
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfTransactionMarkedSuccessful:()V
         1: .line 298
            aload 0 /* this */
            iload 1 /* transactionMode */
            aload 2 /* transactionListener */
            iload 3 /* connectionFlags */
         2: .line 299
            aload 4 /* cancellationSignal */
         3: .line 298
            invokevirtual android.database.sqlite.SQLiteSession.beginTransactionUnchecked:(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
         4: .line 300
            return
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // android.database.sqlite.SQLiteTransactionListener transactionListener
        end local 1 // int transactionMode
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Landroid/database/sqlite/SQLiteSession;
            0    5     1      transactionMode  I
            0    5     2  transactionListener  Landroid/database/sqlite/SQLiteTransactionListener;
            0    5     3      connectionFlags  I
            0    5     4   cancellationSignal  Landroid/os/CancellationSignal;
    MethodParameters:
                     Name  Flags
      transactionMode      
      transactionListener  
      connectionFlags      
      cancellationSignal   

  private void beginTransactionUnchecked(int, android.database.sqlite.SQLiteTransactionListener, int, android.os.CancellationSignal);
    descriptor: (ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // int transactionMode
        start local 2 // android.database.sqlite.SQLiteTransactionListener transactionListener
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 305
            aload 4 /* cancellationSignal */
            ifnull 2
         1: .line 306
            aload 4 /* cancellationSignal */
            invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 4
         3: .line 310
            aload 0 /* this */
            aconst_null
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         4: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 15
         5: .line 317
            iload 1 /* transactionMode */
            tableswitch { // 1 - 2
                    1: 6
                    2: 10
              default: 14
          }
         6: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "BEGIN IMMEDIATE;"
            aconst_null
         7: .line 320
            aload 4 /* cancellationSignal */
         8: .line 319
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
         9: .line 321
            goto 15
        10: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "BEGIN EXCLUSIVE;"
            aconst_null
        11: .line 324
            aload 4 /* cancellationSignal */
        12: .line 323
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
        13: .line 325
            goto 15
        14: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "BEGIN;"
            aconst_null
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
        15: .line 333
      StackMap locals:
      StackMap stack:
            aload 2 /* transactionListener */
            ifnull 22
        16: .line 335
            aload 2 /* transactionListener */
            invokeinterface android.database.sqlite.SQLiteTransactionListener.onBegin:()V
        17: .line 336
            goto 22
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        18: astore 5 /* ex */
        start local 5 // java.lang.RuntimeException ex
        19: .line 337
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 21
        20: .line 338
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "ROLLBACK;"
            aconst_null
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
        21: .line 340
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 5 /* ex */
            athrow
        end local 5 // java.lang.RuntimeException ex
        22: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* transactionMode */
            aload 2 /* transactionListener */
            invokevirtual android.database.sqlite.SQLiteSession.obtainTransaction:(ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction;
            astore 5 /* transaction */
        start local 5 // android.database.sqlite.SQLiteSession$Transaction transaction
        23: .line 346
            aload 5 /* transaction */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            putfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
        24: .line 347
            aload 0 /* this */
            aload 5 /* transaction */
            putfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
        end local 5 // android.database.sqlite.SQLiteSession$Transaction transaction
        25: .line 348
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 6
        27: .line 349
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 29
        28: .line 350
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        29: .line 352
      StackMap locals: android.database.sqlite.SQLiteSession int android.database.sqlite.SQLiteTransactionListener int android.os.CancellationSignal top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        30: .line 349
      StackMap locals: android.database.sqlite.SQLiteSession int android.database.sqlite.SQLiteTransactionListener int android.os.CancellationSignal
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 32
        31: .line 350
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        32: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // android.database.sqlite.SQLiteTransactionListener transactionListener
        end local 1 // int transactionMode
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Landroid/database/sqlite/SQLiteSession;
            0   33     1      transactionMode  I
            0   33     2  transactionListener  Landroid/database/sqlite/SQLiteTransactionListener;
            0   33     3      connectionFlags  I
            0   33     4   cancellationSignal  Landroid/os/CancellationSignal;
           19   22     5                   ex  Ljava/lang/RuntimeException;
           23   25     5          transaction  Landroid/database/sqlite/SQLiteSession$Transaction;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.RuntimeException
           4    26      26  any
    MethodParameters:
                     Name  Flags
      transactionMode      
      transactionListener  
      connectionFlags      
      cancellationSignal   

  public void setTransactionSuccessful();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 371
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfNoTransaction:()V
         1: .line 372
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfTransactionMarkedSuccessful:()V
         2: .line 374
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            iconst_1
            putfield android.database.sqlite.SQLiteSession$Transaction.mMarkedSuccessful:Z
         3: .line 375
            return
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/database/sqlite/SQLiteSession;

  public void endTransaction(android.os.CancellationSignal);
    descriptor: (Landroid/os/CancellationSignal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // android.os.CancellationSignal cancellationSignal
         0: .line 398
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfNoTransaction:()V
         1: .line 399
            getstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cancellationSignal */
            iconst_0
            invokevirtual android.database.sqlite.SQLiteSession.endTransactionUnchecked:(Landroid/os/CancellationSignal;Z)V
         3: .line 402
            return
        end local 1 // android.os.CancellationSignal cancellationSignal
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Landroid/database/sqlite/SQLiteSession;
            0    4     1  cancellationSignal  Landroid/os/CancellationSignal;
    MethodParameters:
                    Name  Flags
      cancellationSignal  

  private void endTransactionUnchecked(android.os.CancellationSignal, boolean);
    descriptor: (Landroid/os/CancellationSignal;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // android.os.CancellationSignal cancellationSignal
        start local 2 // boolean yielding
         0: .line 405
            aload 1 /* cancellationSignal */
            ifnull 2
         1: .line 406
            aload 1 /* cancellationSignal */
            invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
         2: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            astore 3 /* top */
        start local 3 // android.database.sqlite.SQLiteSession$Transaction top
         3: .line 410
            aload 3 /* top */
            getfield android.database.sqlite.SQLiteSession$Transaction.mMarkedSuccessful:Z
            ifne 4
            iload 2 /* yielding */
            ifeq 5
      StackMap locals: android.database.sqlite.SQLiteSession$Transaction
      StackMap stack:
         4: aload 3 /* top */
            getfield android.database.sqlite.SQLiteSession$Transaction.mChildFailed:Z
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* successful */
        start local 4 // boolean successful
         7: .line 412
            aconst_null
            astore 5 /* listenerException */
        start local 5 // java.lang.RuntimeException listenerException
         8: .line 413
            aload 3 /* top */
            getfield android.database.sqlite.SQLiteSession$Transaction.mListener:Landroid/database/sqlite/SQLiteTransactionListener;
            astore 6 /* listener */
        start local 6 // android.database.sqlite.SQLiteTransactionListener listener
         9: .line 414
            aload 6 /* listener */
            ifnull 18
        10: .line 416
            iload 4 /* successful */
            ifeq 13
        11: .line 417
            aload 6 /* listener */
            invokeinterface android.database.sqlite.SQLiteTransactionListener.onCommit:()V
        12: .line 418
            goto 18
        13: .line 419
      StackMap locals: int java.lang.RuntimeException android.database.sqlite.SQLiteTransactionListener
      StackMap stack:
            aload 6 /* listener */
            invokeinterface android.database.sqlite.SQLiteTransactionListener.onRollback:()V
        14: .line 421
            goto 18
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        15: astore 7 /* ex */
        start local 7 // java.lang.RuntimeException ex
        16: .line 422
            aload 7 /* ex */
            astore 5 /* listenerException */
        17: .line 423
            iconst_0
            istore 4 /* successful */
        end local 7 // java.lang.RuntimeException ex
        18: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* top */
            getfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
            putfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
        19: .line 428
            aload 0 /* this */
            aload 3 /* top */
            invokevirtual android.database.sqlite.SQLiteSession.recycleTransaction:(Landroid/database/sqlite/SQLiteSession$Transaction;)V
        20: .line 430
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 24
        21: .line 431
            iload 4 /* successful */
            ifne 33
        22: .line 432
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            iconst_1
            putfield android.database.sqlite.SQLiteSession$Transaction.mChildFailed:Z
        23: .line 434
            goto 33
        24: .line 436
      StackMap locals:
      StackMap stack:
            iload 4 /* successful */
            ifeq 27
        25: .line 437
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "COMMIT;"
            aconst_null
            aload 1 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
        26: .line 438
            goto 32
        27: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ldc "ROLLBACK;"
            aconst_null
            aload 1 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
        28: .line 441
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 7
        30: .line 442
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        31: .line 443
            aload 7
            athrow
        32: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        33: .line 446
      StackMap locals:
      StackMap stack:
            aload 5 /* listenerException */
            ifnull 35
        34: .line 447
            aload 5 /* listenerException */
            athrow
        35: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 6 // android.database.sqlite.SQLiteTransactionListener listener
        end local 5 // java.lang.RuntimeException listenerException
        end local 4 // boolean successful
        end local 3 // android.database.sqlite.SQLiteSession$Transaction top
        end local 2 // boolean yielding
        end local 1 // android.os.CancellationSignal cancellationSignal
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   36     0                this  Landroid/database/sqlite/SQLiteSession;
            0   36     1  cancellationSignal  Landroid/os/CancellationSignal;
            0   36     2            yielding  Z
            3   36     3                 top  Landroid/database/sqlite/SQLiteSession$Transaction;
            7   36     4          successful  Z
            8   36     5   listenerException  Ljava/lang/RuntimeException;
            9   36     6            listener  Landroid/database/sqlite/SQLiteTransactionListener;
           16   18     7                  ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          10    14      15  Class java.lang.RuntimeException
          24    29      29  any
    MethodParameters:
                    Name  Flags
      cancellationSignal  
      yielding            

  public boolean yieldTransaction(long, boolean, android.os.CancellationSignal);
    descriptor: (JZLandroid/os/CancellationSignal;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // long sleepAfterYieldDelayMillis
        start local 3 // boolean throwIfUnsafe
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 504
            iload 3 /* throwIfUnsafe */
            ifeq 5
         1: .line 505
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfNoTransaction:()V
         2: .line 506
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfTransactionMarkedSuccessful:()V
         3: .line 507
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.throwIfNestedTransaction:()V
         4: .line 508
            goto 8
         5: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 7
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mMarkedSuccessful:Z
            ifne 7
         6: .line 510
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 8
         7: .line 511
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         8: .line 514
      StackMap locals:
      StackMap stack:
            getstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mChildFailed:Z
            ifeq 11
        10: .line 517
            iconst_0
            ireturn
        11: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* sleepAfterYieldDelayMillis */
        12: .line 521
            aload 4 /* cancellationSignal */
        13: .line 520
            invokevirtual android.database.sqlite.SQLiteSession.yieldTransactionUnchecked:(JLandroid/os/CancellationSignal;)Z
            ireturn
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // boolean throwIfUnsafe
        end local 1 // long sleepAfterYieldDelayMillis
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   14     0                        this  Landroid/database/sqlite/SQLiteSession;
            0   14     1  sleepAfterYieldDelayMillis  J
            0   14     3               throwIfUnsafe  Z
            0   14     4          cancellationSignal  Landroid/os/CancellationSignal;
    MethodParameters:
                            Name  Flags
      sleepAfterYieldDelayMillis  
      throwIfUnsafe               
      cancellationSignal          

  private boolean yieldTransactionUnchecked(long, android.os.CancellationSignal);
    descriptor: (JLandroid/os/CancellationSignal;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // long sleepAfterYieldDelayMillis
        start local 3 // android.os.CancellationSignal cancellationSignal
         0: .line 526
            aload 3 /* cancellationSignal */
            ifnull 2
         1: .line 527
            aload 3 /* cancellationSignal */
            invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
         2: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionPool:Landroid/database/sqlite/SQLiteConnectionPool;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionFlags:I
            invokevirtual android.database.sqlite.SQLiteConnectionPool.shouldYieldConnection:(Landroid/database/sqlite/SQLiteConnection;I)Z
            ifne 4
         3: .line 531
            iconst_0
            ireturn
         4: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mMode:I
            istore 4 /* transactionMode */
        start local 4 // int transactionMode
         5: .line 535
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mListener:Landroid/database/sqlite/SQLiteTransactionListener;
            astore 5 /* listener */
        start local 5 // android.database.sqlite.SQLiteTransactionListener listener
         6: .line 536
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionFlags:I
            istore 6 /* connectionFlags */
        start local 6 // int connectionFlags
         7: .line 537
            aload 0 /* this */
            aload 3 /* cancellationSignal */
            iconst_1
            invokevirtual android.database.sqlite.SQLiteSession.endTransactionUnchecked:(Landroid/os/CancellationSignal;Z)V
         8: .line 539
            lload 1 /* sleepAfterYieldDelayMillis */
            lconst_0
            lcmp
            ifle 12
         9: .line 541
            lload 1 /* sleepAfterYieldDelayMillis */
            invokestatic java.lang.Thread.sleep:(J)V
        10: .line 542
            goto 12
      StackMap locals: android.database.sqlite.SQLiteSession long android.os.CancellationSignal int android.database.sqlite.SQLiteTransactionListener int
      StackMap stack: java.lang.InterruptedException
        11: pop
        12: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* transactionMode */
            aload 5 /* listener */
            iload 6 /* connectionFlags */
        13: .line 548
            aload 3 /* cancellationSignal */
        14: .line 547
            invokevirtual android.database.sqlite.SQLiteSession.beginTransactionUnchecked:(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
        15: .line 549
            iconst_1
            ireturn
        end local 6 // int connectionFlags
        end local 5 // android.database.sqlite.SQLiteTransactionListener listener
        end local 4 // int transactionMode
        end local 3 // android.os.CancellationSignal cancellationSignal
        end local 1 // long sleepAfterYieldDelayMillis
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Landroid/database/sqlite/SQLiteSession;
            0   16     1  sleepAfterYieldDelayMillis  J
            0   16     3          cancellationSignal  Landroid/os/CancellationSignal;
            5   16     4             transactionMode  I
            6   16     5                    listener  Landroid/database/sqlite/SQLiteTransactionListener;
            7   16     6             connectionFlags  I
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.InterruptedException
    MethodParameters:
                            Name  Flags
      sleepAfterYieldDelayMillis  
      cancellationSignal          

  public void prepare(java.lang.String, int, android.os.CancellationSignal, android.database.sqlite.SQLiteStatementInfo);
    descriptor: (Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // int connectionFlags
        start local 3 // android.os.CancellationSignal cancellationSignal
        start local 4 // android.database.sqlite.SQLiteStatementInfo outStatementInfo
         0: .line 578
            aload 1 /* sql */
            ifnonnull 2
         1: .line 579
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 582
      StackMap locals:
      StackMap stack:
            aload 3 /* cancellationSignal */
            ifnull 4
         3: .line 583
            aload 3 /* cancellationSignal */
            invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
         4: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 2 /* connectionFlags */
            aload 3 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 588
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 4 /* outStatementInfo */
            invokevirtual android.database.sqlite.SQLiteConnection.prepare:(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V
         6: .line 589
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 590
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         9: .line 591
            aload 5
            athrow
        10: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        11: .line 592
            return
        end local 4 // android.database.sqlite.SQLiteStatementInfo outStatementInfo
        end local 3 // android.os.CancellationSignal cancellationSignal
        end local 2 // int connectionFlags
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Landroid/database/sqlite/SQLiteSession;
            0   12     1                 sql  Ljava/lang/String;
            0   12     2     connectionFlags  I
            0   12     3  cancellationSignal  Landroid/os/CancellationSignal;
            0   12     4    outStatementInfo  Landroid/database/sqlite/SQLiteStatementInfo;
      Exception table:
        from    to  target  type
           5     7       7  any
    MethodParameters:
                    Name  Flags
      sql                 
      connectionFlags     
      cancellationSignal  
      outStatementInfo    

  public void execute(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 609
            aload 1 /* sql */
            ifnonnull 2
         1: .line 610
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 614
            return
         4: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 619
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.execute:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
         6: .line 620
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 621
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         9: .line 622
            aload 5
            athrow
        10: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        11: .line 623
            return
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Landroid/database/sqlite/SQLiteSession;
            0   12     1                 sql  Ljava/lang/String;
            0   12     2            bindArgs  [Ljava/lang/Object;
            0   12     3     connectionFlags  I
            0   12     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     7       7  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public long executeForLong(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 642
            aload 1 /* sql */
            ifnonnull 2
         1: .line 643
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 647
            lconst_0
            lreturn
         4: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 652
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.executeForLong:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
            lstore 6
         6: .line 654
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         7: .line 652
            lload 6
            lreturn
         8: .line 653
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         9: .line 654
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        10: .line 655
            aload 5
            athrow
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Landroid/database/sqlite/SQLiteSession;
            0   11     1                 sql  Ljava/lang/String;
            0   11     2            bindArgs  [Ljava/lang/Object;
            0   11     3     connectionFlags  I
            0   11     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     6       8  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public java.lang.String executeForString(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 675
            aload 1 /* sql */
            ifnonnull 2
         1: .line 676
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 680
            aconst_null
            areturn
         4: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 685
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteConnection.executeForString:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;
            astore 6
         6: .line 687
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         7: .line 685
            aload 6
            areturn
         8: .line 686
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
         9: .line 687
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        10: .line 688
            aload 5
            athrow
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Landroid/database/sqlite/SQLiteSession;
            0   11     1                 sql  Ljava/lang/String;
            0   11     2            bindArgs  [Ljava/lang/Object;
            0   11     3     connectionFlags  I
            0   11     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     6       8  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public android.os.ParcelFileDescriptor executeForBlobFileDescriptor(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 710
            aload 1 /* sql */
            ifnonnull 2
         1: .line 711
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 715
            aconst_null
            areturn
         4: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 720
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
         6: .line 721
            aload 4 /* cancellationSignal */
         7: .line 720
            invokevirtual android.database.sqlite.SQLiteConnection.executeForBlobFileDescriptor:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
            astore 6
         8: .line 723
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         9: .line 720
            aload 6
            areturn
        10: .line 722
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 723
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        12: .line 724
            aload 5
            athrow
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Landroid/database/sqlite/SQLiteSession;
            0   13     1                 sql  Ljava/lang/String;
            0   13     2            bindArgs  [Ljava/lang/Object;
            0   13     3     connectionFlags  I
            0   13     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     8      10  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public int executeForChangedRowCount(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 744
            aload 1 /* sql */
            ifnonnull 2
         1: .line 745
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 749
            iconst_0
            ireturn
         4: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 754
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
         6: .line 755
            aload 4 /* cancellationSignal */
         7: .line 754
            invokevirtual android.database.sqlite.SQLiteConnection.executeForChangedRowCount:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I
            istore 6
         8: .line 757
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         9: .line 754
            iload 6
            ireturn
        10: .line 756
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 757
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        12: .line 758
            aload 5
            athrow
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Landroid/database/sqlite/SQLiteSession;
            0   13     1                 sql  Ljava/lang/String;
            0   13     2            bindArgs  [Ljava/lang/Object;
            0   13     3     connectionFlags  I
            0   13     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     8      10  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public long executeForLastInsertedRowId(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 778
            aload 1 /* sql */
            ifnonnull 2
         1: .line 779
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 4
         3: .line 783
            lconst_0
            lreturn
         4: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 3 /* connectionFlags */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         5: .line 788
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
         6: .line 789
            aload 4 /* cancellationSignal */
         7: .line 788
            invokevirtual android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId:(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
            lstore 6
         8: .line 791
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
         9: .line 788
            lload 6
            lreturn
        10: .line 790
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 791
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        12: .line 792
            aload 5
            athrow
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Landroid/database/sqlite/SQLiteSession;
            0   13     1                 sql  Ljava/lang/String;
            0   13     2            bindArgs  [Ljava/lang/Object;
            0   13     3     connectionFlags  I
            0   13     4  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           5     8      10  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  public int executeForCursorWindow(java.lang.String, java.lang.Object[], android.database.CursorWindow, int, int, boolean, int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=9
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // android.database.CursorWindow window
        start local 4 // int startPos
        start local 5 // int requiredPos
        start local 6 // boolean countAllRows
        start local 7 // int connectionFlags
        start local 8 // android.os.CancellationSignal cancellationSignal
         0: .line 822
            aload 1 /* sql */
            ifnonnull 2
         1: .line 823
            new java.lang.IllegalArgumentException
            dup
            ldc "sql must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 825
      StackMap locals:
      StackMap stack:
            aload 3 /* window */
            ifnonnull 4
         3: .line 826
            new java.lang.IllegalArgumentException
            dup
            ldc "window must not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* bindArgs */
            iload 7 /* connectionFlags */
            aload 8 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.executeSpecial:(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
            ifeq 7
         5: .line 830
            aload 3 /* window */
            invokevirtual android.database.CursorWindow.clear:()V
         6: .line 831
            iconst_0
            ireturn
         7: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sql */
            iload 7 /* connectionFlags */
            aload 8 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
         8: .line 836
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            aload 1 /* sql */
            aload 2 /* bindArgs */
         9: .line 837
            aload 3 /* window */
            iload 4 /* startPos */
            iload 5 /* requiredPos */
            iload 6 /* countAllRows */
        10: .line 838
            aload 8 /* cancellationSignal */
        11: .line 836
            invokevirtual android.database.sqlite.SQLiteConnection.executeForCursorWindow:(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I
            istore 10
        12: .line 840
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        13: .line 836
            iload 10
            ireturn
        14: .line 839
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        15: .line 840
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.releaseConnection:()V
        16: .line 841
            aload 9
            athrow
        end local 8 // android.os.CancellationSignal cancellationSignal
        end local 7 // int connectionFlags
        end local 6 // boolean countAllRows
        end local 5 // int requiredPos
        end local 4 // int startPos
        end local 3 // android.database.CursorWindow window
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Landroid/database/sqlite/SQLiteSession;
            0   17     1                 sql  Ljava/lang/String;
            0   17     2            bindArgs  [Ljava/lang/Object;
            0   17     3              window  Landroid/database/CursorWindow;
            0   17     4            startPos  I
            0   17     5         requiredPos  I
            0   17     6        countAllRows  Z
            0   17     7     connectionFlags  I
            0   17     8  cancellationSignal  Landroid/os/CancellationSignal;
      Exception table:
        from    to  target  type
           8    12      14  any
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      window              
      startPos            
      requiredPos         
      countAllRows        
      connectionFlags     
      cancellationSignal  

  private boolean executeSpecial(java.lang.String, java.lang.Object[], int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] bindArgs
        start local 3 // int connectionFlags
        start local 4 // android.os.CancellationSignal cancellationSignal
         0: .line 867
            aload 4 /* cancellationSignal */
            ifnull 2
         1: .line 868
            aload 4 /* cancellationSignal */
            invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
         2: .line 871
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            invokestatic android.database.DatabaseUtils.getSqlStatementType:(Ljava/lang/String;)I
            istore 5 /* type */
        start local 5 // int type
         3: .line 872
            iload 5 /* type */
            tableswitch { // 4 - 6
                    4: 4
                    5: 8
                    6: 11
              default: 13
          }
         4: .line 874
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_2
            aconst_null
            iload 3 /* connectionFlags */
         5: .line 875
            aload 4 /* cancellationSignal */
         6: .line 874
            invokevirtual android.database.sqlite.SQLiteSession.beginTransaction:(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
         7: .line 876
            iconst_1
            ireturn
         8: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.setTransactionSuccessful:()V
         9: .line 880
            aload 0 /* this */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.endTransaction:(Landroid/os/CancellationSignal;)V
        10: .line 881
            iconst_1
            ireturn
        11: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cancellationSignal */
            invokevirtual android.database.sqlite.SQLiteSession.endTransaction:(Landroid/os/CancellationSignal;)V
        12: .line 885
            iconst_1
            ireturn
        13: .line 887
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int type
        end local 4 // android.os.CancellationSignal cancellationSignal
        end local 3 // int connectionFlags
        end local 2 // java.lang.Object[] bindArgs
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Landroid/database/sqlite/SQLiteSession;
            0   14     1                 sql  Ljava/lang/String;
            0   14     2            bindArgs  [Ljava/lang/Object;
            0   14     3     connectionFlags  I
            0   14     4  cancellationSignal  Landroid/os/CancellationSignal;
            3   14     5                type  I
    MethodParameters:
                    Name  Flags
      sql                 
      bindArgs            
      connectionFlags     
      cancellationSignal  

  private void acquireConnection(java.lang.String, int, android.os.CancellationSignal);
    descriptor: (Ljava/lang/String;ILandroid/os/CancellationSignal;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // java.lang.String sql
        start local 2 // int connectionFlags
        start local 3 // android.os.CancellationSignal cancellationSignal
         0: .line 892
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ifnonnull 6
         1: .line 893
            getstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionPool:Landroid/database/sqlite/SQLiteConnectionPool;
            aload 1 /* sql */
            iload 2 /* connectionFlags */
         3: .line 895
            aload 3 /* cancellationSignal */
         4: .line 894
            invokevirtual android.database.sqlite.SQLiteConnectionPool.acquireConnection:(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;
            putfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
         5: .line 896
            aload 0 /* this */
            iload 2 /* connectionFlags */
            putfield android.database.sqlite.SQLiteSession.mConnectionFlags:I
         6: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
            iconst_1
            iadd
            putfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
         7: .line 899
            return
        end local 3 // android.os.CancellationSignal cancellationSignal
        end local 2 // int connectionFlags
        end local 1 // java.lang.String sql
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Landroid/database/sqlite/SQLiteSession;
            0    8     1                 sql  Ljava/lang/String;
            0    8     2     connectionFlags  I
            0    8     3  cancellationSignal  Landroid/os/CancellationSignal;
    MethodParameters:
                    Name  Flags
      sql                 
      connectionFlags     
      cancellationSignal  

  private void releaseConnection();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 902
            getstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 903
      StackMap locals:
      StackMap stack:
            getstatic android.database.sqlite.SQLiteSession.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
            ifgt 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
            iconst_1
            isub
            dup_x1
            putfield android.database.sqlite.SQLiteSession.mConnectionUseCount:I
            ifne 9
         3: .line 906
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnectionPool:Landroid/database/sqlite/SQLiteConnectionPool;
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
            invokevirtual android.database.sqlite.SQLiteConnectionPool.releaseConnection:(Landroid/database/sqlite/SQLiteConnection;)V
         4: .line 907
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 908
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
         7: .line 909
            aload 1
            athrow
         8: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.database.sqlite.SQLiteSession.mConnection:Landroid/database/sqlite/SQLiteConnection;
         9: .line 911
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/database/sqlite/SQLiteSession;
      Exception table:
        from    to  target  type
           3     5       5  any

  private void throwIfNoTransaction();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 914
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnonnull 2
         1: .line 915
            new java.lang.IllegalStateException
            dup
            ldc "Cannot perform this operation because there is no current transaction."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 918
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/sqlite/SQLiteSession;

  private void throwIfTransactionMarkedSuccessful();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 921
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            ifnull 2
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionStack:Landroid/database/sqlite/SQLiteSession$Transaction;
            getfield android.database.sqlite.SQLiteSession$Transaction.mMarkedSuccessful:Z
            ifeq 2
         1: .line 922
            new java.lang.IllegalStateException
            dup
            ldc "Cannot perform this operation because the transaction has already been marked successful.  The only thing you can do now is call endTransaction()."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 926
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/sqlite/SQLiteSession;

  private void throwIfNestedTransaction();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.database.sqlite.SQLiteSession this
         0: .line 929
            aload 0 /* this */
            invokevirtual android.database.sqlite.SQLiteSession.hasNestedTransaction:()Z
            ifeq 2
         1: .line 930
            new java.lang.IllegalStateException
            dup
            ldc "Cannot perform this operation because a nested transaction is in progress."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 933
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/database/sqlite/SQLiteSession;

  private android.database.sqlite.SQLiteSession$Transaction obtainTransaction(int, android.database.sqlite.SQLiteTransactionListener);
    descriptor: (ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // int mode
        start local 2 // android.database.sqlite.SQLiteTransactionListener listener
         0: .line 936
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionPool:Landroid/database/sqlite/SQLiteSession$Transaction;
            astore 3 /* transaction */
        start local 3 // android.database.sqlite.SQLiteSession$Transaction transaction
         1: .line 937
            aload 3 /* transaction */
            ifnull 7
         2: .line 938
            aload 0 /* this */
            aload 3 /* transaction */
            getfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
            putfield android.database.sqlite.SQLiteSession.mTransactionPool:Landroid/database/sqlite/SQLiteSession$Transaction;
         3: .line 939
            aload 3 /* transaction */
            aconst_null
            putfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
         4: .line 940
            aload 3 /* transaction */
            iconst_0
            putfield android.database.sqlite.SQLiteSession$Transaction.mMarkedSuccessful:Z
         5: .line 941
            aload 3 /* transaction */
            iconst_0
            putfield android.database.sqlite.SQLiteSession$Transaction.mChildFailed:Z
         6: .line 942
            goto 8
         7: .line 943
      StackMap locals: android.database.sqlite.SQLiteSession$Transaction
      StackMap stack:
            new android.database.sqlite.SQLiteSession$Transaction
            dup
            invokespecial android.database.sqlite.SQLiteSession$Transaction.<init>:()V
            astore 3 /* transaction */
         8: .line 945
      StackMap locals:
      StackMap stack:
            aload 3 /* transaction */
            iload 1 /* mode */
            putfield android.database.sqlite.SQLiteSession$Transaction.mMode:I
         9: .line 946
            aload 3 /* transaction */
            aload 2 /* listener */
            putfield android.database.sqlite.SQLiteSession$Transaction.mListener:Landroid/database/sqlite/SQLiteTransactionListener;
        10: .line 947
            aload 3 /* transaction */
            areturn
        end local 3 // android.database.sqlite.SQLiteSession$Transaction transaction
        end local 2 // android.database.sqlite.SQLiteTransactionListener listener
        end local 1 // int mode
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/database/sqlite/SQLiteSession;
            0   11     1         mode  I
            0   11     2     listener  Landroid/database/sqlite/SQLiteTransactionListener;
            1   11     3  transaction  Landroid/database/sqlite/SQLiteSession$Transaction;
    MethodParameters:
          Name  Flags
      mode      
      listener  

  private void recycleTransaction(android.database.sqlite.SQLiteSession$Transaction);
    descriptor: (Landroid/database/sqlite/SQLiteSession$Transaction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.database.sqlite.SQLiteSession this
        start local 1 // android.database.sqlite.SQLiteSession$Transaction transaction
         0: .line 951
            aload 1 /* transaction */
            aload 0 /* this */
            getfield android.database.sqlite.SQLiteSession.mTransactionPool:Landroid/database/sqlite/SQLiteSession$Transaction;
            putfield android.database.sqlite.SQLiteSession$Transaction.mParent:Landroid/database/sqlite/SQLiteSession$Transaction;
         1: .line 952
            aload 1 /* transaction */
            aconst_null
            putfield android.database.sqlite.SQLiteSession$Transaction.mListener:Landroid/database/sqlite/SQLiteTransactionListener;
         2: .line 953
            aload 0 /* this */
            aload 1 /* transaction */
            putfield android.database.sqlite.SQLiteSession.mTransactionPool:Landroid/database/sqlite/SQLiteSession$Transaction;
         3: .line 954
            return
        end local 1 // android.database.sqlite.SQLiteSession$Transaction transaction
        end local 0 // android.database.sqlite.SQLiteSession this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/database/sqlite/SQLiteSession;
            0    4     1  transaction  Landroid/database/sqlite/SQLiteSession$Transaction;
    MethodParameters:
             Name  Flags
      transaction  
}
SourceFile: "SQLiteSession.java"
NestMembers:
  android.database.sqlite.SQLiteSession$Transaction
InnerClasses:
  private final Transaction = android.database.sqlite.SQLiteSession$Transaction of android.database.sqlite.SQLiteSession