public class android.mtp.MtpStorageManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.mtp.MtpStorageManager
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static boolean sDebug;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static final int IN_ONLYDIR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16777216

  private static final int IN_Q_OVERFLOW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  private static final int IN_IGNORED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  private static final int IN_ISDIR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1073741824

  private android.mtp.MtpStorageManager$MtpNotifier mMtpNotifier;
    descriptor: Landroid/mtp/MtpStorageManager$MtpNotifier;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.Integer, android.mtp.MtpStorageManager$MtpObject> mObjects;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Landroid/mtp/MtpStorageManager$MtpObject;>;

  private java.util.HashMap<java.lang.Integer, android.mtp.MtpStorageManager$MtpObject> mRoots;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Landroid/mtp/MtpStorageManager$MtpObject;>;

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

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

  private java.util.Set<java.lang.String> mSubdirectories;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private volatile boolean mCheckConsistency;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.Thread mConsistencyThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 46
            ldc Landroid/mtp/MtpStorageManager;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            putstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
         1: .line 47
            iconst_0
            putstatic android.mtp.MtpStorageManager.sDebug:Z
         2: .line 53
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.mtp.MtpStorageManager$MtpNotifier, java.util.Set<java.lang.String>);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpNotifier;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpNotifier notifier
        start local 2 // java.util.Set subdirectories
         0: .line 330
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 331
            aload 0 /* this */
            aload 1 /* notifier */
            putfield android.mtp.MtpStorageManager.mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
         2: .line 332
            aload 0 /* this */
            aload 2 /* subdirectories */
            putfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
         3: .line 333
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
         4: .line 334
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
         5: .line 335
            aload 0 /* this */
            iconst_1
            putfield android.mtp.MtpStorageManager.mNextObjectId:I
         6: .line 336
            aload 0 /* this */
            iconst_1
            putfield android.mtp.MtpStorageManager.mNextStorageId:I
         7: .line 338
            aload 0 /* this */
            iconst_0
            putfield android.mtp.MtpStorageManager.mCheckConsistency:Z
         8: .line 339
            aload 0 /* this */
            new java.lang.Thread
            dup
            aload 0 /* this */
            invokedynamic run(Landroid/mtp/MtpStorageManager;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  android/mtp/MtpStorageManager.lambda$0()V (7)
                  ()V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            putfield android.mtp.MtpStorageManager.mConsistencyThread:Ljava/lang/Thread;
         9: .line 353
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mCheckConsistency:Z
            ifeq 11
        10: .line 354
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mConsistencyThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
        11: .line 355
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpNotifier java.util.Set
      StackMap stack:
            return
        end local 2 // java.util.Set subdirectories
        end local 1 // android.mtp.MtpStorageManager$MtpNotifier notifier
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Landroid/mtp/MtpStorageManager;
            0   12     1        notifier  Landroid/mtp/MtpStorageManager$MtpNotifier;
            0   12     2  subdirectories  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Landroid/mtp/MtpStorageManager$MtpNotifier;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
                Name  Flags
      notifier        
      subdirectories  

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 361
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 362
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         2: .line 361
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            astore 1 /* objs */
        start local 1 // java.util.stream.Stream objs
         3: .line 364
            aload 1 /* objs */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         4: .line 365
            goto 9
         5: .line 367
      StackMap locals: java.util.stream.Stream java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* obj */
        start local 3 // android.mtp.MtpStorageManager$MtpObject obj
         6: .line 368
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            ifnull 9
         7: .line 369
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.stopWatching:()V
         8: .line 370
            aload 3 /* obj */
            aconst_null
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        end local 3 // android.mtp.MtpStorageManager$MtpObject obj
         9: .line 365
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 375
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mCheckConsistency:Z
            ifeq 16
        11: .line 376
            aload 0 /* this */
            iconst_0
            putfield android.mtp.MtpStorageManager.mCheckConsistency:Z
        12: .line 377
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mConsistencyThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        13: .line 379
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mConsistencyThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.join:()V
        14: .line 380
            goto 16
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        15: pop
        16: .line 384
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.stream.Stream objs
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Landroid/mtp/MtpStorageManager;
            3   17     1  objs  Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;
            4   17     2  iter  Ljava/util/Iterator<Landroid/mtp/MtpStorageManager$MtpObject;>;
            6    9     3   obj  Landroid/mtp/MtpStorageManager$MtpObject;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.InterruptedException

  public synchronized void setSubdirectories(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // java.util.Set subDirs
         0: .line 392
            aload 0 /* this */
            aload 1 /* subDirs */
            putfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
         1: .line 393
            return
        end local 1 // java.util.Set subDirs
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/mtp/MtpStorageManager;
            0    2     1  subDirs  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      subDirs  

  public synchronized android.mtp.MtpStorage addMtpStorage(android.os.storage.StorageVolume);
    descriptor: (Landroid/os/storage/StorageVolume;)Landroid/mtp/MtpStorage;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.os.storage.StorageVolume volume
         0: .line 401
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager.getNextStorageId:()I
            ldc 65535
            iand
            bipush 16
            ishl
            iconst_1
            iadd
            istore 2 /* storageId */
        start local 2 // int storageId
         1: .line 402
            new android.mtp.MtpStorage
            dup
            aload 1 /* volume */
            iload 2 /* storageId */
            invokespecial android.mtp.MtpStorage.<init>:(Landroid/os/storage/StorageVolume;I)V
            astore 3 /* storage */
        start local 3 // android.mtp.MtpStorage storage
         2: .line 403
            new android.mtp.MtpStorageManager$MtpObject
            dup
            aload 3 /* storage */
            invokevirtual android.mtp.MtpStorage.getPath:()Ljava/lang/String;
            iload 2 /* storageId */
            aconst_null
            iconst_1
            invokespecial android.mtp.MtpStorageManager$MtpObject.<init>:(Ljava/lang/String;ILandroid/mtp/MtpStorageManager$MtpObject;Z)V
            astore 4 /* root */
        start local 4 // android.mtp.MtpStorageManager$MtpObject root
         3: .line 404
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            iload 2 /* storageId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* root */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 405
            aload 3 /* storage */
            areturn
        end local 4 // android.mtp.MtpStorageManager$MtpObject root
        end local 3 // android.mtp.MtpStorage storage
        end local 2 // int storageId
        end local 1 // android.os.storage.StorageVolume volume
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Landroid/mtp/MtpStorageManager;
            0    5     1     volume  Landroid/os/storage/StorageVolume;
            1    5     2  storageId  I
            2    5     3    storage  Landroid/mtp/MtpStorage;
            3    5     4       root  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
        Name  Flags
      volume  

  public synchronized void removeMtpStorage(android.mtp.MtpStorage);
    descriptor: (Landroid/mtp/MtpStorage;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorage storage
         0: .line 413
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* storage */
            invokevirtual android.mtp.MtpStorage.getStorageId:()I
            invokevirtual android.mtp.MtpStorageManager.getStorageRoot:(I)Landroid/mtp/MtpStorageManager$MtpObject;
            iconst_1
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            pop
         1: .line 414
            return
        end local 1 // android.mtp.MtpStorage storage
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/mtp/MtpStorageManager;
            0    2     1  storage  Landroid/mtp/MtpStorage;
    MethodParameters:
         Name  Flags
      storage  

  private synchronized boolean isSpecialSubDir(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
         0: .line 423
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 3
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            ifnull 3
         1: .line 424
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 423
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/mtp/MtpStorageManager;
            0    4     1   obj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
      Name  Flags
      obj   

  public synchronized android.mtp.MtpStorageManager$MtpObject getByPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // java.lang.String path
         0: .line 433
            aconst_null
            astore 2 /* obj */
        start local 2 // android.mtp.MtpStorageManager$MtpObject obj
         1: .line 434
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: android.mtp.MtpStorageManager java.lang.String android.mtp.MtpStorageManager$MtpObject top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* root */
        start local 3 // android.mtp.MtpStorageManager$MtpObject root
         3: .line 435
            aload 1 /* path */
            aload 3 /* root */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 436
            aload 3 /* root */
            astore 2 /* obj */
         5: .line 437
            aload 1 /* path */
            aload 3 /* root */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* path */
        end local 3 // android.mtp.MtpStorageManager$MtpObject root
         6: .line 434
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 440
            aload 1 /* path */
            ldc "/"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: android.mtp.MtpStorageManager java.lang.String android.mtp.MtpStorageManager$MtpObject top int int java.lang.String[]
      StackMap stack:
         8: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // java.lang.String name
         9: .line 441
            aload 2 /* obj */
            ifnull 10
            aload 2 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifne 11
        10: .line 442
      StackMap locals: android.mtp.MtpStorageManager java.lang.String android.mtp.MtpStorageManager$MtpObject java.lang.String int int java.lang.String[]
      StackMap stack:
            aconst_null
            areturn
        11: .line 443
      StackMap locals:
      StackMap stack:
            ldc ""
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 444
            goto 16
        13: .line 445
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifne 15
        14: .line 446
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual android.mtp.MtpStorageManager.getChildren:(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
            pop
        15: .line 447
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            aload 3 /* name */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 2 /* obj */
        end local 3 // java.lang.String name
        16: .line 440
      StackMap locals: android.mtp.MtpStorageManager java.lang.String android.mtp.MtpStorageManager$MtpObject top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 8
        18: .line 449
            aload 2 /* obj */
            areturn
        end local 2 // android.mtp.MtpStorageManager$MtpObject obj
        end local 1 // java.lang.String path
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Landroid/mtp/MtpStorageManager;
            0   19     1  path  Ljava/lang/String;
            1   19     2   obj  Landroid/mtp/MtpStorageManager$MtpObject;
            3    6     3  root  Landroid/mtp/MtpStorageManager$MtpObject;
            9   16     3  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public synchronized android.mtp.MtpStorageManager$MtpObject getObject(int);
    descriptor: (I)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // int id
         0: .line 458
            iload 1 /* id */
            ifeq 1
            iload 1 /* id */
            iconst_m1
            if_icmpne 3
         1: .line 459
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            ldc "Can't get root storages with getObject()"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 460
            aconst_null
            areturn
         3: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            iload 1 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 463
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " doesn't exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 464
            aconst_null
            areturn
         6: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            iload 1 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            areturn
        end local 1 // int id
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/mtp/MtpStorageManager;
            0    7     1    id  I
    MethodParameters:
      Name  Flags
      id    

  public android.mtp.MtpStorageManager$MtpObject getStorageRoot(int);
    descriptor: (I)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // int id
         0: .line 475
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            iload 1 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 476
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "StorageId "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " doesn't exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 477
            aconst_null
            areturn
         3: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            iload 1 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            areturn
        end local 1 // int id
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/mtp/MtpStorageManager;
            0    4     1    id  I
    MethodParameters:
      Name  Flags
      id    

  private int getNextObjectId();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 483
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mNextObjectId:I
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 485
            aload 0 /* this */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mNextObjectId:I
            i2l
            lconst_1
            ladd
            l2i
            putfield android.mtp.MtpStorageManager.mNextObjectId:I
         2: .line 486
            iload 1 /* ret */
            ireturn
        end local 1 // int ret
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/mtp/MtpStorageManager;
            1    3     1   ret  I

  private int getNextStorageId();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 490
            aload 0 /* this */
            dup
            getfield android.mtp.MtpStorageManager.mNextStorageId:I
            dup_x1
            iconst_1
            iadd
            putfield android.mtp.MtpStorageManager.mNextStorageId:I
            ireturn
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/mtp/MtpStorageManager;

  public synchronized java.util.stream.Stream<android.mtp.MtpStorageManager$MtpObject> getObjects(int, int, int);
    descriptor: (III)Ljava/util/stream/Stream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // int parent
        start local 2 // int format
        start local 3 // int storageId
         0: .line 501
            iload 1 /* parent */
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* recursive */
        start local 4 // boolean recursive
         3: .line 502
            iload 1 /* parent */
            iconst_m1
            if_icmpne 5
         4: .line 503
            iconst_0
            istore 1 /* parent */
         5: .line 504
      StackMap locals: int
      StackMap stack:
            iload 3 /* storageId */
            iconst_m1
            if_icmpne 15
         6: .line 506
            iload 1 /* parent */
            ifne 15
         7: .line 508
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* streamList */
        start local 5 // java.util.ArrayList streamList
         8: .line 509
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: android.mtp.MtpStorageManager int int int int java.util.ArrayList top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 6 /* root */
        start local 6 // android.mtp.MtpStorageManager$MtpObject root
        10: .line 510
            aload 5 /* streamList */
            aload 0 /* this */
            aload 6 /* root */
            iload 2 /* format */
            iload 4 /* recursive */
            invokevirtual android.mtp.MtpStorageManager.getObjects:(Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // android.mtp.MtpStorageManager$MtpObject root
        11: .line 509
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 512
            aload 5 /* streamList */
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
                  (Ljava/util/ArrayList;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/stream/Stream.concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream; (6 itf)
                  (Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.reduce:(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
        13: .line 513
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/util/stream/Stream.empty()Ljava/util/stream/Stream; (6 itf)
                  ()Ljava/util/stream/Stream;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
        14: .line 512
            areturn
        end local 5 // java.util.ArrayList streamList
        15: .line 516
      StackMap locals: android.mtp.MtpStorageManager int int int int
      StackMap stack:
            iload 1 /* parent */
            ifne 16
            aload 0 /* this */
            iload 3 /* storageId */
            invokevirtual android.mtp.MtpStorageManager.getStorageRoot:(I)Landroid/mtp/MtpStorageManager$MtpObject;
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            iload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager.getObject:(I)Landroid/mtp/MtpStorageManager$MtpObject;
      StackMap locals:
      StackMap stack: android.mtp.MtpStorageManager$MtpObject
        17: astore 5 /* obj */
        start local 5 // android.mtp.MtpStorageManager$MtpObject obj
        18: .line 517
            aload 5 /* obj */
            ifnonnull 20
        19: .line 518
            aconst_null
            areturn
        20: .line 519
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 0 /* this */
            aload 5 /* obj */
            iload 2 /* format */
            iload 4 /* recursive */
            invokevirtual android.mtp.MtpStorageManager.getObjects:(Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream;
            areturn
        end local 5 // android.mtp.MtpStorageManager$MtpObject obj
        end local 4 // boolean recursive
        end local 3 // int storageId
        end local 2 // int format
        end local 1 // int parent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Landroid/mtp/MtpStorageManager;
            0   21     1      parent  I
            0   21     2      format  I
            0   21     3   storageId  I
            3   21     4   recursive  Z
            8   15     5  streamList  Ljava/util/ArrayList<Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;>;
           10   11     6        root  Landroid/mtp/MtpStorageManager$MtpObject;
           18   21     5         obj  Landroid/mtp/MtpStorageManager$MtpObject;
    Signature: (III)Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;
    MethodParameters:
           Name  Flags
      parent     
      format     
      storageId  

  private synchronized java.util.stream.Stream<android.mtp.MtpStorageManager$MtpObject> getObjects(android.mtp.MtpStorageManager$MtpObject, int, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject parent
        start local 2 // int format
        start local 3 // boolean rec
         0: .line 523
            aload 0 /* this */
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager.getChildren:(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
            astore 4 /* children */
        start local 4 // java.util.Collection children
         1: .line 524
            aload 4 /* children */
            ifnonnull 3
         2: .line 525
            aconst_null
            areturn
         3: .line 526
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 4 /* children */
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
                  (Ljava/util/Collection;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            astore 5 /* ret */
        start local 5 // java.util.stream.Stream ret
         4: .line 528
            iload 2 /* format */
            ifeq 6
         5: .line 529
            aload 5 /* ret */
            iload 2 /* format */
            invokedynamic test(I)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  android/mtp/MtpStorageManager.lambda$5(ILandroid/mtp/MtpStorageManager$MtpObject;)Z (6)
                  (Landroid/mtp/MtpStorageManager$MtpObject;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            astore 5 /* ret */
         6: .line 531
      StackMap locals: java.util.stream.Stream
      StackMap stack:
            iload 3 /* rec */
            ifeq 17
         7: .line 533
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* streamList */
        start local 6 // java.util.ArrayList streamList
         8: .line 534
            aload 6 /* streamList */
            aload 5 /* ret */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 535
            aload 4 /* children */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int java.util.Collection java.util.stream.Stream java.util.ArrayList top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 7 /* o */
        start local 7 // android.mtp.MtpStorageManager$MtpObject o
        11: .line 536
            aload 7 /* o */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 13
        12: .line 537
            aload 6 /* streamList */
            aload 0 /* this */
            aload 7 /* o */
            iload 2 /* format */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.getObjects:(Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // android.mtp.MtpStorageManager$MtpObject o
        13: .line 535
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 539
            aload 6 /* streamList */
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
                  (Ljava/util/ArrayList;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
                  (Ljava/util/ArrayList;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        15: .line 540
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/stream/Stream.concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream; (6 itf)
                  (Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.reduce:(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/util/stream/Stream.empty()Ljava/util/stream/Stream; (6 itf)
                  ()Ljava/util/stream/Stream;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.util.stream.Stream
        16: .line 539
            astore 5 /* ret */
        end local 6 // java.util.ArrayList streamList
        17: .line 542
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int java.util.Collection java.util.stream.Stream
      StackMap stack:
            aload 5 /* ret */
            areturn
        end local 5 // java.util.stream.Stream ret
        end local 4 // java.util.Collection children
        end local 3 // boolean rec
        end local 2 // int format
        end local 1 // android.mtp.MtpStorageManager$MtpObject parent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Landroid/mtp/MtpStorageManager;
            0   18     1      parent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   18     2      format  I
            0   18     3         rec  Z
            1   18     4    children  Ljava/util/Collection<Landroid/mtp/MtpStorageManager$MtpObject;>;
            4   18     5         ret  Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;
            8   17     6  streamList  Ljava/util/ArrayList<Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;>;
           11   13     7           o  Landroid/mtp/MtpStorageManager$MtpObject;
    Signature: (Landroid/mtp/MtpStorageManager$MtpObject;IZ)Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;
    MethodParameters:
        Name  Flags
      parent  
      format  
      rec     

  private synchronized java.util.Collection<android.mtp.MtpStorageManager$MtpObject> getChildren(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject object
         0: .line 552
            aload 1 /* object */
            ifnull 1
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifne 5
         1: .line 553
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Can't find children of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* object */
            ifnonnull 2
            ldc "null"
            goto 3
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder
         2: aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder java.io.Serializable
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         4: .line 554
            aconst_null
            areturn
         5: .line 556
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifne 31
         6: .line 557
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            astore 2 /* dir */
        start local 2 // java.nio.file.Path dir
         7: .line 564
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            ifnull 9
         8: .line 565
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            ldc "Observer is not null!"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 566
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 1 /* object */
            new android.mtp.MtpStorageManager$MtpObjectObserver
            dup
            aload 0 /* this */
            aload 1 /* object */
            invokespecial android.mtp.MtpStorageManager$MtpObjectObserver.<init>:(Landroid/mtp/MtpStorageManager;Landroid/mtp/MtpStorageManager$MtpObject;)V
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        10: .line 567
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.startWatching:()V
        11: .line 568
            aconst_null
            astore 3
            aconst_null
            astore 4
        12: aload 2 /* dir */
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 5 /* stream */
        start local 5 // java.nio.file.DirectoryStream stream
        13: .line 569
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 6 /* file */
        start local 6 // java.nio.file.Path file
        15: .line 570
            aload 0 /* this */
            aload 1 /* object */
            aload 6 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
        16: .line 571
            aload 6 /* file */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isDirectory:()Z
        17: .line 570
            invokevirtual android.mtp.MtpStorageManager.addObjectToCache:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Landroid/mtp/MtpStorageManager$MtpObject;
            pop
        end local 6 // java.nio.file.Path file
        18: .line 569
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 573
            aload 5 /* stream */
            ifnull 30
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 30
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        20: astore 3
            aload 5 /* stream */
            ifnull 21
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 5 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 3
            ifnonnull 23
            aload 4
            astore 3
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 3
            aload 4
            if_acmpeq 24
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 3
            athrow
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.nio.file.Path
      StackMap stack: java.lang.Exception
        25: astore 3 /* e */
        start local 3 // java.lang.Exception e
        26: .line 574
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            aload 3 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        27: .line 575
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.stopWatching:()V
        28: .line 576
            aload 1 /* object */
            aconst_null
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        29: .line 577
            aconst_null
            areturn
        end local 3 // java.lang.Exception e
        30: .line 579
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setVisited:(Z)V
        end local 2 // java.nio.file.Path dir
        31: .line 581
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            areturn
        end local 1 // android.mtp.MtpStorageManager$MtpObject object
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Landroid/mtp/MtpStorageManager;
            0   32     1  object  Landroid/mtp/MtpStorageManager$MtpObject;
            7   31     2     dir  Ljava/nio/file/Path;
           13   21     5  stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           15   18     6    file  Ljava/nio/file/Path;
           26   30     3       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    19      20  any
          12    22      22  any
          11    25      25  Class java.io.IOException
          11    25      25  Class java.nio.file.DirectoryIteratorException
    Signature: (Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection<Landroid/mtp/MtpStorageManager$MtpObject;>;
    MethodParameters:
        Name  Flags
      object  

  private synchronized android.mtp.MtpStorageManager$MtpObject addObjectToCache(android.mtp.MtpStorageManager$MtpObject, java.lang.String, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Landroid/mtp/MtpStorageManager$MtpObject;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject parent
        start local 2 // java.lang.String newName
        start local 3 // boolean isDir
         0: .line 592
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifne 2
            aload 0 /* this */
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual android.mtp.MtpStorageManager.getObject:(I)Landroid/mtp/MtpStorageManager$MtpObject;
            aload 1 /* parent */
            if_acmpeq 2
         1: .line 594
            aconst_null
            areturn
         2: .line 595
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            aload 2 /* newName */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            ifnull 4
         3: .line 597
            aconst_null
            areturn
         4: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            ifnull 6
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 6
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            aload 2 /* newName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 601
            aconst_null
            areturn
         6: .line 604
      StackMap locals:
      StackMap stack:
            new android.mtp.MtpStorageManager$MtpObject
            dup
            aload 2 /* newName */
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager.getNextObjectId:()I
            aload 1 /* parent */
            iload 3 /* isDir */
            invokespecial android.mtp.MtpStorageManager$MtpObject.<init>:(Ljava/lang/String;ILandroid/mtp/MtpStorageManager$MtpObject;Z)V
            astore 4 /* obj */
        start local 4 // android.mtp.MtpStorageManager$MtpObject obj
         7: .line 605
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 606
            aload 1 /* parent */
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
         9: .line 607
            aload 4 /* obj */
            areturn
        end local 4 // android.mtp.MtpStorageManager$MtpObject obj
        end local 3 // boolean isDir
        end local 2 // java.lang.String newName
        end local 1 // android.mtp.MtpStorageManager$MtpObject parent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/mtp/MtpStorageManager;
            0   10     1   parent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   10     2  newName  Ljava/lang/String;
            0   10     3    isDir  Z
            7   10     4      obj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
         Name  Flags
      parent   
      newName  
      isDir    

  private synchronized boolean removeObjectFromCache(android.mtp.MtpStorageManager$MtpObject, boolean, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject removed
        start local 2 // boolean removeGlobal
        start local 3 // boolean recursive
         0: .line 619
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifne 3
         1: .line 620
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            getfield android.mtp.MtpStorageManager$MtpObject.mChildren:Ljava/util/HashMap;
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            aload 1 /* removed */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 3
         2: .line 619
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* ret */
        start local 4 // boolean ret
         5: .line 621
            iload 4 /* ret */
            ifne 7
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 7
         6: .line 622
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Failed to remove from parent "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 623
      StackMap locals: int
      StackMap stack:
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 12
         8: .line 624
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* removed */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 9
            iload 4 /* ret */
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* ret */
        11: .line 625
            goto 16
      StackMap locals:
      StackMap stack:
        12: iload 2 /* removeGlobal */
            ifeq 16
        13: .line 626
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* removed */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 14
            iload 4 /* ret */
            ifeq 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 4 /* ret */
        16: .line 628
      StackMap locals:
      StackMap stack:
            iload 4 /* ret */
            ifne 18
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 18
        17: .line 629
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Failed to remove from global cache "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 630
      StackMap locals:
      StackMap stack:
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            ifnull 21
        19: .line 631
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.stopWatching:()V
        20: .line 632
            aload 1 /* removed */
            aconst_null
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        21: .line 634
      StackMap locals:
      StackMap stack:
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 29
            iload 3 /* recursive */
            ifeq 29
        22: .line 636
            new java.util.ArrayList
            dup
            aload 1 /* removed */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 5 /* children */
        start local 5 // java.util.Collection children
        23: .line 637
            aload 5 /* children */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 28
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int java.util.Collection top java.util.Iterator
      StackMap stack:
        24: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 6 /* child */
        start local 6 // android.mtp.MtpStorageManager$MtpObject child
        25: .line 638
            aload 0 /* this */
            aload 6 /* child */
            iload 2 /* removeGlobal */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 26
            iload 4 /* ret */
            ifeq 26
            iconst_1
            goto 27
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int java.util.Collection android.mtp.MtpStorageManager$MtpObject java.util.Iterator
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 4 /* ret */
        end local 6 // android.mtp.MtpStorageManager$MtpObject child
        28: .line 637
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        end local 5 // java.util.Collection children
        29: .line 641
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int
      StackMap stack:
            iload 4 /* ret */
            ireturn
        end local 4 // boolean ret
        end local 3 // boolean recursive
        end local 2 // boolean removeGlobal
        end local 1 // android.mtp.MtpStorageManager$MtpObject removed
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Landroid/mtp/MtpStorageManager;
            0   30     1       removed  Landroid/mtp/MtpStorageManager$MtpObject;
            0   30     2  removeGlobal  Z
            0   30     3     recursive  Z
            5   30     4           ret  Z
           23   29     5      children  Ljava/util/Collection<Landroid/mtp/MtpStorageManager$MtpObject;>;
           25   28     6         child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
              Name  Flags
      removed       
      removeGlobal  
      recursive     

  private synchronized void handleAddedObject(android.mtp.MtpStorageManager$MtpObject, java.lang.String, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject parent
        start local 2 // java.lang.String path
        start local 3 // boolean isDir
         0: .line 645
            getstatic android.mtp.MtpStorageManager$MtpOperation.NONE:Landroid/mtp/MtpStorageManager$MtpOperation;
            astore 4 /* op */
        start local 4 // android.mtp.MtpStorageManager$MtpOperation op
         1: .line 646
            aload 1 /* parent */
            aload 2 /* path */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 5 /* obj */
        start local 5 // android.mtp.MtpStorageManager$MtpObject obj
         2: .line 647
            aload 5 /* obj */
            ifnull 18
         3: .line 648
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            astore 6 /* state */
        start local 6 // android.mtp.MtpStorageManager$MtpObjectState state
         4: .line 649
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            astore 4 /* op */
         5: .line 650
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            iload 3 /* isDir */
            if_icmpeq 7
            aload 6 /* state */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_REMOVED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            if_acmpeq 7
         6: .line 651
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Inconsistent directory info! "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 652
      StackMap locals: android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObjectState
      StackMap stack:
            aload 5 /* obj */
            iload 3 /* isDir */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setDir:(Z)V
         8: .line 653
            invokestatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:()[I
            aload 6 /* state */
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 13
                    2: 9
                    3: 13
                    4: 9
                    5: 11
              default: 14
          }
         9: .line 656
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ADDED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        10: .line 657
            goto 15
        11: .line 659
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        12: .line 660
            goto 15
        13: .line 664
      StackMap locals:
      StackMap stack:
            return
        14: .line 666
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Unexpected state in add "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* state */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 668
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 25
        16: .line 669
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 6 /* state */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " transitioned to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in op "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 6 // android.mtp.MtpStorageManager$MtpObjectState state
        17: .line 670
            goto 25
        18: .line 671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* path */
            iload 3 /* isDir */
            invokevirtual android.mtp.MtpStorageManager.addObjectToCache:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 5 /* obj */
        19: .line 672
            aload 5 /* obj */
            ifnull 22
        20: .line 673
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual android.mtp.MtpStorageManager$MtpNotifier.sendObjectAdded:(I)V
        21: .line 674
            goto 25
        22: .line 675
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 24
        23: .line 676
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " already exists"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        24: .line 677
      StackMap locals:
      StackMap stack:
            return
        25: .line 680
      StackMap locals:
      StackMap stack:
            iload 3 /* isDir */
            ifeq 56
        26: .line 682
            aload 4 /* op */
            getstatic android.mtp.MtpStorageManager$MtpOperation.RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpne 28
        27: .line 683
            return
        28: .line 686
      StackMap locals:
      StackMap stack:
            aload 4 /* op */
            getstatic android.mtp.MtpStorageManager$MtpOperation.COPY:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpne 30
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifne 30
        29: .line 687
            return
        30: .line 689
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            ifnull 33
        31: .line 690
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            ldc "Observer is not null!"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        32: .line 691
            return
        33: .line 693
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            new android.mtp.MtpStorageManager$MtpObjectObserver
            dup
            aload 0 /* this */
            aload 5 /* obj */
            invokespecial android.mtp.MtpStorageManager$MtpObjectObserver.<init>:(Landroid/mtp/MtpStorageManager;Landroid/mtp/MtpStorageManager$MtpObject;)V
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        34: .line 694
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.startWatching:()V
        35: .line 695
            aload 5 /* obj */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setVisited:(Z)V
        36: .line 699
            aconst_null
            astore 6
            aconst_null
            astore 7
        37: aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 8 /* stream */
        start local 8 // java.nio.file.DirectoryStream stream
        38: .line 700
            aload 8 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 10
            goto 45
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
        39: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 9 /* file */
        start local 9 // java.nio.file.Path file
        40: .line 701
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 42
        41: .line 702
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Manually handling event for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        42: .line 703
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.nio.file.Path java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 5 /* obj */
            aload 9 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
        43: .line 704
            aload 9 /* file */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isDirectory:()Z
        44: .line 703
            invokevirtual android.mtp.MtpStorageManager.handleAddedObject:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)V
        end local 9 // java.nio.file.Path file
        45: .line 700
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        46: .line 706
            aload 8 /* stream */
            ifnull 56
            aload 8 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 56
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        47: astore 6
            aload 8 /* stream */
            ifnull 48
            aload 8 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 8 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        48: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 7
            aload 6
            ifnonnull 50
            aload 7
            astore 6
            goto 51
      StackMap locals:
      StackMap stack:
        50: aload 6
            aload 7
            if_acmpeq 51
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        51: aload 6
            athrow
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int android.mtp.MtpStorageManager$MtpOperation android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.Exception
        52: astore 6 /* e */
        start local 6 // java.lang.Exception e
        53: .line 707
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        54: .line 708
            aload 5 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual android.os.FileObserver.stopWatching:()V
        55: .line 709
            aload 5 /* obj */
            aconst_null
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setObserver:(Landroid/os/FileObserver;)V
        end local 6 // java.lang.Exception e
        56: .line 712
      StackMap locals:
      StackMap stack:
            return
        end local 5 // android.mtp.MtpStorageManager$MtpObject obj
        end local 4 // android.mtp.MtpStorageManager$MtpOperation op
        end local 3 // boolean isDir
        end local 2 // java.lang.String path
        end local 1 // android.mtp.MtpStorageManager$MtpObject parent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   57     0    this  Landroid/mtp/MtpStorageManager;
            0   57     1  parent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   57     2    path  Ljava/lang/String;
            0   57     3   isDir  Z
            1   57     4      op  Landroid/mtp/MtpStorageManager$MtpOperation;
            2   57     5     obj  Landroid/mtp/MtpStorageManager$MtpObject;
            4   17     6   state  Landroid/mtp/MtpStorageManager$MtpObjectState;
           38   48     8  stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           40   45     9    file  Ljava/nio/file/Path;
           53   56     6       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          38    46      47  any
          37    49      49  any
          36    52      52  Class java.io.IOException
          36    52      52  Class java.nio.file.DirectoryIteratorException
    MethodParameters:
        Name  Flags
      parent  
      path    
      isDir   

  private synchronized void handleRemovedObject(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
         0: .line 715
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            astore 2 /* state */
        start local 2 // android.mtp.MtpStorageManager$MtpObjectState state
         1: .line 716
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            astore 3 /* op */
        start local 3 // android.mtp.MtpStorageManager$MtpOperation op
         2: .line 717
            invokestatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:()[I
            aload 2 /* state */
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 11
                    2: 9
                    3: 3
                    4: 14
                    5: 14
                    6: 5
              default: 14
          }
         3: .line 719
      StackMap locals: android.mtp.MtpStorageManager$MtpObjectState android.mtp.MtpStorageManager$MtpOperation
      StackMap stack:
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_REMOVED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         4: .line 720
            goto 15
         5: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* op */
            getstatic android.mtp.MtpStorageManager$MtpOperation.RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpeq 6
            iconst_1
            goto 7
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObjectState android.mtp.MtpStorageManager$MtpOperation
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject
         6: iconst_0
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObjectState android.mtp.MtpStorageManager$MtpOperation
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int
         7: iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            pop
         8: .line 723
            goto 15
         9: .line 725
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_REMOVED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        10: .line 726
            goto 15
        11: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iconst_1
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 15
        12: .line 729
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual android.mtp.MtpStorageManager$MtpNotifier.sendObjectRemoved:(I)V
        13: .line 730
            goto 15
        14: .line 733
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Got unexpected object remove for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 735
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 17
        16: .line 736
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* state */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " transitioned to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in op "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* op */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        17: .line 737
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.mtp.MtpStorageManager$MtpOperation op
        end local 2 // android.mtp.MtpStorageManager$MtpObjectState state
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Landroid/mtp/MtpStorageManager;
            0   18     1    obj  Landroid/mtp/MtpStorageManager$MtpObject;
            1   18     2  state  Landroid/mtp/MtpStorageManager$MtpObjectState;
            2   18     3     op  Landroid/mtp/MtpStorageManager$MtpOperation;
    MethodParameters:
      Name  Flags
      obj   

  public void flushEvents();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 746
            ldc 500
            invokestatic java.lang.Thread.sleep:(J)V
         1: .line 747
            goto 3
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         2: pop
         3: .line 750
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/mtp/MtpStorageManager;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException

  public synchronized void dump();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 756
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 13
      StackMap locals: android.mtp.MtpStorageManager top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* key */
        start local 1 // int key
         2: .line 757
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            iload 1 /* key */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* obj */
        start local 3 // android.mtp.MtpStorageManager$MtpObject obj
         3: .line 758
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            iload 1 /* key */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            ifnonnull 4
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            goto 5
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder
         4: ldc "null"
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.Comparable
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 759
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 7
            ldc "dir"
            goto 8
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder
         7: ldc "obj"
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.String
         8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 760
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifeq 10
            ldc "v"
            goto 11
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder
        10: ldc "nv"
      StackMap locals: android.mtp.MtpStorageManager int java.util.Iterator android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.String
        11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 758
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 3 // android.mtp.MtpStorageManager$MtpObject obj
        end local 1 // int key
        13: .line 756
      StackMap locals: android.mtp.MtpStorageManager top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        14: .line 762
            return
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Landroid/mtp/MtpStorageManager;
            2   13     1   key  I
            3   13     3   obj  Landroid/mtp/MtpStorageManager$MtpObject;

  public synchronized boolean checkConsistency();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 770
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 771
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         2: .line 770
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            astore 1 /* objs */
        start local 1 // java.util.stream.Stream objs
         3: .line 772
            aload 1 /* objs */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         4: .line 773
            iconst_1
            istore 3 /* ret */
        start local 3 // boolean ret
         5: .line 774
            goto 75
         6: .line 775
      StackMap locals: java.util.stream.Stream java.util.Iterator int
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 4 /* obj */
        start local 4 // android.mtp.MtpStorageManager$MtpObject obj
         7: .line 776
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.exists:()Z
            ifne 10
         8: .line 777
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Object doesn't exist "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 778
            iconst_0
            istore 3 /* ret */
        10: .line 780
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            if_acmpeq 13
        11: .line 781
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in state "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        12: .line 782
            iconst_0
            istore 3 /* ret */
        13: .line 784
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            getstatic android.mtp.MtpStorageManager$MtpOperation.NONE:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpeq 16
        14: .line 785
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in operation "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 786
            iconst_0
            istore 3 /* ret */
        16: .line 788
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifne 19
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 4 /* obj */
            if_acmpeq 19
        17: .line 789
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Object "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not in map correctly"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 790
            iconst_0
            istore 3 /* ret */
        19: .line 792
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            ifnull 31
        20: .line 793
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 24
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
        21: .line 794
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mRoots:Ljava/util/HashMap;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            if_acmpeq 24
        22: .line 795
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Root parent is not in root mapping "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        23: .line 796
            iconst_0
            istore 3 /* ret */
        24: .line 798
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifne 28
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
        25: .line 799
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            if_acmpeq 28
        26: .line 800
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Parent is not in object mapping "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        27: .line 801
            iconst_0
            istore 3 /* ret */
        28: .line 803
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            aload 4 /* obj */
            if_acmpeq 31
        29: .line 804
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Child does not exist in parent "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        30: .line 805
            iconst_0
            istore 3 /* ret */
        31: .line 808
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 75
        32: .line 809
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            ifnonnull 33
            iconst_1
            goto 34
      StackMap locals:
      StackMap stack: int
        33: iconst_0
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: int int
        34: if_icmpne 41
        35: .line 810
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifeq 36
            ldc ""
            goto 37
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder
        36: ldc "not "
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.String java.lang.StringBuilder java.lang.String
        37: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 811
            ldc " visited but observer is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getObserver:()Landroid/os/FileObserver;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 810
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        40: .line 812
            iconst_0
            istore 3 /* ret */
        41: .line 814
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifne 44
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            ifle 44
        42: .line 815
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not visited but has children"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        43: .line 816
            iconst_0
            istore 3 /* ret */
        44: .line 818
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        45: aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
            astore 7 /* stream */
        start local 7 // java.nio.file.DirectoryStream stream
        46: .line 819
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* files */
        start local 8 // java.util.Set files
        47: .line 820
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 10
            goto 56
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Set top java.util.Iterator
      StackMap stack:
        48: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            astore 9 /* file */
        start local 9 // java.nio.file.Path file
        49: .line 821
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isVisited:()Z
            ifeq 55
        50: .line 822
            aload 4 /* obj */
            aload 9 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            ifnonnull 55
        51: .line 823
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            ifnull 53
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 53
        52: .line 824
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            aload 9 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 55
        53: .line 825
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Set java.nio.file.Path java.util.Iterator
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "File exists in fs but not in children "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        54: .line 826
            iconst_0
            istore 3 /* ret */
        55: .line 828
      StackMap locals:
      StackMap stack:
            aload 8 /* files */
            aload 9 /* file */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.nio.file.Path file
        56: .line 820
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        57: .line 830
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 65
      StackMap locals:
      StackMap stack:
        58: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 9 /* child */
        start local 9 // android.mtp.MtpStorageManager$MtpObject child
        59: .line 831
            aload 8 /* files */
            aload 9 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 62
        60: .line 832
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "File in children doesn't exist in fs "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        61: .line 833
            iconst_0
            istore 3 /* ret */
        62: .line 835
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Set android.mtp.MtpStorageManager$MtpObject java.util.Iterator
      StackMap stack:
            aload 9 /* child */
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 9 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            if_acmpeq 65
        63: .line 836
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Child is not in object map "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        64: .line 837
            iconst_0
            istore 3 /* ret */
        end local 9 // android.mtp.MtpStorageManager$MtpObject child
        65: .line 830
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        end local 8 // java.util.Set files
        66: .line 840
            aload 7 /* stream */
            ifnull 75
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 75
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        67: astore 5
            aload 7 /* stream */
            ifnull 68
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 7 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        68: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        69: astore 6
            aload 5
            ifnonnull 70
            aload 6
            astore 5
            goto 71
      StackMap locals:
      StackMap stack:
        70: aload 5
            aload 6
            if_acmpeq 71
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        71: aload 5
            athrow
      StackMap locals: android.mtp.MtpStorageManager java.util.stream.Stream java.util.Iterator int android.mtp.MtpStorageManager$MtpObject
      StackMap stack: java.lang.Exception
        72: astore 5 /* e */
        start local 5 // java.lang.Exception e
        73: .line 841
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        74: .line 842
            iconst_0
            istore 3 /* ret */
        end local 5 // java.lang.Exception e
        end local 4 // android.mtp.MtpStorageManager$MtpObject obj
        75: .line 774
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        76: .line 846
            iload 3 /* ret */
            ireturn
        end local 3 // boolean ret
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.stream.Stream objs
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   77     0    this  Landroid/mtp/MtpStorageManager;
            3   77     1    objs  Ljava/util/stream/Stream<Landroid/mtp/MtpStorageManager$MtpObject;>;
            4   77     2    iter  Ljava/util/Iterator<Landroid/mtp/MtpStorageManager$MtpObject;>;
            5   77     3     ret  Z
            7   75     4     obj  Landroid/mtp/MtpStorageManager$MtpObject;
           46   68     7  stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           47   66     8   files  Ljava/util/Set<Ljava/lang/String;>;
           49   56     9    file  Ljava/nio/file/Path;
           59   65     9   child  Landroid/mtp/MtpStorageManager$MtpObject;
           73   75     5       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          46    66      67  any
          45    69      69  any
          44    72      72  Class java.io.IOException
          44    72      72  Class java.nio.file.DirectoryIteratorException

  public synchronized int beginSendObject(android.mtp.MtpStorageManager$MtpObject, java.lang.String, int);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;I)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject parent
        start local 2 // java.lang.String name
        start local 3 // int format
         0: .line 856
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 857
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "beginSendObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 858
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifne 4
         3: .line 859
            iconst_m1
            ireturn
         4: .line 860
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 6
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            ifnull 6
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            aload 2 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 861
            iconst_m1
            ireturn
         6: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parent */
            invokevirtual android.mtp.MtpStorageManager.getChildren:(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
            pop
         7: .line 863
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            iload 3 /* format */
            sipush 12289
            if_icmpne 8
            iconst_1
            goto 9
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String
         8: iconst_0
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject java.lang.String int
         9: invokevirtual android.mtp.MtpStorageManager.addObjectToCache:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 4 /* obj */
        start local 4 // android.mtp.MtpStorageManager$MtpObject obj
        10: .line 864
            aload 4 /* obj */
            ifnonnull 12
        11: .line 865
            iconst_m1
            ireturn
        12: .line 866
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 4 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        13: .line 867
            aload 4 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.ADD:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setOperation:(Landroid/mtp/MtpStorageManager$MtpOperation;)V
        14: .line 868
            aload 4 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            ireturn
        end local 4 // android.mtp.MtpStorageManager$MtpObject obj
        end local 3 // int format
        end local 2 // java.lang.String name
        end local 1 // android.mtp.MtpStorageManager$MtpObject parent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Landroid/mtp/MtpStorageManager;
            0   15     1  parent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   15     2    name  Ljava/lang/String;
            0   15     3  format  I
           10   15     4     obj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
        Name  Flags
      parent  
      name    
      format  

  public synchronized boolean endSendObject(android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean succeeded
         0: .line 878
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 879
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "endSendObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* succeeded */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 2 /* succeeded */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.generalEndAddObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ireturn
        end local 2 // boolean succeeded
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Landroid/mtp/MtpStorageManager;
            0    3     1        obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0    3     2  succeeded  Z
    MethodParameters:
           Name  Flags
      obj        
      succeeded  

  public synchronized boolean beginRenameObject(android.mtp.MtpStorageManager$MtpObject, java.lang.String);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // java.lang.String newName
         0: .line 891
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 892
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "beginRenameObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* newName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 893
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 4
         3: .line 894
            iconst_0
            ireturn
         4: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager.isSpecialSubDir:(Landroid/mtp/MtpStorageManager$MtpObject;)Z
            ifeq 6
         5: .line 896
            iconst_0
            ireturn
         6: .line 897
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 2 /* newName */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            ifnull 8
         7: .line 899
            iconst_0
            ireturn
         8: .line 901
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager$MtpObject.copy:(Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 3 /* oldObj */
        start local 3 // android.mtp.MtpStorageManager$MtpObject oldObj
         9: .line 902
            aload 1 /* obj */
            aload 2 /* newName */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setName:(Ljava/lang/String;)V
        10: .line 903
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        11: .line 904
            aload 3 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 3 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        12: .line 905
            aload 0 /* this */
            aload 3 /* oldObj */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager.generalBeginRenameObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
            ireturn
        end local 3 // android.mtp.MtpStorageManager$MtpObject oldObj
        end local 2 // java.lang.String newName
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/mtp/MtpStorageManager;
            0   13     1      obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   13     2  newName  Ljava/lang/String;
            9   13     3   oldObj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
         Name  Flags
      obj      
      newName  

  public synchronized boolean endRenameObject(android.mtp.MtpStorageManager$MtpObject, java.lang.String, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // java.lang.String oldName
        start local 3 // boolean success
         0: .line 916
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 917
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "endRenameObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* success */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 918
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            astore 4 /* parent */
        start local 4 // android.mtp.MtpStorageManager$MtpObject parent
         3: .line 919
            aload 4 /* parent */
            aload 2 /* oldName */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 5 /* oldObj */
        start local 5 // android.mtp.MtpStorageManager$MtpObject oldObj
         4: .line 920
            iload 3 /* success */
            ifne 15
         5: .line 923
            aload 5 /* oldObj */
            astore 6 /* temp */
        start local 6 // android.mtp.MtpStorageManager$MtpObject temp
         6: .line 924
            aload 5 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            astore 7 /* oldState */
        start local 7 // android.mtp.MtpStorageManager$MtpObjectState oldState
         7: .line 925
            aload 6 /* temp */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setName:(Ljava/lang/String;)V
         8: .line 926
            aload 6 /* temp */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         9: .line 927
            aload 1 /* obj */
            astore 5 /* oldObj */
        10: .line 928
            aload 5 /* oldObj */
            aload 2 /* oldName */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setName:(Ljava/lang/String;)V
        11: .line 929
            aload 5 /* oldObj */
            aload 7 /* oldState */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        12: .line 930
            aload 6 /* temp */
            astore 1 /* obj */
        13: .line 931
            aload 4 /* parent */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        14: .line 932
            aload 4 /* parent */
            aload 5 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        end local 7 // android.mtp.MtpStorageManager$MtpObjectState oldState
        end local 6 // android.mtp.MtpStorageManager$MtpObject temp
        15: .line 934
      StackMap locals: android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 0 /* this */
            aload 5 /* oldObj */
            aload 1 /* obj */
            iload 3 /* success */
            invokevirtual android.mtp.MtpStorageManager.generalEndRenameObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ireturn
        end local 5 // android.mtp.MtpStorageManager$MtpObject oldObj
        end local 4 // android.mtp.MtpStorageManager$MtpObject parent
        end local 3 // boolean success
        end local 2 // java.lang.String oldName
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Landroid/mtp/MtpStorageManager;
            0   16     1       obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   16     2   oldName  Ljava/lang/String;
            0   16     3   success  Z
            3   16     4    parent  Landroid/mtp/MtpStorageManager$MtpObject;
            4   16     5    oldObj  Landroid/mtp/MtpStorageManager$MtpObject;
            6   15     6      temp  Landroid/mtp/MtpStorageManager$MtpObject;
            7   15     7  oldState  Landroid/mtp/MtpStorageManager$MtpObjectState;
    MethodParameters:
         Name  Flags
      obj      
      oldName  
      success  

  public synchronized boolean beginRemoveObject(android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
         0: .line 944
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 945
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "beginRemoveObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 946
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifne 5
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager.isSpecialSubDir:(Landroid/mtp/MtpStorageManager$MtpObject;)Z
            ifne 5
         3: .line 947
            aload 0 /* this */
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.DELETE:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager.generalBeginRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpOperation;)Z
            ifeq 5
         4: .line 946
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/mtp/MtpStorageManager;
            0    6     1   obj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
      Name  Flags
      obj   

  public synchronized boolean endRemoveObject(android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean success
         0: .line 957
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 958
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "endRemoveObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* success */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 959
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* ret */
        start local 3 // boolean ret
         3: .line 960
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 11
         4: .line 961
            new java.util.ArrayList
            dup
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 4 /* child */
        start local 4 // android.mtp.MtpStorageManager$MtpObject child
         6: .line 962
            aload 4 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            getstatic android.mtp.MtpStorageManager$MtpOperation.DELETE:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpne 10
         7: .line 963
            aload 0 /* this */
            aload 4 /* child */
            iload 2 /* success */
            invokevirtual android.mtp.MtpStorageManager.endRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ifeq 8
            iload 3 /* ret */
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int android.mtp.MtpStorageManager$MtpObject java.util.Iterator
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 3 /* ret */
        end local 4 // android.mtp.MtpStorageManager$MtpObject child
        10: .line 961
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 965
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 2 /* success */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.generalEndRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 12
            iload 3 /* ret */
            ifeq 12
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        end local 3 // boolean ret
        end local 2 // boolean success
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Landroid/mtp/MtpStorageManager;
            0   13     1      obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   13     2  success  Z
            3   13     3      ret  Z
            6   10     4    child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
         Name  Flags
      obj      
      success  

  public synchronized boolean beginMoveObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // android.mtp.MtpStorageManager$MtpObject newParent
         0: .line 975
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 976
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "beginMoveObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 977
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 4
         3: .line 978
            iconst_0
            ireturn
         4: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager.isSpecialSubDir:(Landroid/mtp/MtpStorageManager$MtpObject;)Z
            ifeq 6
         5: .line 980
            iconst_0
            ireturn
         6: .line 981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager.getChildren:(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
            pop
         7: .line 982
            aload 2 /* newParent */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            ifnull 9
         8: .line 984
            iconst_0
            ireturn
         9: .line 985
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getStorageId:()I
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getStorageId:()I
            if_icmpeq 17
        10: .line 991
            aload 1 /* obj */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager$MtpObject.copy:(Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 3 /* newObj */
        start local 3 // android.mtp.MtpStorageManager$MtpObject newObj
        11: .line 992
            aload 3 /* newObj */
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        12: .line 993
            aload 2 /* newParent */
            aload 3 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        13: .line 994
            aload 0 /* this */
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager.generalBeginRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpOperation;)Z
            ifeq 16
        14: .line 995
            aload 0 /* this */
            aload 3 /* newObj */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.generalBeginCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ifeq 16
        15: .line 994
            iconst_1
            ireturn
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
        16: iconst_0
            ireturn
        end local 3 // android.mtp.MtpStorageManager$MtpObject newObj
        17: .line 998
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager$MtpObject.copy:(Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 3 /* oldObj */
        start local 3 // android.mtp.MtpStorageManager$MtpObject oldObj
        18: .line 999
            aload 1 /* obj */
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        19: .line 1000
            aload 3 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 3 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        20: .line 1001
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        21: .line 1002
            aload 0 /* this */
            aload 3 /* oldObj */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager.generalBeginRenameObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
            ireturn
        end local 3 // android.mtp.MtpStorageManager$MtpObject oldObj
        end local 2 // android.mtp.MtpStorageManager$MtpObject newParent
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Landroid/mtp/MtpStorageManager;
            0   22     1        obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   22     2  newParent  Landroid/mtp/MtpStorageManager$MtpObject;
           11   17     3     newObj  Landroid/mtp/MtpStorageManager$MtpObject;
           18   22     3     oldObj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
           Name  Flags
      obj        
      newParent  

  public synchronized boolean endMoveObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpObject, java.lang.String, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject oldParent
        start local 2 // android.mtp.MtpStorageManager$MtpObject newParent
        start local 3 // java.lang.String name
        start local 4 // boolean success
         0: .line 1015
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 1016
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "endMoveObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* success */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 1 /* oldParent */
            aload 3 /* name */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 5 /* oldObj */
        start local 5 // android.mtp.MtpStorageManager$MtpObject oldObj
         3: .line 1018
            aload 2 /* newParent */
            aload 3 /* name */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 6 /* newObj */
        start local 6 // android.mtp.MtpStorageManager$MtpObject newObj
         4: .line 1019
            aload 5 /* oldObj */
            ifnull 5
            aload 6 /* newObj */
            ifnonnull 6
         5: .line 1020
      StackMap locals: android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            iconst_0
            ireturn
         6: .line 1021
      StackMap locals:
      StackMap stack:
            aload 1 /* oldParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getStorageId:()I
            aload 6 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getStorageId:()I
            if_icmpeq 10
         7: .line 1022
            aload 0 /* this */
            aload 5 /* oldObj */
            iload 4 /* success */
            invokevirtual android.mtp.MtpStorageManager.endRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            istore 7 /* ret */
        start local 7 // boolean ret
         8: .line 1023
            aload 0 /* this */
            aload 6 /* newObj */
            iload 4 /* success */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.generalEndCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 9
            iload 7 /* ret */
            ifeq 9
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         9: iconst_0
            ireturn
        end local 7 // boolean ret
        10: .line 1025
      StackMap locals:
      StackMap stack:
            iload 4 /* success */
            ifne 21
        11: .line 1028
            aload 5 /* oldObj */
            astore 7 /* temp */
        start local 7 // android.mtp.MtpStorageManager$MtpObject temp
        12: .line 1029
            aload 5 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            astore 8 /* oldState */
        start local 8 // android.mtp.MtpStorageManager$MtpObjectState oldState
        13: .line 1030
            aload 7 /* temp */
            aload 6 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        14: .line 1031
            aload 7 /* temp */
            aload 6 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        15: .line 1032
            aload 6 /* newObj */
            astore 5 /* oldObj */
        16: .line 1033
            aload 5 /* oldObj */
            aload 1 /* oldParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        17: .line 1034
            aload 5 /* oldObj */
            aload 8 /* oldState */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
        18: .line 1035
            aload 7 /* temp */
            astore 6 /* newObj */
        19: .line 1036
            aload 6 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            aload 6 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        20: .line 1037
            aload 1 /* oldParent */
            aload 5 /* oldObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        end local 8 // android.mtp.MtpStorageManager$MtpObjectState oldState
        end local 7 // android.mtp.MtpStorageManager$MtpObject temp
        21: .line 1039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* oldObj */
            aload 6 /* newObj */
            iload 4 /* success */
            invokevirtual android.mtp.MtpStorageManager.generalEndRenameObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ireturn
        end local 6 // android.mtp.MtpStorageManager$MtpObject newObj
        end local 5 // android.mtp.MtpStorageManager$MtpObject oldObj
        end local 4 // boolean success
        end local 3 // java.lang.String name
        end local 2 // android.mtp.MtpStorageManager$MtpObject newParent
        end local 1 // android.mtp.MtpStorageManager$MtpObject oldParent
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Landroid/mtp/MtpStorageManager;
            0   22     1  oldParent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   22     2  newParent  Landroid/mtp/MtpStorageManager$MtpObject;
            0   22     3       name  Ljava/lang/String;
            0   22     4    success  Z
            3   22     5     oldObj  Landroid/mtp/MtpStorageManager$MtpObject;
            4   22     6     newObj  Landroid/mtp/MtpStorageManager$MtpObject;
            8   10     7        ret  Z
           12   21     7       temp  Landroid/mtp/MtpStorageManager$MtpObject;
           13   21     8   oldState  Landroid/mtp/MtpStorageManager$MtpObjectState;
    MethodParameters:
           Name  Flags
      oldParent  
      newParent  
      name       
      success    

  public synchronized int beginCopyObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject object
        start local 2 // android.mtp.MtpStorageManager$MtpObject newParent
         0: .line 1049
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 1050
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "beginCopyObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 1051
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 1052
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifne 5
         4: .line 1053
            iconst_m1
            ireturn
         5: .line 1054
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 7
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            ifnull 7
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mSubdirectories:Ljava/util/Set;
            aload 3 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 1055
            iconst_m1
            ireturn
         7: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager.getChildren:(Landroid/mtp/MtpStorageManager$MtpObject;)Ljava/util/Collection;
            pop
         8: .line 1057
            aload 2 /* newParent */
            aload 3 /* name */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChild:(Ljava/lang/String;)Landroid/mtp/MtpStorageManager$MtpObject;
            ifnull 10
         9: .line 1058
            iconst_m1
            ireturn
        10: .line 1059
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            invokevirtual android.mtp.MtpStorageManager$MtpObject.copy:(Z)Landroid/mtp/MtpStorageManager$MtpObject;
            astore 4 /* newObj */
        start local 4 // android.mtp.MtpStorageManager$MtpObject newObj
        11: .line 1060
            aload 2 /* newParent */
            aload 4 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.addChild:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        12: .line 1061
            aload 4 /* newObj */
            aload 2 /* newParent */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setParent:(Landroid/mtp/MtpStorageManager$MtpObject;)V
        13: .line 1062
            aload 0 /* this */
            aload 4 /* newObj */
            iconst_1
            invokevirtual android.mtp.MtpStorageManager.generalBeginCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ifne 15
        14: .line 1063
            iconst_m1
            ireturn
        15: .line 1064
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 4 /* newObj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            ireturn
        end local 4 // android.mtp.MtpStorageManager$MtpObject newObj
        end local 3 // java.lang.String name
        end local 2 // android.mtp.MtpStorageManager$MtpObject newParent
        end local 1 // android.mtp.MtpStorageManager$MtpObject object
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Landroid/mtp/MtpStorageManager;
            0   16     1     object  Landroid/mtp/MtpStorageManager$MtpObject;
            0   16     2  newParent  Landroid/mtp/MtpStorageManager$MtpObject;
            3   16     3       name  Ljava/lang/String;
           11   16     4     newObj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
           Name  Flags
      object     
      newParent  

  public synchronized boolean endCopyObject(android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject object
        start local 2 // boolean success
         0: .line 1074
            getstatic android.mtp.MtpStorageManager.sDebug:Z
            ifeq 2
         1: .line 1075
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "endCopyObject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* success */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 1076
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            iload 2 /* success */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.generalEndCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ireturn
        end local 2 // boolean success
        end local 1 // android.mtp.MtpStorageManager$MtpObject object
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/mtp/MtpStorageManager;
            0    3     1   object  Landroid/mtp/MtpStorageManager$MtpObject;
            0    3     2  success  Z
    MethodParameters:
         Name  Flags
      object   
      success  

  private synchronized boolean generalEndAddObject(android.mtp.MtpStorageManager$MtpObject, boolean, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean succeeded
        start local 3 // boolean removeGlobal
         0: .line 1081
            invokestatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:()[I
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 1
                    3: 6
                    4: 13
              default: 18
          }
         1: .line 1084
      StackMap locals:
      StackMap stack:
            iload 2 /* succeeded */
            ifeq 4
         2: .line 1086
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ONESHOT_ADD:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         3: .line 1087
            goto 19
         4: .line 1089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 3 /* removeGlobal */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifne 19
         5: .line 1090
            iconst_0
            ireturn
         6: .line 1095
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         7: .line 1096
            iload 2 /* succeeded */
            ifne 19
         8: .line 1097
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            astore 4 /* parent */
        start local 4 // android.mtp.MtpStorageManager$MtpObject parent
         9: .line 1099
            aload 0 /* this */
            aload 1 /* obj */
            iload 3 /* removeGlobal */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifne 11
        10: .line 1100
            iconst_0
            ireturn
        11: .line 1101
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* parent */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            invokevirtual android.mtp.MtpStorageManager.handleAddedObject:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)V
        end local 4 // android.mtp.MtpStorageManager$MtpObject parent
        12: .line 1104
            goto 19
        13: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 3 /* removeGlobal */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifne 15
        14: .line 1107
            iconst_0
            ireturn
        15: .line 1108
      StackMap locals:
      StackMap stack:
            iload 2 /* succeeded */
            ifeq 19
        16: .line 1110
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual android.mtp.MtpStorageManager$MtpNotifier.sendObjectRemoved:(I)V
        17: .line 1113
            goto 19
        18: .line 1115
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        19: .line 1117
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // boolean removeGlobal
        end local 2 // boolean succeeded
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Landroid/mtp/MtpStorageManager;
            0   20     1           obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   20     2     succeeded  Z
            0   20     3  removeGlobal  Z
            9   12     4        parent  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
              Name  Flags
      obj           
      succeeded     
      removeGlobal  

  private synchronized boolean generalEndRemoveObject(android.mtp.MtpStorageManager$MtpObject, boolean, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean success
        start local 3 // boolean removeGlobal
         0: .line 1122
            invokestatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:()[I
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getState:()Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iaload
            tableswitch { // 2 - 4
                    2: 1
                    3: 6
                    4: 13
              default: 18
          }
         1: .line 1124
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifeq 4
         2: .line 1126
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ONESHOT_DEL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         3: .line 1127
            goto 19
         4: .line 1129
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         5: .line 1131
            goto 19
         6: .line 1134
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         7: .line 1135
            iload 2 /* success */
            ifeq 19
         8: .line 1137
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            astore 4 /* parent */
        start local 4 // android.mtp.MtpStorageManager$MtpObject parent
         9: .line 1138
            aload 0 /* this */
            aload 1 /* obj */
            iload 3 /* removeGlobal */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifne 11
        10: .line 1139
            iconst_0
            ireturn
        11: .line 1140
      StackMap locals: android.mtp.MtpStorageManager$MtpObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* parent */
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            invokevirtual android.mtp.MtpStorageManager.handleAddedObject:(Landroid/mtp/MtpStorageManager$MtpObject;Ljava/lang/String;Z)V
        end local 4 // android.mtp.MtpStorageManager$MtpObject parent
        12: .line 1143
            goto 19
        13: .line 1145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 3 /* removeGlobal */
            iconst_0
            invokevirtual android.mtp.MtpStorageManager.removeObjectFromCache:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifne 15
        14: .line 1146
            iconst_0
            ireturn
        15: .line 1147
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifne 19
        16: .line 1149
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mMtpNotifier:Landroid/mtp/MtpStorageManager$MtpNotifier;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokevirtual android.mtp.MtpStorageManager$MtpNotifier.sendObjectRemoved:(I)V
        17: .line 1152
            goto 19
        18: .line 1154
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        19: .line 1156
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // boolean removeGlobal
        end local 2 // boolean success
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Landroid/mtp/MtpStorageManager;
            0   20     1           obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   20     2       success  Z
            0   20     3  removeGlobal  Z
            9   12     4        parent  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
              Name  Flags
      obj           
      success       
      removeGlobal  

  private synchronized boolean generalBeginRenameObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpObject);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject fromObj
        start local 2 // android.mtp.MtpStorageManager$MtpObject toObj
         0: .line 1160
            aload 1 /* fromObj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         1: .line 1161
            aload 2 /* toObj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         2: .line 1162
            aload 1 /* fromObj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setOperation:(Landroid/mtp/MtpStorageManager$MtpOperation;)V
         3: .line 1163
            aload 2 /* toObj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.RENAME:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setOperation:(Landroid/mtp/MtpStorageManager$MtpOperation;)V
         4: .line 1164
            iconst_1
            ireturn
        end local 2 // android.mtp.MtpStorageManager$MtpObject toObj
        end local 1 // android.mtp.MtpStorageManager$MtpObject fromObj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/mtp/MtpStorageManager;
            0    5     1  fromObj  Landroid/mtp/MtpStorageManager$MtpObject;
            0    5     2    toObj  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
         Name  Flags
      fromObj  
      toObj    

  private synchronized boolean generalEndRenameObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject fromObj
        start local 2 // android.mtp.MtpStorageManager$MtpObject toObj
        start local 3 // boolean success
         0: .line 1169
            aload 0 /* this */
            aload 1 /* fromObj */
            iload 3 /* success */
            iload 3 /* success */
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObject int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int
         1: iconst_1
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpObject int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int
         2: invokevirtual android.mtp.MtpStorageManager.generalEndRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            istore 4 /* ret */
        start local 4 // boolean ret
         3: .line 1170
            aload 0 /* this */
            aload 2 /* toObj */
            iload 3 /* success */
            iload 3 /* success */
            invokevirtual android.mtp.MtpStorageManager.generalEndAddObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 4
            iload 4 /* ret */
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         4: iconst_0
            ireturn
        end local 4 // boolean ret
        end local 3 // boolean success
        end local 2 // android.mtp.MtpStorageManager$MtpObject toObj
        end local 1 // android.mtp.MtpStorageManager$MtpObject fromObj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/mtp/MtpStorageManager;
            0    5     1  fromObj  Landroid/mtp/MtpStorageManager$MtpObject;
            0    5     2    toObj  Landroid/mtp/MtpStorageManager$MtpObject;
            0    5     3  success  Z
            3    5     4      ret  Z
    MethodParameters:
         Name  Flags
      fromObj  
      toObj    
      success  

  private synchronized boolean generalBeginRemoveObject(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpStorageManager$MtpOperation);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpOperation;)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // android.mtp.MtpStorageManager$MtpOperation op
         0: .line 1174
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         1: .line 1175
            aload 1 /* obj */
            aload 2 /* op */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setOperation:(Landroid/mtp/MtpStorageManager$MtpOperation;)V
         2: .line 1176
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 7
         3: .line 1177
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpOperation top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* child */
        start local 3 // android.mtp.MtpStorageManager$MtpObject child
         5: .line 1178
            aload 0 /* this */
            aload 3 /* child */
            aload 2 /* op */
            invokevirtual android.mtp.MtpStorageManager.generalBeginRemoveObject:(Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpStorageManager$MtpOperation;)Z
            pop
        end local 3 // android.mtp.MtpStorageManager$MtpObject child
         6: .line 1177
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1180
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject android.mtp.MtpStorageManager$MtpOperation
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // android.mtp.MtpStorageManager$MtpOperation op
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/mtp/MtpStorageManager;
            0    8     1    obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0    8     2     op  Landroid/mtp/MtpStorageManager$MtpOperation;
            5    6     3  child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
      Name  Flags
      obj   
      op    

  private synchronized boolean generalBeginCopyObject(android.mtp.MtpStorageManager$MtpObject, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean newId
         0: .line 1184
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setState:(Landroid/mtp/MtpStorageManager$MtpObjectState;)V
         1: .line 1185
            aload 1 /* obj */
            getstatic android.mtp.MtpStorageManager$MtpOperation.COPY:Landroid/mtp/MtpStorageManager$MtpOperation;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setOperation:(Landroid/mtp/MtpStorageManager$MtpOperation;)V
         2: .line 1186
            iload 2 /* newId */
            ifeq 5
         3: .line 1187
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager.getNextObjectId:()I
            invokevirtual android.mtp.MtpStorageManager$MtpObject.setId:(I)V
         4: .line 1188
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1190
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 11
         6: .line 1191
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 3 /* child */
        start local 3 // android.mtp.MtpStorageManager$MtpObject child
         8: .line 1192
            aload 0 /* this */
            aload 3 /* child */
            iload 2 /* newId */
            invokevirtual android.mtp.MtpStorageManager.generalBeginCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;Z)Z
            ifne 10
         9: .line 1193
            iconst_0
            ireturn
        end local 3 // android.mtp.MtpStorageManager$MtpObject child
        10: .line 1191
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 1194
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean newId
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Landroid/mtp/MtpStorageManager;
            0   12     1    obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   12     2  newId  Z
            8   10     3  child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
       Name  Flags
      obj    
      newId  

  private synchronized boolean generalEndCopyObject(android.mtp.MtpStorageManager$MtpObject, boolean, boolean);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // android.mtp.MtpStorageManager this
        start local 1 // android.mtp.MtpStorageManager$MtpObject obj
        start local 2 // boolean success
        start local 3 // boolean addGlobal
         0: .line 1198
            iload 2 /* success */
            ifeq 2
            iload 3 /* addGlobal */
            ifeq 2
         1: .line 1199
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mObjects:Ljava/util/HashMap;
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1200
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* ret */
        start local 4 // boolean ret
         3: .line 1201
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isDir:()Z
            ifeq 11
         4: .line 1202
            new java.util.ArrayList
            dup
            aload 1 /* obj */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getChildren:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.mtp.MtpStorageManager$MtpObject
            astore 5 /* child */
        start local 5 // android.mtp.MtpStorageManager$MtpObject child
         6: .line 1203
            aload 5 /* child */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getOperation:()Landroid/mtp/MtpStorageManager$MtpOperation;
            getstatic android.mtp.MtpStorageManager$MtpOperation.COPY:Landroid/mtp/MtpStorageManager$MtpOperation;
            if_acmpne 10
         7: .line 1204
            aload 0 /* this */
            aload 5 /* child */
            iload 2 /* success */
            iload 3 /* addGlobal */
            invokevirtual android.mtp.MtpStorageManager.generalEndCopyObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 8
            iload 4 /* ret */
            ifeq 8
            iconst_1
            goto 9
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int android.mtp.MtpStorageManager$MtpObject java.util.Iterator
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 4 /* ret */
        end local 5 // android.mtp.MtpStorageManager$MtpObject child
        10: .line 1202
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 1207
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            iload 2 /* success */
            iload 2 /* success */
            ifne 12
            iload 3 /* addGlobal */
            ifeq 12
            iconst_0
            goto 13
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int
        12: iconst_1
      StackMap locals: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int int
      StackMap stack: android.mtp.MtpStorageManager android.mtp.MtpStorageManager$MtpObject int int
        13: invokevirtual android.mtp.MtpStorageManager.generalEndAddObject:(Landroid/mtp/MtpStorageManager$MtpObject;ZZ)Z
            ifeq 14
            iload 4 /* ret */
            ifeq 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 4 /* ret */
        16: .line 1208
            iload 4 /* ret */
            ireturn
        end local 4 // boolean ret
        end local 3 // boolean addGlobal
        end local 2 // boolean success
        end local 1 // android.mtp.MtpStorageManager$MtpObject obj
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Landroid/mtp/MtpStorageManager;
            0   17     1        obj  Landroid/mtp/MtpStorageManager$MtpObject;
            0   17     2    success  Z
            0   17     3  addGlobal  Z
            3   17     4        ret  Z
            6   10     5      child  Landroid/mtp/MtpStorageManager$MtpObject;
    MethodParameters:
           Name  Flags
      obj        
      success    
      addGlobal  

  static int[] $SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 45
            getstatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic android.mtp.MtpStorageManager$MtpObjectState.values:()[Landroid/mtp/MtpStorageManager$MtpObjectState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ADDED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ONESHOT_ADD:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_ONESHOT_DEL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.FROZEN_REMOVED:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic android.mtp.MtpStorageManager$MtpObjectState.NORMAL:Landroid/mtp/MtpStorageManager$MtpObjectState;
            invokevirtual android.mtp.MtpStorageManager$MtpObjectState.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic android.mtp.MtpStorageManager.$SWITCH_TABLE$android$mtp$MtpStorageManager$MtpObjectState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError

  private void lambda$0();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.mtp.MtpStorageManager this
         0: .line 340
            goto 9
         1: .line 342
      StackMap locals:
      StackMap stack:
            ldc 15000
            invokestatic java.lang.Thread.sleep:(J)V
         2: .line 343
            goto 5
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         3: pop
         4: .line 344
            return
         5: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.mtp.MtpStorageManager.checkConsistency:()Z
            ifeq 8
         6: .line 347
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            ldc "Cache is consistent"
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 348
            goto 9
         8: .line 349
      StackMap locals:
      StackMap stack:
            getstatic android.mtp.MtpStorageManager.TAG:Ljava/lang/String;
            ldc "Cache is not consistent"
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         9: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpStorageManager.mCheckConsistency:Z
            ifne 1
        10: .line 352
            return
        end local 0 // android.mtp.MtpStorageManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/mtp/MtpStorageManager;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.InterruptedException

  private static boolean lambda$5(int, android.mtp.MtpStorageManager$MtpObject);
    descriptor: (ILandroid/mtp/MtpStorageManager$MtpObject;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // android.mtp.MtpStorageManager$MtpObject o
         0: .line 529
            aload 1 /* o */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getFormat:()I
            iload 0
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // android.mtp.MtpStorageManager$MtpObject o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     o  Landroid/mtp/MtpStorageManager$MtpObject;
}
SourceFile: "MtpStorageManager.java"
NestMembers:
  android.mtp.MtpStorageManager$MtpNotifier  android.mtp.MtpStorageManager$MtpObject  android.mtp.MtpStorageManager$MtpObjectObserver  android.mtp.MtpStorageManager$MtpObjectState  android.mtp.MtpStorageManager$MtpOperation
InnerClasses:
  public abstract MtpNotifier = android.mtp.MtpStorageManager$MtpNotifier of android.mtp.MtpStorageManager
  public MtpObject = android.mtp.MtpStorageManager$MtpObject of android.mtp.MtpStorageManager
  private MtpObjectObserver = android.mtp.MtpStorageManager$MtpObjectObserver of android.mtp.MtpStorageManager
  private final MtpObjectState = android.mtp.MtpStorageManager$MtpObjectState of android.mtp.MtpStorageManager
  private final MtpOperation = android.mtp.MtpStorageManager$MtpOperation of android.mtp.MtpStorageManager
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles