public class android.media.Metadata
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.Metadata
  super_class: java.lang.Object
{
  public static final int ANY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static final java.util.Set<java.lang.Integer> MATCH_NONE;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Integer;>;

  public static final java.util.Set<java.lang.Integer> MATCH_ALL;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Integer;>;

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

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

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

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

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

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

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

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

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "media.Metadata"

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

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

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

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

  private android.os.Parcel mParcel;
    descriptor: Landroid/os/Parcel;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap<java.lang.Integer, java.lang.Integer> mKeyToPosMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 208
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
            putstatic android.media.Metadata.MATCH_NONE:Ljava/util/Set;
         1: .line 212
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            putstatic android.media.Metadata.MATCH_ALL:Ljava/util/Set;
         2: .line 251
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.media.Metadata this
         0: .line 267
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 261
            aload 0 /* this */
         2: .line 262
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
         3: .line 267
            return
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/Metadata;

  private boolean scanAllRecords(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // android.media.Metadata this
        start local 1 // android.os.Parcel parcel
        start local 2 // int bytesLeft
         0: .line 294
            iconst_0
            istore 3 /* recCount */
        start local 3 // int recCount
         1: .line 295
            iconst_0
            istore 4 /* error */
        start local 4 // boolean error
         2: .line 297
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         3: .line 298
            goto 32
         4: .line 299
      StackMap locals: int int
      StackMap stack:
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataPosition:()I
            istore 5 /* start */
        start local 5 // int start
         5: .line 301
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.readInt:()I
            istore 6 /* size */
        start local 6 // int size
         6: .line 303
            iload 6 /* size */
            bipush 12
            if_icmpgt 10
         7: .line 304
            ldc "media.Metadata"
            ldc "Record is too short"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         8: .line 305
            iconst_1
            istore 4 /* error */
         9: .line 306
            goto 33
        10: .line 310
      StackMap locals: int int
      StackMap stack:
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.readInt:()I
            istore 7 /* metadataId */
        start local 7 // int metadataId
        11: .line 311
            aload 0 /* this */
            iload 7 /* metadataId */
            invokevirtual android.media.Metadata.checkMetadataId:(I)Z
            ifne 14
        12: .line 312
            iconst_1
            istore 4 /* error */
        13: .line 313
            goto 33
        14: .line 319
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            iload 7 /* metadataId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 320
            ldc "media.Metadata"
            ldc "Duplicate metadata ID found"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        16: .line 321
            iconst_1
            istore 4 /* error */
        17: .line 322
            goto 33
        18: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            iload 7 /* metadataId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataPosition:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 328
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.readInt:()I
            istore 8 /* metadataType */
        start local 8 // int metadataType
        20: .line 329
            iload 8 /* metadataType */
            ifle 21
            iload 8 /* metadataType */
            bipush 7
            if_icmple 24
        21: .line 330
      StackMap locals: int
      StackMap stack:
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Invalid metadata type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* metadataType */
            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
        22: .line 331
            iconst_1
            istore 4 /* error */
        23: .line 332
            goto 33
        24: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* parcel */
            iload 5 /* start */
            iload 6 /* size */
            invokestatic android.util.MathUtils.addOrThrow:(II)I
            invokevirtual android.os.Parcel.setDataPosition:(I)V
        25: .line 338
            goto 30
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        26: astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        27: .line 339
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Invalid size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()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
        28: .line 340
            iconst_1
            istore 4 /* error */
        29: .line 341
            goto 33
        end local 9 // java.lang.IllegalArgumentException e
        30: .line 344
      StackMap locals:
      StackMap stack:
            iload 2 /* bytesLeft */
            iload 6 /* size */
            isub
            istore 2 /* bytesLeft */
        31: .line 345
            iinc 3 /* recCount */ 1
        end local 8 // int metadataType
        end local 7 // int metadataId
        end local 6 // int size
        end local 5 // int start
        32: .line 298
      StackMap locals: android.media.Metadata android.os.Parcel int int int
      StackMap stack:
            iload 2 /* bytesLeft */
            bipush 12
            if_icmpgt 4
        33: .line 348
      StackMap locals:
      StackMap stack:
            iload 2 /* bytesLeft */
            ifne 34
            iload 4 /* error */
            ifeq 37
        34: .line 349
      StackMap locals:
      StackMap stack:
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Ran out of data or error on record "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* recCount */
            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
        35: .line 350
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        36: .line 351
            iconst_0
            ireturn
        37: .line 353
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // boolean error
        end local 3 // int recCount
        end local 2 // int bytesLeft
        end local 1 // android.os.Parcel parcel
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   38     0          this  Landroid/media/Metadata;
            0   38     1        parcel  Landroid/os/Parcel;
            0   38     2     bytesLeft  I
            1   38     3      recCount  I
            2   38     4         error  Z
            5   32     5         start  I
            6   32     6          size  I
           11   32     7    metadataId  I
           20   32     8  metadataType  I
           27   30     9             e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          24    25      26  Class java.lang.IllegalArgumentException
    MethodParameters:
           Name  Flags
      parcel     
      bytesLeft  

  public boolean parse(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // android.os.Parcel parcel
         0: .line 386
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataAvail:()I
            bipush 8
            if_icmpge 3
         1: .line 387
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Not enough data "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataAvail:()I
            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
         2: .line 388
            iconst_0
            ireturn
         3: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataPosition:()I
            istore 2 /* pin */
        start local 2 // int pin
         4: .line 392
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.readInt:()I
            istore 3 /* size */
        start local 3 // int size
         5: .line 395
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataAvail:()I
            iconst_4
            iadd
            iload 3 /* size */
            if_icmplt 6
            iload 3 /* size */
            bipush 8
            if_icmpge 9
         6: .line 396
      StackMap locals: int int
      StackMap stack:
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Bad size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " avail "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.dataAvail:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* pin */
            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
         7: .line 397
            aload 1 /* parcel */
            iload 2 /* pin */
            invokevirtual android.os.Parcel.setDataPosition:(I)V
         8: .line 398
            iconst_0
            ireturn
         9: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* parcel */
            invokevirtual android.os.Parcel.readInt:()I
            istore 4 /* kShouldBeMetaMarker */
        start local 4 // int kShouldBeMetaMarker
        10: .line 403
            iload 4 /* kShouldBeMetaMarker */
            ldc 1296389185
            if_icmpeq 14
        11: .line 404
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Marker missing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* kShouldBeMetaMarker */
            invokestatic java.lang.Integer.toHexString:(I)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
        12: .line 405
            aload 1 /* parcel */
            iload 2 /* pin */
            invokevirtual android.os.Parcel.setDataPosition:(I)V
        13: .line 406
            iconst_0
            ireturn
        14: .line 410
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parcel */
            iload 3 /* size */
            bipush 8
            isub
            invokevirtual android.media.Metadata.scanAllRecords:(Landroid/os/Parcel;I)Z
            ifne 17
        15: .line 411
            aload 1 /* parcel */
            iload 2 /* pin */
            invokevirtual android.os.Parcel.setDataPosition:(I)V
        16: .line 412
            iconst_0
            ireturn
        17: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parcel */
            putfield android.media.Metadata.mParcel:Landroid/os/Parcel;
        18: .line 415
            iconst_1
            ireturn
        end local 4 // int kShouldBeMetaMarker
        end local 3 // int size
        end local 2 // int pin
        end local 1 // android.os.Parcel parcel
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Landroid/media/Metadata;
            0   19     1               parcel  Landroid/os/Parcel;
            4   19     2                  pin  I
            5   19     3                 size  I
           10   19     4  kShouldBeMetaMarker  I
    MethodParameters:
        Name  Flags
      parcel  

  public java.util.Set<java.lang.Integer> keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.Metadata this
         0: .line 422
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            areturn
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/Metadata;
    Signature: ()Ljava/util/Set<Ljava/lang/Integer;>;

  public boolean has(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int metadataId
         0: .line 429
            aload 0 /* this */
            iload 1 /* metadataId */
            invokevirtual android.media.Metadata.checkMetadataId:(I)Z
            ifne 2
         1: .line 430
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* metadataId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap:Ljava/util/HashMap;
            iload 1 /* metadataId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // int metadataId
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Landroid/media/Metadata;
            0    3     1  metadataId  I
    MethodParameters:
            Name  Flags
      metadataId  final

  public java.lang.String getString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 443
            aload 0 /* this */
            iload 1 /* key */
            iconst_1
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 444
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            areturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Metadata;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public int getInt(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 451
            aload 0 /* this */
            iload 1 /* key */
            iconst_2
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 452
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readInt:()I
            ireturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Metadata;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean getBoolean(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 459
            aload 0 /* this */
            iload 1 /* key */
            iconst_3
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 460
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readInt:()I
            iconst_1
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/Metadata;
            0    3     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public long getLong(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 467
            aload 0 /* this */
            iload 1 /* key */
            iconst_4
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 470
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readLong:()J
            lreturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Metadata;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public double getDouble(int);
    descriptor: (I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 477
            aload 0 /* this */
            iload 1 /* key */
            iconst_5
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 478
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readDouble:()D
            dreturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Metadata;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public byte[] getByteArray(int);
    descriptor: (I)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 485
            aload 0 /* this */
            iload 1 /* key */
            bipush 7
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 486
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.createByteArray:()[B
            areturn
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Metadata;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public java.util.Date getDate(int);
    descriptor: (I)Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int key
         0: .line 493
            aload 0 /* this */
            iload 1 /* key */
            bipush 6
            invokevirtual android.media.Metadata.checkType:(II)V
         1: .line 494
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readLong:()J
            lstore 2 /* timeSinceEpoch */
        start local 2 // long timeSinceEpoch
         2: .line 495
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
            astore 4 /* timeZone */
        start local 4 // java.lang.String timeZone
         3: .line 497
            aload 4 /* timeZone */
            invokevirtual java.lang.String.length:()I
            ifne 5
         4: .line 498
            new java.util.Date
            dup
            lload 2 /* timeSinceEpoch */
            invokespecial java.util.Date.<init>:(J)V
            areturn
         5: .line 500
      StackMap locals: long java.lang.String
      StackMap stack:
            aload 4 /* timeZone */
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            astore 5 /* tz */
        start local 5 // java.util.TimeZone tz
         6: .line 501
            aload 5 /* tz */
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
            astore 6 /* cal */
        start local 6 // java.util.Calendar cal
         7: .line 503
            aload 6 /* cal */
            lload 2 /* timeSinceEpoch */
            invokevirtual java.util.Calendar.setTimeInMillis:(J)V
         8: .line 504
            aload 6 /* cal */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 6 // java.util.Calendar cal
        end local 5 // java.util.TimeZone tz
        end local 4 // java.lang.String timeZone
        end local 2 // long timeSinceEpoch
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Landroid/media/Metadata;
            0    9     1             key  I
            2    9     2  timeSinceEpoch  J
            3    9     4        timeZone  Ljava/lang/String;
            6    9     5              tz  Ljava/util/TimeZone;
            7    9     6             cal  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      key   final

  public static int lastSytemId();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 513
            bipush 31
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int firstCustomId();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 519
            sipush 8192
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int lastType();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 525
            bipush 7
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private boolean checkMetadataId(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.Metadata this
        start local 1 // int val
         0: .line 533
            iload 1 /* val */
            ifle 1
            bipush 31
            iload 1 /* val */
            if_icmpge 3
            iload 1 /* val */
            sipush 8192
            if_icmpge 3
         1: .line 534
      StackMap locals:
      StackMap stack:
            ldc "media.Metadata"
            new java.lang.StringBuilder
            dup
            ldc "Invalid metadata ID "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* val */
            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
         2: .line 535
            iconst_0
            ireturn
         3: .line 537
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int val
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/Metadata;
            0    4     1   val  I
    MethodParameters:
      Name  Flags
      val   final

  private void checkType(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // android.media.Metadata this
        start local 1 // int key
        start local 2 // int expectedType
         0: .line 544
            aload 0 /* this */
            getfield android.media.Metadata.mKeyToPosMap: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 java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 546
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            iload 3 /* pos */
            invokevirtual android.os.Parcel.setDataPosition:(I)V
         2: .line 548
            aload 0 /* this */
            getfield android.media.Metadata.mParcel:Landroid/os/Parcel;
            invokevirtual android.os.Parcel.readInt:()I
            istore 4 /* type */
        start local 4 // int type
         3: .line 549
            iload 4 /* type */
            iload 2 /* expectedType */
            if_icmpeq 5
         4: .line 550
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Wrong type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* expectedType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 552
      StackMap locals: int int
      StackMap stack:
            return
        end local 4 // int type
        end local 3 // int pos
        end local 2 // int expectedType
        end local 1 // int key
        end local 0 // android.media.Metadata this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/media/Metadata;
            0    6     1           key  I
            0    6     2  expectedType  I
            1    6     3           pos  I
            3    6     4          type  I
    MethodParameters:
              Name  Flags
      key           final
      expectedType  final
}
SourceFile: "Metadata.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()