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

  private final android.content.ContentProviderClient mProvider;
    descriptor: Landroid/content/ContentProviderClient;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mVolumeName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.Uri mUri;
    descriptor: Landroid/net/Uri;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.mtp.MtpPropertyGroup$Property[] mProperties;
    descriptor: [Landroid/mtp/MtpPropertyGroup$Property;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String[] mColumns;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String PATH_WHERE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "_data=?"

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

  public void <init>(android.content.ContentProviderClient, java.lang.String, int[]);
    descriptor: (Landroid/content/ContentProviderClient;Ljava/lang/String;[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.mtp.MtpPropertyGroup this
        start local 1 // android.content.ContentProviderClient provider
        start local 2 // java.lang.String volumeName
        start local 3 // int[] properties
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* provider */
            putfield android.mtp.MtpPropertyGroup.mProvider:Landroid/content/ContentProviderClient;
         2: .line 64
            aload 0 /* this */
            aload 2 /* volumeName */
            putfield android.mtp.MtpPropertyGroup.mVolumeName:Ljava/lang/String;
         3: .line 65
            aload 0 /* this */
            aload 2 /* volumeName */
            invokestatic android.provider.MediaStore$Files.getMtpObjectsUri:(Ljava/lang/String;)Landroid/net/Uri;
            putfield android.mtp.MtpPropertyGroup.mUri:Landroid/net/Uri;
         4: .line 67
            aload 3 /* properties */
            arraylength
            istore 4 /* count */
        start local 4 // int count
         5: .line 68
            new java.util.ArrayList
            dup
            iload 4 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* columns */
        start local 5 // java.util.ArrayList columns
         6: .line 69
            aload 5 /* columns */
            ldc "_id"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 71
            aload 0 /* this */
            iload 4 /* count */
            anewarray android.mtp.MtpPropertyGroup$Property
            putfield android.mtp.MtpPropertyGroup.mProperties:[Landroid/mtp/MtpPropertyGroup$Property;
         8: .line 72
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 73
      StackMap locals: android.mtp.MtpPropertyGroup android.content.ContentProviderClient java.lang.String int[] int java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mProperties:[Landroid/mtp/MtpPropertyGroup$Property;
            iload 6 /* i */
            aload 0 /* this */
            aload 3 /* properties */
            iload 6 /* i */
            iaload
            aload 5 /* columns */
            invokevirtual android.mtp.MtpPropertyGroup.createProperty:(ILjava/util/ArrayList;)Landroid/mtp/MtpPropertyGroup$Property;
            aastore
        11: .line 72
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 4 /* count */
            if_icmplt 10
        end local 6 // int i
        13: .line 75
            aload 5 /* columns */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* count */
        14: .line 76
            aload 0 /* this */
            iload 4 /* count */
            anewarray java.lang.String
            putfield android.mtp.MtpPropertyGroup.mColumns:[Ljava/lang/String;
        15: .line 77
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        16: goto 19
        17: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mColumns:[Ljava/lang/String;
            iload 6 /* i */
            aload 5 /* columns */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        18: .line 77
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 4 /* count */
            if_icmplt 17
        end local 6 // int i
        20: .line 80
            return
        end local 5 // java.util.ArrayList columns
        end local 4 // int count
        end local 3 // int[] properties
        end local 2 // java.lang.String volumeName
        end local 1 // android.content.ContentProviderClient provider
        end local 0 // android.mtp.MtpPropertyGroup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Landroid/mtp/MtpPropertyGroup;
            0   21     1    provider  Landroid/content/ContentProviderClient;
            0   21     2  volumeName  Ljava/lang/String;
            0   21     3  properties  [I
            5   21     4       count  I
            6   21     5     columns  Ljava/util/ArrayList<Ljava/lang/String;>;
            9   13     6           i  I
           16   20     6           i  I
    MethodParameters:
            Name  Flags
      provider    
      volumeName  
      properties  

  private android.mtp.MtpPropertyGroup$Property createProperty(int, java.util.ArrayList<java.lang.String>);
    descriptor: (ILjava/util/ArrayList;)Landroid/mtp/MtpPropertyGroup$Property;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // android.mtp.MtpPropertyGroup this
        start local 1 // int code
        start local 2 // java.util.ArrayList columns
         0: .line 83
            aconst_null
            astore 3 /* column */
        start local 3 // java.lang.String column
         1: .line 86
            iload 1 /* code */
            lookupswitch { // 25
                56321: 2
                56322: 4
                56323: 6
                56324: 8
                56327: 10
                56329: 14
                56331: 21
                56385: 23
                56388: 12
                56390: 33
                56392: 45
                56398: 16
                56457: 25
                56459: 28
                56460: 40
                56470: 42
                56473: 18
                56474: 35
                56475: 37
                56544: 31
                56978: 50
                56979: 48
                56980: 50
                56985: 48
                56986: 48
              default: 52
          }
         2: .line 88
      StackMap locals: java.lang.String
      StackMap stack:
            bipush 6
            istore 4 /* type */
        start local 4 // int type
         3: .line 89
            goto 54
        end local 4 // int type
         4: .line 91
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* type */
        start local 4 // int type
         5: .line 92
            goto 54
        end local 4 // int type
         6: .line 94
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* type */
        start local 4 // int type
         7: .line 95
            goto 54
        end local 4 // int type
         8: .line 97
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 4 /* type */
        start local 4 // int type
         9: .line 98
            goto 54
        end local 4 // int type
        10: .line 100
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        11: .line 101
            goto 54
        end local 4 // int type
        12: .line 103
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        13: .line 104
            goto 54
        end local 4 // int type
        14: .line 106
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        15: .line 107
            goto 54
        end local 4 // int type
        16: .line 109
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        17: .line 110
            goto 54
        end local 4 // int type
        18: .line 112
      StackMap locals:
      StackMap stack:
            ldc "year"
            astore 3 /* column */
        19: .line 113
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        20: .line 114
            goto 54
        end local 4 // int type
        21: .line 116
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 4 /* type */
        start local 4 // int type
        22: .line 117
            goto 54
        end local 4 // int type
        23: .line 119
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 4 /* type */
        start local 4 // int type
        24: .line 120
            goto 54
        end local 4 // int type
        25: .line 122
      StackMap locals:
      StackMap stack:
            ldc "duration"
            astore 3 /* column */
        26: .line 123
            bipush 6
            istore 4 /* type */
        start local 4 // int type
        27: .line 124
            goto 54
        end local 4 // int type
        28: .line 126
      StackMap locals:
      StackMap stack:
            ldc "track"
            astore 3 /* column */
        29: .line 127
            iconst_4
            istore 4 /* type */
        start local 4 // int type
        30: .line 128
            goto 54
        end local 4 // int type
        31: .line 130
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        32: .line 131
            goto 54
        end local 4 // int type
        33: .line 133
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        34: .line 134
            goto 54
        end local 4 // int type
        35: .line 136
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        36: .line 137
            goto 54
        end local 4 // int type
        37: .line 139
      StackMap locals:
      StackMap stack:
            ldc "album_artist"
            astore 3 /* column */
        38: .line 140
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        39: .line 141
            goto 54
        end local 4 // int type
        40: .line 144
      StackMap locals:
      StackMap stack:
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        41: .line 145
            goto 54
        end local 4 // int type
        42: .line 147
      StackMap locals:
      StackMap stack:
            ldc "composer"
            astore 3 /* column */
        43: .line 148
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        44: .line 149
            goto 54
        end local 4 // int type
        45: .line 151
      StackMap locals:
      StackMap stack:
            ldc "description"
            astore 3 /* column */
        46: .line 152
            ldc 65535
            istore 4 /* type */
        start local 4 // int type
        47: .line 153
            goto 54
        end local 4 // int type
        48: .line 158
      StackMap locals:
      StackMap stack:
            bipush 6
            istore 4 /* type */
        start local 4 // int type
        49: .line 159
            goto 54
        end local 4 // int type
        50: .line 163
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* type */
        start local 4 // int type
        51: .line 164
            goto 54
        end local 4 // int type
        52: .line 166
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* type */
        start local 4 // int type
        53: .line 167
            getstatic android.mtp.MtpPropertyGroup.TAG:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "unsupported property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        54: .line 171
      StackMap locals: int
      StackMap stack:
            aload 3 /* column */
            ifnull 57
        55: .line 172
            aload 2 /* columns */
            aload 3 /* column */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        56: .line 173
            new android.mtp.MtpPropertyGroup$Property
            dup
            aload 0 /* this */
            iload 1 /* code */
            iload 4 /* type */
            aload 2 /* columns */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokespecial android.mtp.MtpPropertyGroup$Property.<init>:(Landroid/mtp/MtpPropertyGroup;III)V
            areturn
        57: .line 175
      StackMap locals:
      StackMap stack:
            new android.mtp.MtpPropertyGroup$Property
            dup
            aload 0 /* this */
            iload 1 /* code */
            iload 4 /* type */
            iconst_m1
            invokespecial android.mtp.MtpPropertyGroup$Property.<init>:(Landroid/mtp/MtpPropertyGroup;III)V
            areturn
        end local 4 // int type
        end local 3 // java.lang.String column
        end local 2 // java.util.ArrayList columns
        end local 1 // int code
        end local 0 // android.mtp.MtpPropertyGroup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   58     0     this  Landroid/mtp/MtpPropertyGroup;
            0   58     1     code  I
            0   58     2  columns  Ljava/util/ArrayList<Ljava/lang/String;>;
            1   58     3   column  Ljava/lang/String;
            3    4     4     type  I
            5    6     4     type  I
            7    8     4     type  I
            9   10     4     type  I
           11   12     4     type  I
           13   14     4     type  I
           15   16     4     type  I
           17   18     4     type  I
           20   21     4     type  I
           22   23     4     type  I
           24   25     4     type  I
           27   28     4     type  I
           30   31     4     type  I
           32   33     4     type  I
           34   35     4     type  I
           36   37     4     type  I
           39   40     4     type  I
           41   42     4     type  I
           44   45     4     type  I
           47   48     4     type  I
           49   50     4     type  I
           51   52     4     type  I
           53   58     4     type  I
    Signature: (ILjava/util/ArrayList<Ljava/lang/String;>;)Landroid/mtp/MtpPropertyGroup$Property;
    MethodParameters:
         Name  Flags
      code     
      columns  

  private java.lang.String queryAudio(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // android.mtp.MtpPropertyGroup this
        start local 1 // java.lang.String path
        start local 2 // java.lang.String column
         0: .line 180
            aconst_null
            astore 3 /* c */
        start local 3 // android.database.Cursor c
         1: .line 182
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mProvider:Landroid/content/ContentProviderClient;
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mVolumeName:Ljava/lang/String;
            invokestatic android.provider.MediaStore$Audio$Media.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;
         2: .line 183
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* column */
            aastore
         3: .line 184
            ldc "_data=?"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* path */
            aastore
            aconst_null
            aconst_null
         4: .line 182
            invokevirtual android.content.ContentProviderClient.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            astore 3 /* c */
         5: .line 185
            aload 3 /* c */
            ifnull 10
            aload 3 /* c */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifeq 10
         6: .line 186
            aload 3 /* c */
            iconst_0
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 5
         7: .line 193
            aload 3 /* c */
            ifnull 9
         8: .line 194
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
         9: .line 186
      StackMap locals: android.mtp.MtpPropertyGroup java.lang.String java.lang.String android.database.Cursor top java.lang.String
      StackMap stack:
            aload 5
            areturn
        10: .line 193
      StackMap locals: android.mtp.MtpPropertyGroup java.lang.String java.lang.String android.database.Cursor
      StackMap stack:
            aload 3 /* c */
            ifnull 12
        11: .line 194
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
        12: .line 188
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        13: .line 190
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        14: .line 193
            aload 3 /* c */
            ifnull 16
        15: .line 194
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
        16: .line 191
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        17: .line 192
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 193
            aload 3 /* c */
            ifnull 20
        19: .line 194
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
        20: .line 196
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 3 // android.database.Cursor c
        end local 2 // java.lang.String column
        end local 1 // java.lang.String path
        end local 0 // android.mtp.MtpPropertyGroup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Landroid/mtp/MtpPropertyGroup;
            0   21     1    path  Ljava/lang/String;
            0   21     2  column  Ljava/lang/String;
            1   21     3       c  Landroid/database/Cursor;
      Exception table:
        from    to  target  type
           1     7      13  Class java.lang.Exception
           1     7      17  any
          13    14      17  any
    MethodParameters:
        Name  Flags
      path    
      column  

  private java.lang.String queryGenre(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // android.mtp.MtpPropertyGroup this
        start local 1 // java.lang.String path
         0: .line 200
            aconst_null
            astore 2 /* c */
        start local 2 // android.database.Cursor c
         1: .line 202
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mProvider:Landroid/content/ContentProviderClient;
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mVolumeName:Ljava/lang/String;
            invokestatic android.provider.MediaStore$Audio$Genres.getContentUri:(Ljava/lang/String;)Landroid/net/Uri;
         2: .line 203
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
         3: .line 204
            ldc "_data=?"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* path */
            aastore
            aconst_null
            aconst_null
         4: .line 202
            invokevirtual android.content.ContentProviderClient.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            astore 2 /* c */
         5: .line 205
            aload 2 /* c */
            ifnull 10
            aload 2 /* c */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifeq 10
         6: .line 206
            aload 2 /* c */
            iconst_0
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 4
         7: .line 213
            aload 2 /* c */
            ifnull 9
         8: .line 214
            aload 2 /* c */
            invokeinterface android.database.Cursor.close:()V
         9: .line 206
      StackMap locals: android.mtp.MtpPropertyGroup java.lang.String android.database.Cursor top java.lang.String
      StackMap stack:
            aload 4
            areturn
        10: .line 213
      StackMap locals: android.mtp.MtpPropertyGroup java.lang.String android.database.Cursor
      StackMap stack:
            aload 2 /* c */
            ifnull 12
        11: .line 214
            aload 2 /* c */
            invokeinterface android.database.Cursor.close:()V
        12: .line 208
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        13: .line 210
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        14: .line 213
            aload 2 /* c */
            ifnull 16
        15: .line 214
            aload 2 /* c */
            invokeinterface android.database.Cursor.close:()V
        16: .line 211
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        17: .line 212
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        18: .line 213
            aload 2 /* c */
            ifnull 20
        19: .line 214
            aload 2 /* c */
            invokeinterface android.database.Cursor.close:()V
        20: .line 216
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 2 // android.database.Cursor c
        end local 1 // java.lang.String path
        end local 0 // android.mtp.MtpPropertyGroup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Landroid/mtp/MtpPropertyGroup;
            0   21     1  path  Ljava/lang/String;
            1   21     2     c  Landroid/database/Cursor;
      Exception table:
        from    to  target  type
           1     7      13  Class java.lang.Exception
           1     7      17  any
          13    14      17  any
    MethodParameters:
      Name  Flags
      path  

  public int getPropertyList(android.mtp.MtpStorageManager$MtpObject, android.mtp.MtpPropertyList);
    descriptor: (Landroid/mtp/MtpStorageManager$MtpObject;Landroid/mtp/MtpPropertyList;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=19, args_size=3
        start local 0 // android.mtp.MtpPropertyGroup this
        start local 1 // android.mtp.MtpStorageManager$MtpObject object
        start local 2 // android.mtp.MtpPropertyList list
         0: .line 225
            aconst_null
            astore 3 /* c */
        start local 3 // android.database.Cursor c
         1: .line 226
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
            istore 4 /* id */
        start local 4 // int id
         2: .line 227
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
         3: .line 228
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mProperties:[Landroid/mtp/MtpPropertyGroup$Property;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 83
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String top int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* property */
        start local 6 // android.mtp.MtpPropertyGroup$Property property
         5: .line 229
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.column:I
            iconst_m1
            if_icmpeq 15
            aload 3 /* c */
            ifnonnull 15
         6: .line 232
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mProvider:Landroid/content/ContentProviderClient;
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mUri:Landroid/net/Uri;
            aload 0 /* this */
            getfield android.mtp.MtpPropertyGroup.mColumns:[Ljava/lang/String;
         7: .line 233
            ldc "_data=?"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 5 /* path */
            aastore
            aconst_null
            aconst_null
         8: .line 232
            invokevirtual android.content.ContentProviderClient.query:(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
            astore 3 /* c */
         9: .line 234
            aload 3 /* c */
            ifnull 15
            aload 3 /* c */
            invokeinterface android.database.Cursor.moveToNext:()Z
            ifne 15
        10: .line 235
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
        11: .line 236
            aconst_null
            astore 3 /* c */
        12: .line 238
            goto 15
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack: android.os.RemoteException
        13: pop
        14: .line 239
            getstatic android.mtp.MtpPropertyGroup.TAG:Ljava/lang/String;
            ldc "Mediaprovider lookup failed"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 242
      StackMap locals:
      StackMap stack:
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            lookupswitch { // 21
                56321: 24
                56322: 26
                56323: 16
                56324: 28
                56327: 18
                56329: 20
                56331: 30
                56385: 36
                56388: 18
                56390: 54
                56398: 20
                56459: 47
                56460: 62
                56473: 41
                56474: 58
                56544: 18
                56978: 68
                56979: 66
                56980: 68
                56985: 66
                56986: 66
              default: 70
          }
        16: .line 245
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            lconst_0
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        17: .line 246
            goto 82
        18: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getName:()Ljava/lang/String;
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        19: .line 251
            goto 82
        20: .line 255
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
        21: .line 256
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getModifiedTime:()J
            invokevirtual android.mtp.MtpPropertyGroup.format_date_time:(J)Ljava/lang/String;
        22: .line 255
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        23: .line 257
            goto 82
        24: .line 259
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getStorageId:()I
            i2l
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        25: .line 260
            goto 82
        26: .line 262
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getFormat:()I
            i2l
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        27: .line 263
            goto 82
        28: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getSize:()J
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        29: .line 266
            goto 82
        30: .line 268
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
        31: .line 269
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.isRoot:()Z
            ifeq 32
            iconst_0
            goto 33
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack: android.mtp.MtpPropertyList int int int
        32: aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getParent:()Landroid/mtp/MtpStorageManager$MtpObject;
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getId:()I
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack: android.mtp.MtpPropertyList int int int int
        33: i2l
        34: .line 268
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        35: .line 270
            goto 82
        36: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            bipush 32
            ishl
            i2l
        37: .line 275
            aload 1 /* object */
            invokevirtual android.mtp.MtpStorageManager$MtpObject.getModifiedTime:()J
        38: .line 274
            ladd
            lstore 10 /* puid */
        start local 10 // long puid
        39: .line 276
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            lload 10 /* puid */
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        40: .line 277
            goto 82
        end local 10 // long puid
        41: .line 280
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* year */
        start local 12 // int year
        42: .line 281
            aload 3 /* c */
            ifnull 44
        43: .line 282
            aload 3 /* c */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.column:I
            invokeinterface android.database.Cursor.getInt:(I)I
            istore 12 /* year */
        44: .line 283
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[] top top int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 12 /* year */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "0101T000000"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* dateTime */
        start local 13 // java.lang.String dateTime
        45: .line 284
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 13 /* dateTime */
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        46: .line 285
            goto 82
        end local 13 // java.lang.String dateTime
        end local 12 // int year
        47: .line 287
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack:
            iconst_0
            istore 14 /* track */
        start local 14 // int track
        48: .line 288
            aload 3 /* c */
            ifnull 50
        49: .line 289
            aload 3 /* c */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.column:I
            invokeinterface android.database.Cursor.getInt:(I)I
            istore 14 /* track */
        50: .line 290
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[] top top top top int
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            iconst_4
        51: .line 291
            iload 14 /* track */
            sipush 1000
            irem
            i2l
        52: .line 290
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        53: .line 292
            goto 82
        end local 14 // int track
        54: .line 294
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
        55: .line 295
            aload 0 /* this */
            aload 5 /* path */
            ldc "artist"
            invokevirtual android.mtp.MtpPropertyGroup.queryAudio:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        56: .line 294
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        57: .line 296
            goto 82
        58: .line 298
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
        59: .line 299
            aload 0 /* this */
            aload 5 /* path */
            ldc "album"
            invokevirtual android.mtp.MtpPropertyGroup.queryAudio:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        60: .line 298
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        61: .line 300
            goto 82
        62: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* path */
            invokevirtual android.mtp.MtpPropertyGroup.queryGenre:(Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* genre */
        start local 15 // java.lang.String genre
        63: .line 303
            aload 15 /* genre */
            ifnull 82
        64: .line 304
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 15 /* genre */
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        65: .line 306
            goto 82
        end local 15 // java.lang.String genre
        66: .line 311
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            bipush 6
            lconst_0
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        67: .line 312
            goto 82
        68: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            iconst_4
            lconst_0
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        69: .line 317
            goto 82
        70: .line 319
      StackMap locals:
      StackMap stack:
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            lookupswitch { // 2
                    0: 71
                65535: 73
              default: 78
          }
        71: .line 321
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            lconst_0
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        72: .line 322
            goto 82
        73: .line 324
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 16 /* value */
        start local 16 // java.lang.String value
        74: .line 325
            aload 3 /* c */
            ifnull 76
        75: .line 326
            aload 3 /* c */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.column:I
            invokeinterface android.database.Cursor.getString:(I)Ljava/lang/String;
            astore 16 /* value */
        76: .line 327
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[] top top top top top top java.lang.String
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 16 /* value */
            invokevirtual android.mtp.MtpPropertyList.append:(IILjava/lang/String;)V
        77: .line 328
            goto 82
        end local 16 // java.lang.String value
        78: .line 330
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack:
            lconst_0
            lstore 17 /* longValue */
        start local 17 // long longValue
        79: .line 331
            aload 3 /* c */
            ifnull 81
        80: .line 332
            aload 3 /* c */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.column:I
            invokeinterface android.database.Cursor.getLong:(I)J
            lstore 17 /* longValue */
        81: .line 333
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String android.mtp.MtpPropertyGroup$Property int int android.mtp.MtpPropertyGroup$Property[] top top top top top top top long
      StackMap stack:
            aload 2 /* list */
            iload 4 /* id */
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.code:I
            aload 6 /* property */
            getfield android.mtp.MtpPropertyGroup$Property.type:I
            lload 17 /* longValue */
            invokevirtual android.mtp.MtpPropertyList.append:(IIIJ)V
        end local 17 // long longValue
        end local 6 // android.mtp.MtpPropertyGroup$Property property
        82: .line 228
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String top int int android.mtp.MtpPropertyGroup$Property[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        83: iload 7
            iload 8
            if_icmplt 4
        84: .line 337
            aload 3 /* c */
            ifnull 86
        85: .line 338
            aload 3 /* c */
            invokeinterface android.database.Cursor.close:()V
        86: .line 339
      StackMap locals: android.mtp.MtpPropertyGroup android.mtp.MtpStorageManager$MtpObject android.mtp.MtpPropertyList android.database.Cursor int java.lang.String
      StackMap stack:
            sipush 8193
            ireturn
        end local 5 // java.lang.String path
        end local 4 // int id
        end local 3 // android.database.Cursor c
        end local 2 // android.mtp.MtpPropertyList list
        end local 1 // android.mtp.MtpStorageManager$MtpObject object
        end local 0 // android.mtp.MtpPropertyGroup this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   87     0       this  Landroid/mtp/MtpPropertyGroup;
            0   87     1     object  Landroid/mtp/MtpStorageManager$MtpObject;
            0   87     2       list  Landroid/mtp/MtpPropertyList;
            1   87     3          c  Landroid/database/Cursor;
            2   87     4         id  I
            3   87     5       path  Ljava/lang/String;
            5   82     6   property  Landroid/mtp/MtpPropertyGroup$Property;
           39   41    10       puid  J
           42   47    12       year  I
           45   47    13   dateTime  Ljava/lang/String;
           48   54    14      track  I
           63   66    15      genre  Ljava/lang/String;
           74   78    16      value  Ljava/lang/String;
           79   82    17  longValue  J
      Exception table:
        from    to  target  type
           6    12      13  Class android.os.RemoteException
    MethodParameters:
        Name  Flags
      object  
      list    

  private native java.lang.String format_date_time(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
         Name  Flags
      seconds  
}
SourceFile: "MtpPropertyGroup.java"
NestMembers:
  android.mtp.MtpPropertyGroup$Property
InnerClasses:
  private Property = android.mtp.MtpPropertyGroup$Property of android.mtp.MtpPropertyGroup
  public MtpObject = android.mtp.MtpStorageManager$MtpObject of android.mtp.MtpStorageManager
  public final Audio = android.provider.MediaStore$Audio of android.provider.MediaStore
  public final Genres = android.provider.MediaStore$Audio$Genres of android.provider.MediaStore$Audio
  public final Media = android.provider.MediaStore$Audio$Media of android.provider.MediaStore$Audio
  public final Files = android.provider.MediaStore$Files of android.provider.MediaStore