class com.android.mtp.DocumentLoader$LoaderTask
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.android.mtp.DocumentLoader$LoaderTask
  super_class: java.lang.Object
{
  static final int STATE_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int STATE_LOADING;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int STATE_COMPLETED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int STATE_ERROR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int STATE_CANCELLED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  final com.android.mtp.MtpManager mManager;
    descriptor: Lcom/android/mtp/MtpManager;
    flags: (0x0010) ACC_FINAL

  final com.android.mtp.MtpDatabase mDatabase;
    descriptor: Lcom/android/mtp/MtpDatabase;
    flags: (0x0010) ACC_FINAL

  final int[] mOperationsSupported;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final com.android.mtp.Identifier mIdentifier;
    descriptor: Lcom/android/mtp/Identifier;
    flags: (0x0010) ACC_FINAL

  int[] mObjectHandles;
    descriptor: [I
    flags: (0x0000) 

  int mState;
    descriptor: I
    flags: (0x0000) 

  java.util.Date mLastNotified;
    descriptor: Ljava/util/Date;
    flags: (0x0000) 

  int mPosition;
    descriptor: I
    flags: (0x0000) 

  java.io.IOException mError;
    descriptor: Ljava/io/IOException;
    flags: (0x0000) 

  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 238
            ldc Lcom/android/mtp/DocumentLoader;
            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 com.android.mtp.DocumentLoader$LoaderTask.$assertionsDisabled:Z
         3: .line 243
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.android.mtp.MtpManager, com.android.mtp.MtpDatabase, int[], com.android.mtp.Identifier);
    descriptor: (Lcom/android/mtp/MtpManager;Lcom/android/mtp/MtpDatabase;[ILcom/android/mtp/Identifier;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
        start local 1 // com.android.mtp.MtpManager manager
        start local 2 // com.android.mtp.MtpDatabase database
        start local 3 // int[] operationsSupported
        start local 4 // com.android.mtp.Identifier identifier
         0: .line 255
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 257
            getstatic com.android.mtp.DocumentLoader$LoaderTask.$assertionsDisabled:Z
            ifne 2
            aload 3 /* operationsSupported */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 258
      StackMap locals: com.android.mtp.DocumentLoader$LoaderTask com.android.mtp.MtpManager com.android.mtp.MtpDatabase int[] com.android.mtp.Identifier
      StackMap stack:
            getstatic com.android.mtp.DocumentLoader$LoaderTask.$assertionsDisabled:Z
            ifne 3
            aload 4 /* identifier */
            getfield com.android.mtp.Identifier.mDocumentType:I
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* manager */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mManager:Lcom/android/mtp/MtpManager;
         4: .line 260
            aload 0 /* this */
            aload 2 /* database */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
         5: .line 261
            aload 0 /* this */
            aload 3 /* operationsSupported */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mOperationsSupported:[I
         6: .line 262
            aload 0 /* this */
            aload 4 /* identifier */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
         7: .line 263
            aload 0 /* this */
            aconst_null
            putfield com.android.mtp.DocumentLoader$LoaderTask.mObjectHandles:[I
         8: .line 264
            aload 0 /* this */
            iconst_0
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
         9: .line 265
            aload 0 /* this */
            iconst_0
            putfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
        10: .line 266
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.android.mtp.DocumentLoader$LoaderTask.mLastNotified:Ljava/util/Date;
        11: .line 267
            return
        end local 4 // com.android.mtp.Identifier identifier
        end local 3 // int[] operationsSupported
        end local 2 // com.android.mtp.MtpDatabase database
        end local 1 // com.android.mtp.MtpManager manager
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lcom/android/mtp/DocumentLoader$LoaderTask;
            0   12     1              manager  Lcom/android/mtp/MtpManager;
            0   12     2             database  Lcom/android/mtp/MtpDatabase;
            0   12     3  operationsSupported  [I
            0   12     4           identifier  Lcom/android/mtp/Identifier;
    MethodParameters:
                     Name  Flags
      manager              
      database             
      operationsSupported  
      identifier           

  synchronized void loadObjectHandles();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
         0: .line 270
            getstatic com.android.mtp.DocumentLoader$LoaderTask.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
         2: .line 272
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mObjectHandle:I
            istore 1 /* parentHandle */
        start local 1 // int parentHandle
         3: .line 275
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentType:I
            iconst_1
            if_icmpne 5
         4: .line 276
            iconst_m1
            istore 1 /* parentHandle */
         5: .line 279
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mManager:Lcom/android/mtp/MtpManager;
         6: .line 280
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDeviceId:I
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mStorageId:I
            iload 1 /* parentHandle */
         7: .line 279
            invokevirtual com.android.mtp.MtpManager.getObjectHandles:(III)[I
            putfield com.android.mtp.DocumentLoader$LoaderTask.mObjectHandles:[I
         8: .line 281
            aload 0 /* this */
            iconst_1
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
         9: .line 282
            goto 13
      StackMap locals:
      StackMap stack: java.io.IOException
        10: astore 2 /* error */
        start local 2 // java.io.IOException error
        11: .line 283
            aload 0 /* this */
            aload 2 /* error */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mError:Ljava/io/IOException;
        12: .line 284
            aload 0 /* this */
            iconst_3
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
        end local 2 // java.io.IOException error
        13: .line 286
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int parentHandle
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lcom/android/mtp/DocumentLoader$LoaderTask;
            3   14     1  parentHandle  I
           11   13     2         error  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     9      10  Class java.io.IOException

  synchronized android.database.Cursor createCursor(android.content.ContentResolver, java.lang.String[]);
    descriptor: (Landroid/content/ContentResolver;[Ljava/lang/String;)Landroid/database/Cursor;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
        start local 1 // android.content.ContentResolver resolver
        start local 2 // java.lang.String[] columnNames
         0: .line 295
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 3 /* extras */
        start local 3 // android.os.Bundle extras
         1: .line 296
            aload 0 /* this */
            invokevirtual com.android.mtp.DocumentLoader$LoaderTask.getState:()I
            tableswitch { // 1 - 3
                    1: 2
                    2: 5
                    3: 4
              default: 5
          }
         2: .line 298
      StackMap locals: android.os.Bundle
      StackMap stack:
            aload 3 /* extras */
            ldc "loading"
            iconst_1
            invokevirtual android.os.Bundle.putBoolean:(Ljava/lang/String;Z)V
         3: .line 299
            goto 5
         4: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mError:Ljava/io/IOException;
            athrow
         5: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
            aload 2 /* columnNames */
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
            invokevirtual com.android.mtp.MtpDatabase.queryChildDocuments:([Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
         6: .line 303
            astore 4 /* cursor */
        start local 4 // android.database.Cursor cursor
         7: .line 305
            aload 4 /* cursor */
            aload 3 /* extras */
            invokeinterface android.database.Cursor.setExtras:(Landroid/os/Bundle;)V
         8: .line 306
            aload 4 /* cursor */
            aload 1 /* resolver */
            aload 0 /* this */
            invokevirtual com.android.mtp.DocumentLoader$LoaderTask.createUri:()Landroid/net/Uri;
            invokeinterface android.database.Cursor.setNotificationUri:(Landroid/content/ContentResolver;Landroid/net/Uri;)V
         9: .line 307
            aload 4 /* cursor */
            areturn
        end local 4 // android.database.Cursor cursor
        end local 3 // android.os.Bundle extras
        end local 2 // java.lang.String[] columnNames
        end local 1 // android.content.ContentResolver resolver
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lcom/android/mtp/DocumentLoader$LoaderTask;
            0   10     1     resolver  Landroid/content/ContentResolver;
            0   10     2  columnNames  [Ljava/lang/String;
            1   10     3       extras  Landroid/os/Bundle;
            7   10     4       cursor  Landroid/database/Cursor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      resolver     
      columnNames  

  void loadObjectInfoList(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
        start local 1 // int count
         0: .line 314
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 315
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
            iconst_1
            if_icmpeq 4
         2: .line 316
            aload 2
            monitorexit
         3: return
         4: .line 318
      StackMap locals: com.android.mtp.DocumentLoader$LoaderTask
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            ifne 12
         5: .line 320
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
            invokevirtual com.android.mtp.MtpDatabase.getMapper:()Lcom/android/mtp/Mapper;
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
            invokevirtual com.android.mtp.Mapper.startAddingDocuments:(Ljava/lang/String;)V
         6: .line 321
            goto 12
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
         7: astore 3 /* error */
        start local 3 // java.io.FileNotFoundException error
         8: .line 322
            aload 0 /* this */
            aload 3 /* error */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mError:Ljava/io/IOException;
         9: .line 323
            aload 0 /* this */
            iconst_3
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
        10: .line 324
            aload 2
            monitorexit
        11: return
        end local 3 // java.io.FileNotFoundException error
        12: .line 314
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 328
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* infoList */
        start local 2 // java.util.ArrayList infoList
        17: .line 329
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            iload 1 /* count */
            iadd
            istore 3 /* chunkEnd */
        start local 3 // int chunkEnd
        18: .line 330
            goto 26
        19: .line 333
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 2 /* infoList */
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mManager:Lcom/android/mtp/MtpManager;
        20: .line 334
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDeviceId:I
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mObjectHandles:[I
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            iaload
        21: .line 333
            invokevirtual com.android.mtp.MtpManager.getObjectInfo:(II)Landroid/mtp/MtpObjectInfo;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 335
            goto 25
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* error */
        start local 4 // java.io.IOException error
        24: .line 336
            ldc "MtpDocumentsProvider"
            ldc "Failed to load object info"
            aload 4 /* error */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 4 // java.io.IOException error
        25: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            iconst_1
            iadd
            putfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
        26: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mObjectHandles:[I
            arraylength
            if_icmpge 28
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            iload 3 /* chunkEnd */
        27: .line 329
            if_icmplt 19
        end local 3 // int chunkEnd
        28: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* infoList */
            invokevirtual java.util.ArrayList.size:()I
            newarray 11
            astore 3 /* objectSizeList */
        start local 3 // long[] objectSizeList
        29: .line 340
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        30: goto 55
        31: .line 341
      StackMap locals: long[] int
      StackMap stack:
            aload 2 /* infoList */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast android.mtp.MtpObjectInfo
            astore 5 /* info */
        start local 5 // android.mtp.MtpObjectInfo info
        32: .line 345
            aload 5 /* info */
            invokevirtual android.mtp.MtpObjectInfo.getCompressedSizeLong:()J
            ldc 4294967295
            lcmp
            ifeq 35
        33: .line 346
            aload 3 /* objectSizeList */
            iload 4 /* i */
            aload 5 /* info */
            invokevirtual android.mtp.MtpObjectInfo.getCompressedSizeLong:()J
            lastore
        34: .line 347
            goto 54
        35: .line 351
      StackMap locals: android.mtp.MtpObjectInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mOperationsSupported:[I
        36: .line 352
            ldc 38914
        37: .line 350
            invokestatic com.android.mtp.MtpDeviceRecord.isSupported:([II)Z
        38: .line 352
            ifeq 43
        39: .line 354
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mOperationsSupported:[I
        40: .line 355
            ldc 38915
        41: .line 353
            invokestatic com.android.mtp.MtpDeviceRecord.isSupported:([II)Z
        42: .line 355
            ifne 45
        43: .line 356
      StackMap locals:
      StackMap stack:
            aload 3 /* objectSizeList */
            iload 4 /* i */
            ldc -1
            lastore
        44: .line 357
            goto 54
        45: .line 362
      StackMap locals:
      StackMap stack:
            aload 3 /* objectSizeList */
            iload 4 /* i */
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mManager:Lcom/android/mtp/MtpManager;
        46: .line 363
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDeviceId:I
        47: .line 364
            aload 5 /* info */
            invokevirtual android.mtp.MtpObjectInfo.getObjectHandle:()I
        48: .line 365
            aload 5 /* info */
            invokevirtual android.mtp.MtpObjectInfo.getFormat:()I
        49: .line 362
            invokevirtual com.android.mtp.MtpManager.getObjectSizeLong:(III)J
            lastore
        50: .line 366
            goto 54
      StackMap locals:
      StackMap stack: java.io.IOException
        51: astore 6 /* error */
        start local 6 // java.io.IOException error
        52: .line 367
            ldc "MtpDocumentsProvider"
            ldc "Failed to get object size property."
            aload 6 /* error */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        53: .line 368
            aload 3 /* objectSizeList */
            iload 4 /* i */
            ldc -1
            lastore
        end local 6 // java.io.IOException error
        end local 5 // android.mtp.MtpObjectInfo info
        54: .line 340
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 4 /* i */
            aload 2 /* infoList */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 31
        end local 4 // int i
        56: .line 371
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        57: .line 373
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
            iconst_1
            if_icmpeq 60
        58: .line 374
            aload 4
            monitorexit
        59: return
        60: .line 377
      StackMap locals: com.android.mtp.DocumentLoader$LoaderTask int java.util.ArrayList long[] com.android.mtp.DocumentLoader$LoaderTask
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
            invokevirtual com.android.mtp.MtpDatabase.getMapper:()Lcom/android/mtp/Mapper;
        61: .line 378
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDeviceId:I
        62: .line 379
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
        63: .line 380
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mOperationsSupported:[I
        64: .line 381
            aload 2 /* infoList */
            aload 2 /* infoList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray android.mtp.MtpObjectInfo
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast android.mtp.MtpObjectInfo[]
        65: .line 382
            aload 3 /* objectSizeList */
        66: .line 377
            invokevirtual com.android.mtp.Mapper.putChildDocuments:(ILjava/lang/String;[I[Landroid/mtp/MtpObjectInfo;[J)V
        67: .line 383
            goto 73
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
        68: astore 5 /* error */
        start local 5 // java.io.FileNotFoundException error
        69: .line 387
            aload 0 /* this */
            aload 5 /* error */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mError:Ljava/io/IOException;
        70: .line 388
            aload 0 /* this */
            iconst_3
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
        71: .line 389
            aload 4
            monitorexit
        72: return
        end local 5 // java.io.FileNotFoundException error
        73: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mPosition:I
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mObjectHandles:[I
            arraylength
            if_icmplt 82
        74: .line 393
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
            invokevirtual com.android.mtp.MtpDatabase.getMapper:()Lcom/android/mtp/Mapper;
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
            invokevirtual com.android.mtp.Mapper.stopAddingDocuments:(Ljava/lang/String;)Z
            pop
        75: .line 394
            aload 0 /* this */
            iconst_2
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
        76: .line 395
            goto 82
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
        77: astore 5 /* error */
        start local 5 // java.io.FileNotFoundException error
        78: .line 396
            aload 0 /* this */
            aload 5 /* error */
            putfield com.android.mtp.DocumentLoader$LoaderTask.mError:Ljava/io/IOException;
        79: .line 397
            aload 0 /* this */
            iconst_3
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
        80: .line 398
            aload 4
            monitorexit
        81: return
        end local 5 // java.io.FileNotFoundException error
        82: .line 371
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        83: goto 86
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: aload 4
            monitorexit
        85: athrow
        86: .line 402
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long[] objectSizeList
        end local 2 // java.util.ArrayList infoList
        end local 1 // int count
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   87     0            this  Lcom/android/mtp/DocumentLoader$LoaderTask;
            0   87     1           count  I
            8   12     3           error  Ljava/io/FileNotFoundException;
           17   87     2        infoList  Ljava/util/ArrayList<Landroid/mtp/MtpObjectInfo;>;
           18   28     3        chunkEnd  I
           24   25     4           error  Ljava/io/IOException;
           29   87     3  objectSizeList  [J
           30   56     4               i  I
           32   54     5            info  Landroid/mtp/MtpObjectInfo;
           52   54     6           error  Ljava/io/IOException;
           69   73     5           error  Ljava/io/FileNotFoundException;
           78   82     5           error  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.FileNotFoundException
           1     3      14  any
           4    11      14  any
          12    13      14  any
          14    15      14  any
          19    22      23  Class java.io.IOException
          45    50      51  Class java.io.IOException
          60    67      68  Class java.io.FileNotFoundException
          74    76      77  Class java.io.FileNotFoundException
          57    59      84  any
          60    72      84  any
          73    81      84  any
          82    83      84  any
          84    85      84  any
    MethodParameters:
       Name  Flags
      count  

  synchronized void cancel();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
         0: .line 408
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mDatabase:Lcom/android/mtp/MtpDatabase;
            invokevirtual com.android.mtp.MtpDatabase.getMapper:()Lcom/android/mtp/Mapper;
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
            invokevirtual com.android.mtp.Mapper.cancelAddingDocuments:(Ljava/lang/String;)V
         1: .line 409
            aload 0 /* this */
            iconst_4
            putfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
         2: .line 410
            return
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/android/mtp/DocumentLoader$LoaderTask;

  int getState();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
         0: .line 416
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mState:I
            ireturn
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/mtp/DocumentLoader$LoaderTask;

  void notify(android.content.ContentResolver);
    descriptor: (Landroid/content/ContentResolver;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
        start local 1 // android.content.ContentResolver resolver
         0: .line 423
            aload 1 /* resolver */
            aload 0 /* this */
            invokevirtual com.android.mtp.DocumentLoader$LoaderTask.createUri:()Landroid/net/Uri;
            aconst_null
            iconst_0
            invokevirtual android.content.ContentResolver.notifyChange:(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
         1: .line 424
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.android.mtp.DocumentLoader$LoaderTask.mLastNotified:Ljava/util/Date;
         2: .line 425
            return
        end local 1 // android.content.ContentResolver resolver
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/android/mtp/DocumentLoader$LoaderTask;
            0    3     1  resolver  Landroid/content/ContentResolver;
    MethodParameters:
          Name  Flags
      resolver  

  private android.net.Uri createUri();
    descriptor: ()Landroid/net/Uri;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.android.mtp.DocumentLoader$LoaderTask this
         0: .line 429
            ldc "com.android.mtp.documents"
            aload 0 /* this */
            getfield com.android.mtp.DocumentLoader$LoaderTask.mIdentifier:Lcom/android/mtp/Identifier;
            getfield com.android.mtp.Identifier.mDocumentId:Ljava/lang/String;
         1: .line 428
            invokestatic android.provider.DocumentsContract.buildChildDocumentsUri:(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
            areturn
        end local 0 // com.android.mtp.DocumentLoader$LoaderTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/mtp/DocumentLoader$LoaderTask;
}
SourceFile: "DocumentLoader.java"
NestHost: com.android.mtp.DocumentLoader
InnerClasses:
  private LoaderTask = com.android.mtp.DocumentLoader$LoaderTask of com.android.mtp.DocumentLoader