public final class android.nfc.Tag implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.nfc.Tag
  super_class: java.lang.Object
{
  final byte[] mId;
    descriptor: [B
    flags: (0x0010) ACC_FINAL

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

  final java.lang.String[] mTechStringList;
    descriptor: [Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final android.os.Bundle[] mTechExtras;
    descriptor: [Landroid/os/Bundle;
    flags: (0x0010) ACC_FINAL

  final int mServiceHandle;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final android.nfc.INfcTag mTagService;
    descriptor: Landroid/nfc/INfcTag;
    flags: (0x0010) ACC_FINAL

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

  public static final android.os.Parcelable$Creator<android.nfc.Tag> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/nfc/Tag;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 421
            new android.nfc.Tag$1
            dup
            invokespecial android.nfc.Tag$1.<init>:()V
         1: .line 420
            putstatic android.nfc.Tag.CREATOR:Landroid/os/Parcelable$Creator;
         2: .line 447
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(byte[], int[], android.os.Bundle[], int, android.nfc.INfcTag);
    descriptor: ([B[I[Landroid/os/Bundle;ILandroid/nfc/INfcTag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // android.nfc.Tag this
        start local 1 // byte[] id
        start local 2 // int[] techList
        start local 3 // android.os.Bundle[] techListExtras
        start local 4 // int serviceHandle
        start local 5 // android.nfc.INfcTag tagService
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            aload 2 /* techList */
            ifnonnull 3
         2: .line 129
            new java.lang.IllegalArgumentException
            dup
            ldc "rawTargets cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 131
      StackMap locals: android.nfc.Tag byte[] int[] android.os.Bundle[] int android.nfc.INfcTag
      StackMap stack:
            aload 0 /* this */
            aload 1 /* id */
            putfield android.nfc.Tag.mId:[B
         4: .line 132
            aload 0 /* this */
            aload 2 /* techList */
            aload 2 /* techList */
            arraylength
            invokestatic java.util.Arrays.copyOf:([II)[I
            putfield android.nfc.Tag.mTechList:[I
         5: .line 133
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* techList */
            invokevirtual android.nfc.Tag.generateTechStringList:([I)[Ljava/lang/String;
            putfield android.nfc.Tag.mTechStringList:[Ljava/lang/String;
         6: .line 135
            aload 0 /* this */
            aload 3 /* techListExtras */
            aload 2 /* techList */
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast android.os.Bundle[]
            putfield android.nfc.Tag.mTechExtras:[Landroid/os/Bundle;
         7: .line 136
            aload 0 /* this */
            iload 4 /* serviceHandle */
            putfield android.nfc.Tag.mServiceHandle:I
         8: .line 137
            aload 0 /* this */
            aload 5 /* tagService */
            putfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
         9: .line 139
            aload 0 /* this */
            iconst_m1
            putfield android.nfc.Tag.mConnectedTechnology:I
        10: .line 140
            return
        end local 5 // android.nfc.INfcTag tagService
        end local 4 // int serviceHandle
        end local 3 // android.os.Bundle[] techListExtras
        end local 2 // int[] techList
        end local 1 // byte[] id
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Landroid/nfc/Tag;
            0   11     1              id  [B
            0   11     2        techList  [I
            0   11     3  techListExtras  [Landroid/os/Bundle;
            0   11     4   serviceHandle  I
            0   11     5      tagService  Landroid/nfc/INfcTag;
    MethodParameters:
                Name  Flags
      id              
      techList        
      techListExtras  
      serviceHandle   
      tagService      

  public static android.nfc.Tag createMockTag(byte[], int[], android.os.Bundle[]);
    descriptor: ([B[I[Landroid/os/Bundle;)Landroid/nfc/Tag;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // byte[] id
        start local 1 // int[] techList
        start local 2 // android.os.Bundle[] techListExtras
         0: .line 154
            new android.nfc.Tag
            dup
            aload 0 /* id */
            aload 1 /* techList */
            aload 2 /* techListExtras */
            iconst_0
            aconst_null
            invokespecial android.nfc.Tag.<init>:([B[I[Landroid/os/Bundle;ILandroid/nfc/INfcTag;)V
            areturn
        end local 2 // android.os.Bundle[] techListExtras
        end local 1 // int[] techList
        end local 0 // byte[] id
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0              id  [B
            0    1     1        techList  [I
            0    1     2  techListExtras  [Landroid/os/Bundle;
    MethodParameters:
                Name  Flags
      id              
      techList        
      techListExtras  

  private java.lang.String[] generateTechStringList(int[]);
    descriptor: ([I)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // android.nfc.Tag this
        start local 1 // int[] techList
         0: .line 158
            aload 1 /* techList */
            arraylength
            istore 2 /* size */
        start local 2 // int size
         1: .line 159
            iload 2 /* size */
            anewarray java.lang.String
            astore 3 /* strings */
        start local 3 // java.lang.String[] strings
         2: .line 160
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 27
         4: .line 161
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 1 /* techList */
            iload 4 /* i */
            iaload
            tableswitch { // 1 - 10
                    1: 15
                    2: 17
                    3: 5
                    4: 19
                    5: 21
                    6: 11
                    7: 13
                    8: 7
                    9: 9
                   10: 23
              default: 25
          }
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/IsoDep;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         6: .line 164
            goto 26
         7: .line 166
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/MifareClassic;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         8: .line 167
            goto 26
         9: .line 169
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/MifareUltralight;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        10: .line 170
            goto 26
        11: .line 172
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/Ndef;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        12: .line 173
            goto 26
        13: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NdefFormatable;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        14: .line 176
            goto 26
        15: .line 178
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NfcA;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        16: .line 179
            goto 26
        17: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NfcB;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        18: .line 182
            goto 26
        19: .line 184
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NfcF;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        20: .line 185
            goto 26
        21: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NfcV;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        22: .line 188
            goto 26
        23: .line 190
      StackMap locals:
      StackMap stack:
            aload 3 /* strings */
            iload 4 /* i */
            ldc Landroid/nfc/tech/NfcBarcode;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        24: .line 191
            goto 26
        25: .line 193
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown tech type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* techList */
            iload 4 /* i */
            iaload
            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
        26: .line 160
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 4 // int i
        28: .line 196
            aload 3 /* strings */
            areturn
        end local 3 // java.lang.String[] strings
        end local 2 // int size
        end local 1 // int[] techList
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Landroid/nfc/Tag;
            0   29     1  techList  [I
            1   29     2      size  I
            2   29     3   strings  [Ljava/lang/String;
            3   28     4         i  I
    MethodParameters:
          Name  Flags
      techList  

  static int[] getTechCodesFromStrings(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String[] techStringList
         0: .line 200
            aload 0 /* techStringList */
            ifnonnull 2
         1: .line 201
            new java.lang.IllegalArgumentException
            dup
            ldc "List cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* techStringList */
            arraylength
            newarray 10
            astore 1 /* techIntList */
        start local 1 // int[] techIntList
         3: .line 204
            invokestatic android.nfc.Tag.getTechStringToCodeMap:()Ljava/util/HashMap;
            astore 2 /* stringToCodeMap */
        start local 2 // java.util.HashMap stringToCodeMap
         4: .line 205
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 206
      StackMap locals: int[] java.util.HashMap int
      StackMap stack:
            aload 2 /* stringToCodeMap */
            aload 0 /* techStringList */
            iload 3 /* i */
            aaload
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* code */
        start local 4 // java.lang.Integer code
         7: .line 208
            aload 4 /* code */
            ifnonnull 9
         8: .line 209
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown tech type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* techStringList */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 212
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* techIntList */
            iload 3 /* i */
            aload 4 /* code */
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        end local 4 // java.lang.Integer code
        10: .line 205
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* techStringList */
            arraylength
            if_icmplt 6
        end local 3 // int i
        12: .line 214
            aload 1 /* techIntList */
            areturn
        end local 2 // java.util.HashMap stringToCodeMap
        end local 1 // int[] techIntList
        end local 0 // java.lang.String[] techStringList
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0   techStringList  [Ljava/lang/String;
            3   13     1      techIntList  [I
            4   13     2  stringToCodeMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
            5   12     3                i  I
            7   10     4             code  Ljava/lang/Integer;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                Name  Flags
      techStringList  

  private static java.util.HashMap<java.lang.String, java.lang.Integer> getTechStringToCodeMap();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 218
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* techStringToCodeMap */
        start local 0 // java.util.HashMap techStringToCodeMap
         1: .line 220
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/IsoDep;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 221
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/MifareClassic;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 222
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/MifareUltralight;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 9
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 223
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/Ndef;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 6
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 224
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NdefFormatable;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 225
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NfcA;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 226
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NfcB;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 227
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NfcF;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 228
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NfcV;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 229
            aload 0 /* techStringToCodeMap */
            ldc Landroid/nfc/tech/NfcBarcode;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 231
            aload 0 /* techStringToCodeMap */
            areturn
        end local 0 // java.util.HashMap techStringToCodeMap
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            1   12     0  techStringToCodeMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
    Signature: ()Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;

  public int getServiceHandle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 239
            aload 0 /* this */
            getfield android.nfc.Tag.mServiceHandle:I
            ireturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public int[] getTechCodeList();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 247
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            areturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public byte[] getId();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 263
            aload 0 /* this */
            getfield android.nfc.Tag.mId:[B
            areturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public java.lang.String[] getTechList();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 283
            aload 0 /* this */
            getfield android.nfc.Tag.mTechStringList:[Ljava/lang/String;
            areturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public android.nfc.Tag rediscover();
    descriptor: ()Landroid/nfc/Tag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 313
            aload 0 /* this */
            invokevirtual android.nfc.Tag.getConnectedTechnology:()I
            iconst_m1
            if_icmpeq 2
         1: .line 314
            new java.lang.IllegalStateException
            dup
            ldc "Close connection to the technology first!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
            ifnonnull 4
         3: .line 318
            new java.io.IOException
            dup
            ldc "Mock tags don't support this operation."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
            aload 0 /* this */
            invokevirtual android.nfc.Tag.getServiceHandle:()I
            invokeinterface android.nfc.INfcTag.rediscover:(I)Landroid/nfc/Tag;
            astore 1 /* newTag */
        start local 1 // android.nfc.Tag newTag
         5: .line 322
            aload 1 /* newTag */
            ifnull 8
         6: .line 323
            aload 1 /* newTag */
         7: areturn
         8: .line 325
      StackMap locals: android.nfc.Tag
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Failed to rediscover tag"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // android.nfc.Tag newTag
         9: .line 327
      StackMap locals: android.nfc.Tag
      StackMap stack: android.os.RemoteException
            pop
        10: .line 328
            new java.io.IOException
            dup
            ldc "NFC service dead"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/nfc/Tag;
            5    9     1  newTag  Landroid/nfc/Tag;
      Exception table:
        from    to  target  type
           4     7       9  Class android.os.RemoteException
           8     9       9  Class android.os.RemoteException
    Exceptions:
      throws java.io.IOException

  public boolean hasTech(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.nfc.Tag this
        start local 1 // int techType
         0: .line 335
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: android.nfc.Tag int top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* tech */
        start local 2 // int tech
         2: .line 336
            iload 2 /* tech */
            iload 1 /* techType */
            if_icmpne 3
            iconst_1
            ireturn
        end local 2 // int tech
         3: .line 335
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 338
            iconst_0
            ireturn
        end local 1 // int techType
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/nfc/Tag;
            0    6     1  techType  I
            2    3     2      tech  I
    MethodParameters:
          Name  Flags
      techType  

  public android.os.Bundle getTechExtras(int);
    descriptor: (I)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.nfc.Tag this
        start local 1 // int tech
         0: .line 343
            iconst_m1
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 344
            iconst_0
            istore 3 /* idx */
        start local 3 // int idx
         2: goto 7
         3: .line 345
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            iload 3 /* idx */
            iaload
            iload 1 /* tech */
            if_icmpne 6
         4: .line 346
            iload 3 /* idx */
            istore 2 /* pos */
         5: .line 347
            goto 8
         6: .line 344
      StackMap locals:
      StackMap stack:
            iinc 3 /* idx */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* idx */
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            arraylength
            if_icmplt 3
        end local 3 // int idx
         8: .line 350
      StackMap locals:
      StackMap stack:
            iload 2 /* pos */
            ifge 10
         9: .line 351
            aconst_null
            areturn
        10: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.nfc.Tag.mTechExtras:[Landroid/os/Bundle;
            iload 2 /* pos */
            aaload
            areturn
        end local 2 // int pos
        end local 1 // int tech
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/nfc/Tag;
            0   11     1  tech  I
            1   11     2   pos  I
            2    8     3   idx  I
    MethodParameters:
      Name  Flags
      tech  

  public android.nfc.INfcTag getTagService();
    descriptor: ()Landroid/nfc/INfcTag;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 359
            aload 0 /* this */
            getfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
            areturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 367
            new java.lang.StringBuilder
            dup
            ldc "TAG: Tech ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 368
            aload 0 /* this */
            invokevirtual android.nfc.Tag.getTechList:()[Ljava/lang/String;
            astore 2 /* techList */
        start local 2 // java.lang.String[] techList
         2: .line 369
            aload 2 /* techList */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 370
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 371
      StackMap locals: android.nfc.Tag java.lang.StringBuilder java.lang.String[] int int
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* techList */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 372
            iload 4 /* i */
            iload 3 /* length */
            iconst_1
            isub
            if_icmpge 8
         7: .line 373
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 370
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 4 // int i
        10: .line 376
            aload 1 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 377
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int length
        end local 2 // java.lang.String[] techList
        end local 1 // java.lang.StringBuilder sb
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/nfc/Tag;
            1   12     1        sb  Ljava/lang/StringBuilder;
            2   12     2  techList  [Ljava/lang/String;
            3   12     3    length  I
            4   10     4         i  I

  static byte[] readBytesWithNull(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.os.Parcel in
         0: .line 381
            aload 0 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 382
            aconst_null
            astore 2 /* result */
        start local 2 // byte[] result
         2: .line 383
            iload 1 /* len */
            iflt 5
         3: .line 384
            iload 1 /* len */
            newarray 8
            astore 2 /* result */
         4: .line 385
            aload 0 /* in */
            aload 2 /* result */
            invokevirtual android.os.Parcel.readByteArray:([B)V
         5: .line 387
      StackMap locals: int byte[]
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // int len
        end local 0 // android.os.Parcel in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      in  Landroid/os/Parcel;
            1    6     1     len  I
            2    6     2  result  [B
    MethodParameters:
      Name  Flags
      in    

  static void writeBytesWithNull(android.os.Parcel, byte[]);
    descriptor: (Landroid/os/Parcel;[B)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Parcel out
        start local 1 // byte[] b
         0: .line 391
            aload 1 /* b */
            ifnonnull 3
         1: .line 392
            aload 0 /* out */
            iconst_m1
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 393
            return
         3: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* out */
            aload 1 /* b */
            arraylength
            invokevirtual android.os.Parcel.writeInt:(I)V
         4: .line 396
            aload 0 /* out */
            aload 1 /* b */
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         5: .line 397
            return
        end local 1 // byte[] b
        end local 0 // android.os.Parcel out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   out  Landroid/os/Parcel;
            0    6     1     b  [B
    MethodParameters:
      Name  Flags
      out   
      b     

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 401
            iconst_0
            ireturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.nfc.Tag this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 407
            aload 0 /* this */
            getfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* isMock */
        start local 3 // int isMock
         3: .line 409
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mId:[B
            invokestatic android.nfc.Tag.writeBytesWithNull:(Landroid/os/Parcel;[B)V
         4: .line 410
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            arraylength
            invokevirtual android.os.Parcel.writeInt:(I)V
         5: .line 411
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mTechList:[I
            invokevirtual android.os.Parcel.writeIntArray:([I)V
         6: .line 412
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mTechExtras:[Landroid/os/Bundle;
            iconst_0
            invokevirtual android.os.Parcel.writeTypedArray:([Landroid/os/Parcelable;I)V
         7: .line 413
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mServiceHandle:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         8: .line 414
            aload 1 /* dest */
            iload 3 /* isMock */
            invokevirtual android.os.Parcel.writeInt:(I)V
         9: .line 415
            iload 3 /* isMock */
            ifne 11
        10: .line 416
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.nfc.Tag.mTagService:Landroid/nfc/INfcTag;
            invokeinterface android.nfc.INfcTag.asBinder:()Landroid/os/IBinder;
            invokevirtual android.os.Parcel.writeStrongBinder:(Landroid/os/IBinder;)V
        11: .line 418
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int isMock
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/nfc/Tag;
            0   12     1    dest  Landroid/os/Parcel;
            0   12     2   flags  I
            3   12     3  isMock  I
    MethodParameters:
       Name  Flags
      dest   
      flags  

  public synchronized void setConnectedTechnology(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.nfc.Tag this
        start local 1 // int technology
         0: .line 455
            aload 0 /* this */
            getfield android.nfc.Tag.mConnectedTechnology:I
            iconst_m1
            if_icmpne 3
         1: .line 456
            aload 0 /* this */
            iload 1 /* technology */
            putfield android.nfc.Tag.mConnectedTechnology:I
         2: .line 457
            goto 4
         3: .line 458
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Close other technology first!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 460
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int technology
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Landroid/nfc/Tag;
            0    5     1  technology  I
    MethodParameters:
            Name  Flags
      technology  

  public int getConnectedTechnology();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 468
            aload 0 /* this */
            getfield android.nfc.Tag.mConnectedTechnology:I
            ireturn
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/nfc/Tag;

  public void setTechnologyDisconnected();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.nfc.Tag this
         0: .line 477
            aload 0 /* this */
            iconst_m1
            putfield android.nfc.Tag.mConnectedTechnology:I
         1: .line 478
            return
        end local 0 // android.nfc.Tag this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/nfc/Tag;
}
SourceFile: "Tag.java"
NestMembers:
  android.nfc.Tag$1
InnerClasses:
  android.nfc.Tag$1
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable