public final class android.nfc.NdefRecord implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.nfc.NdefRecord
super_class: java.lang.Object
{
public static final short TNF_EMPTY;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final short TNF_WELL_KNOWN;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final short TNF_MIME_MEDIA;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final short TNF_ABSOLUTE_URI;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final short TNF_EXTERNAL_TYPE;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final short TNF_UNKNOWN;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final short TNF_UNCHANGED;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final short TNF_RESERVED;
descriptor: S
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final byte[] RTD_TEXT;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_URI;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_SMART_POSTER;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_ALTERNATIVE_CARRIER;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_HANDOVER_CARRIER;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_HANDOVER_REQUEST;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_HANDOVER_SELECT;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final byte[] RTD_ANDROID_APP;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final byte FLAG_MB;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -128
private static final byte FLAG_ME;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final byte FLAG_CF;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final byte FLAG_SR;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final byte FLAG_IL;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final java.lang.String[] URI_PREFIX_MAP;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_PAYLOAD_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10485760
private static final byte[] EMPTY_BYTE_ARRAY;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final short mTnf;
descriptor: S
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] mType;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] mId;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] mPayload;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final android.os.Parcelable$Creator<android.nfc.NdefRecord> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/nfc/NdefRecord;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
newarray 8
dup
iconst_0
bipush 84
bastore
putstatic android.nfc.NdefRecord.RTD_TEXT:[B
1: iconst_1
newarray 8
dup
iconst_0
bipush 85
bastore
putstatic android.nfc.NdefRecord.RTD_URI:[B
2: iconst_2
newarray 8
dup
iconst_0
bipush 83
bastore
dup
iconst_1
bipush 112
bastore
putstatic android.nfc.NdefRecord.RTD_SMART_POSTER:[B
3: iconst_2
newarray 8
dup
iconst_0
bipush 97
bastore
dup
iconst_1
bipush 99
bastore
putstatic android.nfc.NdefRecord.RTD_ALTERNATIVE_CARRIER:[B
4: iconst_2
newarray 8
dup
iconst_0
bipush 72
bastore
dup
iconst_1
bipush 99
bastore
putstatic android.nfc.NdefRecord.RTD_HANDOVER_CARRIER:[B
5: iconst_2
newarray 8
dup
iconst_0
bipush 72
bastore
dup
iconst_1
bipush 114
bastore
putstatic android.nfc.NdefRecord.RTD_HANDOVER_REQUEST:[B
6: iconst_2
newarray 8
dup
iconst_0
bipush 72
bastore
dup
iconst_1
bipush 115
bastore
putstatic android.nfc.NdefRecord.RTD_HANDOVER_SELECT:[B
7: ldc "android.com:pkg"
invokevirtual java.lang.String.getBytes:()[B
putstatic android.nfc.NdefRecord.RTD_ANDROID_APP:[B
8: bipush 36
anewarray java.lang.String
dup
iconst_0
9: ldc ""
aastore
dup
iconst_1
10: ldc "http://www."
aastore
dup
iconst_2
11: ldc "https://www."
aastore
dup
iconst_3
12: ldc "http://"
aastore
dup
iconst_4
13: ldc "https://"
aastore
dup
iconst_5
14: ldc "tel:"
aastore
dup
bipush 6
15: ldc "mailto:"
aastore
dup
bipush 7
16: ldc "ftp://anonymous:anonymous@"
aastore
dup
bipush 8
17: ldc "ftp://ftp."
aastore
dup
bipush 9
18: ldc "ftps://"
aastore
dup
bipush 10
19: ldc "sftp://"
aastore
dup
bipush 11
20: ldc "smb://"
aastore
dup
bipush 12
21: ldc "nfs://"
aastore
dup
bipush 13
22: ldc "ftp://"
aastore
dup
bipush 14
23: ldc "dav://"
aastore
dup
bipush 15
24: ldc "news:"
aastore
dup
bipush 16
25: ldc "telnet://"
aastore
dup
bipush 17
26: ldc "imap:"
aastore
dup
bipush 18
27: ldc "rtsp://"
aastore
dup
bipush 19
28: ldc "urn:"
aastore
dup
bipush 20
29: ldc "pop:"
aastore
dup
bipush 21
30: ldc "sip:"
aastore
dup
bipush 22
31: ldc "sips:"
aastore
dup
bipush 23
32: ldc "tftp:"
aastore
dup
bipush 24
33: ldc "btspp://"
aastore
dup
bipush 25
34: ldc "btl2cap://"
aastore
dup
bipush 26
35: ldc "btgoep://"
aastore
dup
bipush 27
36: ldc "tcpobex://"
aastore
dup
bipush 28
37: ldc "irdaobex://"
aastore
dup
bipush 29
38: ldc "file://"
aastore
dup
bipush 30
39: ldc "urn:epc:id:"
aastore
dup
bipush 31
40: ldc "urn:epc:tag:"
aastore
dup
bipush 32
41: ldc "urn:epc:pat:"
aastore
dup
bipush 33
42: ldc "urn:epc:raw:"
aastore
dup
bipush 34
43: ldc "urn:epc:"
aastore
dup
bipush 35
44: ldc "urn:nfc:"
aastore
45: putstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
46: iconst_0
newarray 8
putstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
47: new android.nfc.NdefRecord$1
dup
invokespecial android.nfc.NdefRecord$1.<init>:()V
48: putstatic android.nfc.NdefRecord.CREATOR:Landroid/os/Parcelable$Creator;
49: return
LocalVariableTable:
Start End Slot Name Signature
public static android.nfc.NdefRecord createApplicationRecord(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 1
new java.lang.NullPointerException
dup
ldc "packageName is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
ifne 2
new java.lang.IllegalArgumentException
dup
ldc "packageName is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new android.nfc.NdefRecord
dup
iconst_4
getstatic android.nfc.NdefRecord.RTD_ANDROID_APP:[B
aconst_null
3: aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
4: invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 packageName Ljava/lang/String;
MethodParameters:
Name Flags
packageName
public static android.nfc.NdefRecord createUri(android.net.Uri);
descriptor: (Landroid/net/Uri;)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 1
new java.lang.NullPointerException
dup
ldc "uri is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.net.Uri.normalizeScheme:()Landroid/net/Uri;
astore 0
2: aload 0
invokevirtual android.net.Uri.toString:()Ljava/lang/String;
astore 1
start local 1 3: aload 1
invokevirtual java.lang.String.length:()I
ifne 4
new java.lang.IllegalArgumentException
dup
ldc "uri is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 2
start local 2 5: iconst_1
istore 3
start local 3 6: goto 12
7: StackMap locals: int int
StackMap stack:
aload 1
getstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
iload 3
aaload
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
8: iload 3
i2b
istore 2
9: aload 1
getstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
iload 3
aaload
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
10: goto 13
11: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
getstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
arraylength
if_icmplt 7
end local 3 13: StackMap locals:
StackMap stack:
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 3
start local 3 14: aload 3
arraylength
iconst_1
iadd
newarray 8
astore 4
start local 4 15: aload 4
iconst_0
iload 2
bastore
16: aload 3
iconst_0
aload 4
iconst_1
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: new android.nfc.NdefRecord
dup
iconst_1
getstatic android.nfc.NdefRecord.RTD_URI:[B
aconst_null
aload 4
invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 uri Landroid/net/Uri;
3 18 1 uriString Ljava/lang/String;
5 18 2 prefix B
6 13 3 i I
14 18 3 uriBytes [B
15 18 4 recordBytes [B
MethodParameters:
Name Flags
uri
public static android.nfc.NdefRecord createUri(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
invokestatic android.nfc.NdefRecord.createUri:(Landroid/net/Uri;)Landroid/nfc/NdefRecord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 uriString Ljava/lang/String;
MethodParameters:
Name Flags
uriString
public static android.nfc.NdefRecord createMime(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
new java.lang.NullPointerException
dup
ldc "mimeType is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic android.content.Intent.normalizeMimeType:(Ljava/lang/String;)Ljava/lang/String;
astore 0
2: aload 0
invokevirtual java.lang.String.length:()I
ifne 3
new java.lang.IllegalArgumentException
dup
ldc "mimeType is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 4: iload 2
ifne 5
new java.lang.IllegalArgumentException
dup
ldc "mimeType must have major type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
iload 2
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 7
6: new java.lang.IllegalArgumentException
dup
ldc "mimeType must have minor type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 3
start local 3 8: new android.nfc.NdefRecord
dup
iconst_2
aload 3
aconst_null
aload 1
invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mimeType Ljava/lang/String;
0 9 1 mimeData [B
4 9 2 slashIndex I
8 9 3 typeBytes [B
MethodParameters:
Name Flags
mimeType
mimeData
public static android.nfc.NdefRecord createExternal(java.lang.String, java.lang.String, byte[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[B)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 1
new java.lang.NullPointerException
dup
ldc "domain is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
new java.lang.NullPointerException
dup
ldc "type is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 0
3: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 1
4: aload 0
invokevirtual java.lang.String.length:()I
ifne 5
new java.lang.IllegalArgumentException
dup
ldc "domain is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifne 6
new java.lang.IllegalArgumentException
dup
ldc "type is empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 3
start local 3 7: aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 4
start local 4 8: aload 3
arraylength
iconst_1
iadd
aload 4
arraylength
iadd
newarray 8
astore 5
start local 5 9: aload 3
iconst_0
aload 5
iconst_0
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 5
aload 3
arraylength
bipush 58
bastore
11: aload 4
iconst_0
aload 5
aload 3
arraylength
iconst_1
iadd
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: new android.nfc.NdefRecord
dup
iconst_4
aload 5
aconst_null
aload 2
invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 domain Ljava/lang/String;
0 13 1 type Ljava/lang/String;
0 13 2 data [B
7 13 3 byteDomain [B
8 13 4 byteType [B
9 13 5 b [B
MethodParameters:
Name Flags
domain
type
data
public static android.nfc.NdefRecord createTextRecord(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/nfc/NdefRecord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
new java.lang.NullPointerException
dup
ldc "text is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
ifnull 6
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 6
4: aload 0
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 3
5: goto 9
6: StackMap locals: byte[] byte[]
StackMap stack:
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
7: getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
8: astore 3
9: StackMap locals:
StackMap stack:
aload 3
arraylength
bipush 64
if_icmplt 11
10: new java.lang.IllegalArgumentException
dup
ldc "language code is too long, must be <64 bytes."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
iconst_1
aload 3
arraylength
iadd
aload 2
arraylength
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 4
start local 4 12: aload 3
arraylength
sipush 255
iand
i2b
istore 5
start local 5 13: aload 4
iload 5
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
14: aload 4
aload 3
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
15: aload 4
aload 2
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
16: new android.nfc.NdefRecord
dup
iconst_1
getstatic android.nfc.NdefRecord.RTD_TEXT:[B
aconst_null
aload 4
invokevirtual java.nio.ByteBuffer.array:()[B
invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 languageCode Ljava/lang/String;
0 17 1 text Ljava/lang/String;
2 17 2 textBytes [B
3 17 3 languageCodeBytes [B
12 17 4 buffer Ljava/nio/ByteBuffer;
13 17 5 status B
MethodParameters:
Name Flags
languageCode
text
public void <init>(short, byte[], byte[], byte[]);
descriptor: (S[B[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 2
getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
astore 2
2: StackMap locals: android.nfc.NdefRecord int byte[] byte[] byte[]
StackMap stack:
aload 3
ifnonnull 3
getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
astore 3
3: StackMap locals:
StackMap stack:
aload 4
ifnonnull 4
getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
astore 4
4: StackMap locals:
StackMap stack:
iload 1
aload 2
aload 3
aload 4
invokestatic android.nfc.NdefRecord.validateTnf:(S[B[B[B)Ljava/lang/String;
astore 5
start local 5 5: aload 5
ifnull 7
6: new java.lang.IllegalArgumentException
dup
aload 5
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 0
iload 1
putfield android.nfc.NdefRecord.mTnf:S
8: aload 0
aload 2
putfield android.nfc.NdefRecord.mType:[B
9: aload 0
aload 3
putfield android.nfc.NdefRecord.mId:[B
10: aload 0
aload 4
putfield android.nfc.NdefRecord.mPayload:[B
11: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/nfc/NdefRecord;
0 12 1 tnf S
0 12 2 type [B
0 12 3 id [B
0 12 4 payload [B
5 12 5 message Ljava/lang/String;
MethodParameters:
Name Flags
tnf
type
id
payload
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
start local 2 2: aload 2
iconst_1
invokestatic android.nfc.NdefRecord.parse:(Ljava/nio/ByteBuffer;Z)[Landroid/nfc/NdefRecord;
astore 3
start local 3 3: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 5
4: new android.nfc.FormatException
dup
ldc "data too long"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: android.nfc.NdefRecord byte[] java.nio.ByteBuffer android.nfc.NdefRecord[]
StackMap stack:
aload 0
aload 3
iconst_0
aaload
getfield android.nfc.NdefRecord.mTnf:S
putfield android.nfc.NdefRecord.mTnf:S
6: aload 0
aload 3
iconst_0
aaload
getfield android.nfc.NdefRecord.mType:[B
putfield android.nfc.NdefRecord.mType:[B
7: aload 0
aload 3
iconst_0
aaload
getfield android.nfc.NdefRecord.mId:[B
putfield android.nfc.NdefRecord.mId:[B
8: aload 0
aload 3
iconst_0
aaload
getfield android.nfc.NdefRecord.mPayload:[B
putfield android.nfc.NdefRecord.mPayload:[B
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/nfc/NdefRecord;
0 10 1 data [B
2 10 2 buffer Ljava/nio/ByteBuffer;
3 10 3 rs [Landroid/nfc/NdefRecord;
Exceptions:
throws android.nfc.FormatException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
data
public short getTnf();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mTnf:S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
public byte[] getType();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mType:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
public byte[] getId();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mId:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
public byte[] getPayload();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.nfc.NdefRecord.getByteLength:()I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 0
aload 1
iconst_1
iconst_1
invokevirtual android.nfc.NdefRecord.writeToByteBuffer:(Ljava/nio/ByteBuffer;ZZ)V
2: aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/nfc/NdefRecord;
1 3 1 buffer Ljava/nio/ByteBuffer;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public java.lang.String toMimeType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mTnf:S
tableswitch { // 1 - 2
1: 1
2: 3
default: 5
}
1: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic android.nfc.NdefRecord.RTD_TEXT:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 5
2: ldc "text/plain"
areturn
3: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
astore 1
start local 1 4: aload 1
invokestatic android.content.Intent.normalizeMimeType:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/nfc/NdefRecord;
4 5 1 mimeType Ljava/lang/String;
public android.net.Uri toUri();
descriptor: ()Landroid/net/Uri;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual android.nfc.NdefRecord.toUri:(Z)Landroid/net/Uri;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
private android.net.Uri toUri(boolean);
descriptor: (Z)Landroid/net/Uri;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield android.nfc.NdefRecord.mTnf:S
tableswitch { // 1 - 4
1: 1
2: 24
3: 19
4: 21
default: 24
}
1: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic android.nfc.NdefRecord.RTD_SMART_POSTER:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 14
iload 1
ifne 14
2: new android.nfc.NdefMessage
dup
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokespecial android.nfc.NdefMessage.<init>:([B)V
astore 2
start local 2 3: aload 2
invokevirtual android.nfc.NdefMessage.getRecords:()[Landroid/nfc/NdefRecord;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: android.nfc.NdefRecord int android.nfc.NdefMessage top int int android.nfc.NdefRecord[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
iconst_1
invokevirtual android.nfc.NdefRecord.toUri:(Z)Landroid/net/Uri;
astore 7
start local 7 6: aload 7
ifnull 9
7: aload 7
8: areturn
end local 7 end local 3 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 4
end local 2 11: goto 24
StackMap locals: android.nfc.NdefRecord int
StackMap stack: android.nfc.FormatException
12: pop
13: goto 24
StackMap locals:
StackMap stack:
14: aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic android.nfc.NdefRecord.RTD_URI:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 24
15: aload 0
invokevirtual android.nfc.NdefRecord.parseWktUri:()Landroid/net/Uri;
astore 2
start local 2 16: aload 2
ifnull 17
aload 2
invokevirtual android.net.Uri.normalizeScheme:()Landroid/net/Uri;
goto 18
StackMap locals: android.net.Uri
StackMap stack:
17: aconst_null
StackMap locals:
StackMap stack: android.net.Uri
18: areturn
end local 2 19: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
astore 2
start local 2 20: aload 2
invokevirtual android.net.Uri.normalizeScheme:()Landroid/net/Uri;
areturn
end local 2 21: StackMap locals:
StackMap stack:
iload 1
ifeq 23
22: goto 24
23: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "vnd.android.nfc://ext/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield android.nfc.NdefRecord.mType:[B
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
areturn
24: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Landroid/nfc/NdefRecord;
0 25 1 inSmartPoster Z
3 11 2 nestedMessage Landroid/nfc/NdefMessage;
5 9 3 nestedRecord Landroid/nfc/NdefRecord;
6 9 7 uri Landroid/net/Uri;
16 19 2 wktUri Landroid/net/Uri;
20 21 2 uri Landroid/net/Uri;
Exception table:
from to target type
2 8 12 Class android.nfc.FormatException
9 11 12 Class android.nfc.FormatException
MethodParameters:
Name Flags
inSmartPoster
private android.net.Uri parseWktUri();
descriptor: ()Landroid/net/Uri;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
iconst_2
if_icmpge 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
iconst_0
baload
iconst_m1
iand
istore 1
start local 1 3: iload 1
iflt 4
iload 1
getstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
arraylength
if_icmplt 5
4: StackMap locals: int
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
getstatic android.nfc.NdefRecord.URI_PREFIX_MAP:[Ljava/lang/String;
iload 1
aaload
astore 2
start local 2 6: new java.lang.String
dup
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
iconst_1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
invokestatic java.util.Arrays.copyOfRange:([BII)[B
7: getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
8: invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
astore 3
start local 3 9: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.net.Uri.parse:(Ljava/lang/String;)Landroid/net/Uri;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/nfc/NdefRecord;
3 10 1 prefixIndex I
6 10 2 prefix Ljava/lang/String;
9 10 3 suffix Ljava/lang/String;
static android.nfc.NdefRecord[] parse(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)[Landroid/nfc/NdefRecord;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=23, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_m1
istore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 94
9: StackMap locals: java.nio.ByteBuffer int java.util.List byte[] byte[] byte[] java.util.ArrayList int int int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 10
start local 10 10: iload 10
bipush -128
iand
ifeq 11
iconst_1
goto 12
StackMap locals: int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 11
start local 11 13: iload 10
bipush 64
iand
ifeq 14
iconst_1
goto 15
StackMap locals: int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 9
16: iload 10
bipush 32
iand
ifeq 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 12
start local 12 19: iload 10
bipush 16
iand
ifeq 20
iconst_1
goto 21
StackMap locals: int
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 13
start local 13 22: iload 10
bipush 8
iand
ifeq 23
iconst_1
goto 24
StackMap locals: int
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 14
start local 14 25: iload 10
bipush 7
iand
i2s
istore 15
start local 15 26: iload 11
ifne 28
aload 2
invokeinterface java.util.List.size:()I
ifne 28
iload 7
ifne 28
iload 1
ifne 28
27: new android.nfc.FormatException
dup
ldc "expected MB flag"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: int int
StackMap stack:
iload 11
ifeq 31
aload 2
invokeinterface java.util.List.size:()I
ifne 29
iload 7
ifeq 31
StackMap locals:
StackMap stack:
29: iload 1
ifne 31
30: new android.nfc.FormatException
dup
ldc "unexpected MB flag"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
iload 7
ifeq 33
iload 14
ifeq 33
32: new android.nfc.FormatException
dup
ldc "unexpected IL flag in non-leading chunk"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
iload 12
ifeq 35
iload 9
ifeq 35
34: new android.nfc.FormatException
dup
ldc "unexpected ME flag in non-trailing chunk"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
iload 7
ifeq 37
iload 15
bipush 6
if_icmpeq 37
36: new android.nfc.FormatException
dup
ldc "expected TNF_UNCHANGED in non-leading chunk"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
iload 7
ifne 39
iload 15
bipush 6
if_icmpne 39
38: new android.nfc.FormatException
dup
ldc "unexpected TNF_UNCHANGED in first chunk or unchunked record"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 16
start local 16 40: iload 13
ifeq 41
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
i2l
goto 42
StackMap locals: int
StackMap stack:
41: aload 0
invokevirtual java.nio.ByteBuffer.getInt:()I
i2l
ldc 4294967295
land
StackMap locals:
StackMap stack: long
42: lstore 17
start local 17 43: iload 14
ifeq 44
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
goto 45
StackMap locals: long
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: istore 19
start local 19 46: iload 7
ifeq 48
iload 16
ifeq 48
47: new android.nfc.FormatException
dup
ldc "expected zero-length type in non-leading chunk"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals: int
StackMap stack:
iload 7
ifne 57
49: iload 16
ifle 50
iload 16
newarray 8
goto 51
StackMap locals:
StackMap stack:
50: getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
StackMap locals:
StackMap stack: byte[]
51: astore 3
52: iload 19
ifle 53
iload 19
newarray 8
goto 54
StackMap locals:
StackMap stack:
53: getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
StackMap locals:
StackMap stack: byte[]
54: astore 4
55: aload 0
aload 3
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
56: aload 0
aload 4
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
57: StackMap locals:
StackMap stack:
lload 17
invokestatic android.nfc.NdefRecord.ensureSanePayloadSize:(J)V
58: lload 17
lconst_0
lcmp
ifle 59
lload 17
l2i
newarray 8
goto 60
StackMap locals:
StackMap stack:
59: getstatic android.nfc.NdefRecord.EMPTY_BYTE_ARRAY:[B
StackMap locals:
StackMap stack: byte[]
60: astore 5
61: aload 0
aload 5
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
62: iload 12
ifeq 67
iload 7
ifne 67
63: iload 16
ifne 65
iload 15
iconst_5
if_icmpeq 65
64: new android.nfc.FormatException
dup
ldc "expected non-zero type length in first chunk"
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
65: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.ArrayList.clear:()V
66: iload 15
istore 8
67: StackMap locals:
StackMap stack:
iload 12
ifne 68
iload 7
ifeq 69
68: StackMap locals:
StackMap stack:
aload 6
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
69: StackMap locals:
StackMap stack:
iload 12
ifne 84
iload 7
ifeq 84
70: lconst_0
lstore 17
71: aload 6
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 21
goto 74
StackMap locals: java.nio.ByteBuffer int java.util.List byte[] byte[] byte[] java.util.ArrayList int int int int int int int int int int long int top java.util.Iterator
StackMap stack:
72: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 20
start local 20 73: lload 17
aload 20
arraylength
i2l
ladd
lstore 17
end local 20 74: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
75: lload 17
invokestatic android.nfc.NdefRecord.ensureSanePayloadSize:(J)V
76: lload 17
l2i
newarray 8
astore 5
77: iconst_0
istore 20
start local 20 78: aload 6
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 22
goto 82
StackMap locals: java.nio.ByteBuffer int java.util.List byte[] byte[] byte[] java.util.ArrayList int int int int int int int int int int long int int top java.util.Iterator
StackMap stack:
79: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast byte[]
astore 21
start local 21 80: aload 21
iconst_0
aload 5
iload 20
aload 21
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
81: iload 20
aload 21
arraylength
iadd
istore 20
end local 21 82: StackMap locals:
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 79
83: iload 8
istore 15
end local 20 84: StackMap locals: java.nio.ByteBuffer int java.util.List byte[] byte[] byte[] java.util.ArrayList int int int int int int int int int int long int
StackMap stack:
iload 12
ifeq 87
85: iconst_1
istore 7
86: goto 94
87: StackMap locals:
StackMap stack:
iconst_0
istore 7
88: iload 15
aload 3
aload 4
aload 5
invokestatic android.nfc.NdefRecord.validateTnf:(S[B[B[B)Ljava/lang/String;
astore 20
start local 20 89: aload 20
ifnull 91
90: new android.nfc.FormatException
dup
aload 20
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
91: StackMap locals: java.lang.String
StackMap stack:
aload 2
new android.nfc.NdefRecord
dup
iload 15
aload 3
aload 4
aload 5
invokespecial android.nfc.NdefRecord.<init>:(S[B[B[B)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
92: iload 1
ifeq 94
93: goto 98
end local 20 end local 19 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 94: StackMap locals: java.nio.ByteBuffer int java.util.List byte[] byte[] byte[] java.util.ArrayList int int int
StackMap stack:
iload 9
ifeq 9
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 95: goto 98
StackMap locals: java.nio.ByteBuffer int java.util.List
StackMap stack: java.nio.BufferUnderflowException
96: astore 3
start local 3 97: new android.nfc.FormatException
dup
ldc "expected more data"
aload 3
invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 98: StackMap locals:
StackMap stack:
aload 2
aload 2
invokeinterface java.util.List.size:()I
anewarray android.nfc.NdefRecord
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.nfc.NdefRecord[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 99 0 buffer Ljava/nio/ByteBuffer;
0 99 1 ignoreMbMe Z
1 99 2 records Ljava/util/List<Landroid/nfc/NdefRecord;>;
2 95 3 type [B
3 95 4 id [B
4 95 5 payload [B
5 95 6 chunks Ljava/util/ArrayList<[B>;
6 95 7 inChunk Z
7 95 8 chunkTnf S
8 95 9 me Z
10 94 10 flag B
13 94 11 mb Z
19 94 12 cf Z
22 94 13 sr Z
25 94 14 il Z
26 94 15 tnf S
40 94 16 typeLength I
43 94 17 payloadLength J
46 94 19 idLength I
73 74 20 p [B
78 84 20 i I
80 82 21 p [B
89 94 20 error Ljava/lang/String;
97 98 3 e Ljava/nio/BufferUnderflowException;
Exception table:
from to target type
1 95 96 Class java.nio.BufferUnderflowException
Exceptions:
throws android.nfc.FormatException
MethodParameters:
Name Flags
buffer
ignoreMbMe
private static void ensureSanePayloadSize(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: lload 0
ldc 10485760
lcmp
ifle 4
1: new android.nfc.FormatException
dup
2: new java.lang.StringBuilder
dup
ldc "payload above max limit: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " > "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc 10485760
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial android.nfc.FormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 size J
Exceptions:
throws android.nfc.FormatException
MethodParameters:
Name Flags
size
static java.lang.String validateTnf(short, byte[], byte[], byte[]);
descriptor: (S[B[B[B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
tableswitch { // 0 - 7
0: 1
1: 4
2: 4
3: 4
4: 4
5: 5
6: 8
7: 5
default: 9
}
1: StackMap locals:
StackMap stack:
aload 1
arraylength
ifne 2
aload 2
arraylength
ifne 2
aload 3
arraylength
ifeq 3
2: StackMap locals:
StackMap stack:
ldc "unexpected data in TNF_EMPTY record"
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
arraylength
ifeq 7
6: ldc "unexpected type field in TNF_UNKNOWN or TNF_RESERVEd record"
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
ldc "unexpected TNF_UNCHANGED in first chunk or logical record"
areturn
9: StackMap locals:
StackMap stack:
ldc "unexpected tnf value: 0x%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 0
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 tnf S
0 10 1 type [B
0 10 2 id [B
0 10 3 payload [B
MethodParameters:
Name Flags
tnf
type
id
payload
void writeToByteBuffer(java.nio.ByteBuffer, boolean, boolean);
descriptor: (Ljava/nio/ByteBuffer;ZZ)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
sipush 256
if_icmpge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 0
getfield android.nfc.NdefRecord.mTnf:S
ifne 4
iconst_1
goto 6
StackMap locals: int
StackMap stack:
4: aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
ifle 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: iload 2
ifeq 8
bipush -128
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: iload 3
ifeq 10
bipush 64
goto 11
StackMap locals:
StackMap stack: int
10: iconst_0
StackMap locals: android.nfc.NdefRecord java.nio.ByteBuffer int int int int
StackMap stack: int int
11: ior
12: iload 4
ifeq 13
bipush 16
goto 14
StackMap locals:
StackMap stack: int
13: iconst_0
14: StackMap locals: android.nfc.NdefRecord java.nio.ByteBuffer int int int int
StackMap stack: int int
ior
15: iload 5
ifeq 16
bipush 8
goto 17
StackMap locals:
StackMap stack: int
16: iconst_0
17: StackMap locals: android.nfc.NdefRecord java.nio.ByteBuffer int int int int
StackMap stack: int int
ior
18: aload 0
getfield android.nfc.NdefRecord.mTnf:S
19: ior
i2b
istore 6
start local 6 20: aload 1
iload 6
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
21: aload 1
aload 0
getfield android.nfc.NdefRecord.mType:[B
arraylength
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
22: iload 4
ifeq 25
23: aload 1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
24: goto 26
25: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
26: StackMap locals:
StackMap stack:
iload 5
ifeq 28
27: aload 1
aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
28: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield android.nfc.NdefRecord.mType:[B
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
29: aload 1
aload 0
getfield android.nfc.NdefRecord.mId:[B
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
30: aload 1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
pop
31: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/nfc/NdefRecord;
0 32 1 buffer Ljava/nio/ByteBuffer;
0 32 2 mb Z
0 32 3 me Z
3 32 4 sr Z
7 32 5 il Z
20 32 6 flags B
MethodParameters:
Name Flags
buffer
mb
me
int getByteLength();
descriptor: ()I
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_3
aload 0
getfield android.nfc.NdefRecord.mType:[B
arraylength
iadd
aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
iadd
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
iadd
istore 1
start local 1 1: aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
sipush 256
if_icmpge 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
getfield android.nfc.NdefRecord.mTnf:S
ifne 5
iconst_1
goto 7
StackMap locals: int
StackMap stack:
5: aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
ifle 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 3
start local 3 8: iload 2
ifne 9
iinc 1 3
9: StackMap locals: int
StackMap stack:
iload 3
ifeq 10
iinc 1 1
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/nfc/NdefRecord;
1 11 1 length I
4 11 2 sr Z
8 11 3 il Z
public int describeContents();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/NdefRecord;
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.nfc.NdefRecord.mTnf:S
invokevirtual android.os.Parcel.writeInt:(I)V
1: aload 1
aload 0
getfield android.nfc.NdefRecord.mType:[B
arraylength
invokevirtual android.os.Parcel.writeInt:(I)V
2: aload 1
aload 0
getfield android.nfc.NdefRecord.mType:[B
invokevirtual android.os.Parcel.writeByteArray:([B)V
3: aload 1
aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
invokevirtual android.os.Parcel.writeInt:(I)V
4: aload 1
aload 0
getfield android.nfc.NdefRecord.mId:[B
invokevirtual android.os.Parcel.writeByteArray:([B)V
5: aload 1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
invokevirtual android.os.Parcel.writeInt:(I)V
6: aload 1
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokevirtual android.os.Parcel.writeByteArray:([B)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/nfc/NdefRecord;
0 8 1 dest Landroid/os/Parcel;
0 8 2 flags I
MethodParameters:
Name Flags
dest
flags
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
getfield android.nfc.NdefRecord.mId:[B
invokestatic java.util.Arrays.hashCode:([B)I
iadd
istore 1
2: bipush 31
iload 1
imul
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokestatic java.util.Arrays.hashCode:([B)I
iadd
istore 1
3: bipush 31
iload 1
imul
aload 0
getfield android.nfc.NdefRecord.mTnf:S
iadd
istore 1
4: bipush 31
iload 1
imul
aload 0
getfield android.nfc.NdefRecord.mType:[B
invokestatic java.util.Arrays.hashCode:([B)I
iadd
istore 1
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/nfc/NdefRecord;
1 6 1 result I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 3
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast android.nfc.NdefRecord
astore 2
start local 2 4: aload 0
getfield android.nfc.NdefRecord.mId:[B
aload 2
getfield android.nfc.NdefRecord.mId:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 5
iconst_0
ireturn
5: StackMap locals: android.nfc.NdefRecord
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
aload 2
getfield android.nfc.NdefRecord.mPayload:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 6
iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mTnf:S
aload 2
getfield android.nfc.NdefRecord.mTnf:S
if_icmpeq 7
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mType:[B
aload 2
getfield android.nfc.NdefRecord.mType:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/nfc/NdefRecord;
0 8 1 obj Ljava/lang/Object;
4 8 2 other Landroid/nfc/NdefRecord;
MethodParameters:
Name Flags
obj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "NdefRecord tnf=%X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield android.nfc.NdefRecord.mTnf:S
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield android.nfc.NdefRecord.mType:[B
arraylength
ifle 2
aload 1
ldc " type="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.nfc.NdefRecord.mType:[B
invokestatic android.nfc.NdefRecord.bytesToString:([B)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
2: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mId:[B
arraylength
ifle 3
aload 1
ldc " id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.nfc.NdefRecord.mId:[B
invokestatic android.nfc.NdefRecord.bytesToString:([B)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
arraylength
ifle 4
aload 1
ldc " payload="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.nfc.NdefRecord.mPayload:[B
invokestatic android.nfc.NdefRecord.bytesToString:([B)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/nfc/NdefRecord;
1 5 1 b Ljava/lang/StringBuilder;
private static java.lang.StringBuilder bytesToString(byte[]);
descriptor: ([B)Ljava/lang/StringBuilder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
2: aload 5
iload 3
baload
istore 2
start local 2 3: aload 1
ldc "%02X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bs [B
1 7 1 s Ljava/lang/StringBuilder;
3 4 2 b B
MethodParameters:
Name Flags
bs
}
SourceFile: "NdefRecord.java"
NestMembers:
android.nfc.NdefRecord$1
InnerClasses:
android.nfc.NdefRecord$1
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable