abstract class android.nfc.tech.BasicTagTechnology implements android.nfc.tech.TagTechnology
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: android.nfc.tech.BasicTagTechnology
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NFC"
final android.nfc.Tag mTag;
descriptor: Landroid/nfc/Tag;
flags: (0x0010) ACC_FINAL
boolean mIsConnected;
descriptor: Z
flags: (0x0000)
int mSelectedTechnology;
descriptor: I
flags: (0x0000)
void <init>(android.nfc.Tag, int);
descriptor: (Landroid/nfc/Tag;I)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
2: aload 0
iload 2
putfield android.nfc.tech.BasicTagTechnology.mSelectedTechnology:I
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/nfc/tech/BasicTagTechnology;
0 4 1 tag Landroid/nfc/Tag;
0 4 2 tech I
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
tag
tech
public android.nfc.Tag getTag();
descriptor: ()Landroid/nfc/Tag;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/nfc/tech/BasicTagTechnology;
void checkConnected();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getConnectedTechnology:()I
aload 0
getfield android.nfc.tech.BasicTagTechnology.mSelectedTechnology:I
if_icmpne 2
1: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getConnectedTechnology:()I
iconst_m1
if_icmpne 3
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Call connect() first!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/nfc/tech/BasicTagTechnology;
public boolean isConnected();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getServiceHandle:()I
invokeinterface android.nfc.INfcTag.isPresent:(I)Z
3: ireturn
4: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 5: ldc "NFC"
ldc "NFC service dead"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/nfc/tech/BasicTagTechnology;
5 7 1 e Landroid/os/RemoteException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
public void connect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getServiceHandle:()I
1: aload 0
getfield android.nfc.tech.BasicTagTechnology.mSelectedTechnology:I
2: invokeinterface android.nfc.INfcTag.connect:(II)I
istore 1
start local 1 3: iload 1
ifne 7
4: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mSelectedTechnology:I
invokevirtual android.nfc.Tag.setConnectedTechnology:(I)V
5: aload 0
iconst_1
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
6: goto 13
StackMap locals: int
StackMap stack:
7: iload 1
bipush -21
if_icmpne 9
8: new java.lang.UnsupportedOperationException
dup
ldc "Connecting to this technology is not supported by the NFC adapter."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
end local 1 10: StackMap locals: android.nfc.tech.BasicTagTechnology
StackMap stack: android.os.RemoteException
astore 1
start local 1 11: ldc "NFC"
ldc "NFC service dead"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
12: new java.io.IOException
dup
ldc "NFC service died"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/nfc/tech/BasicTagTechnology;
3 10 1 errorCode I
11 13 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 10 10 Class android.os.RemoteException
Exceptions:
throws java.io.IOException
public void reconnect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Technology not connected yet"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getServiceHandle:()I
invokeinterface android.nfc.INfcTag.reconnect:(I)I
istore 1
start local 1 3: iload 1
ifeq 12
4: aload 0
iconst_0
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
5: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.setTechnologyDisconnected:()V
6: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
end local 1 7: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 8: aload 0
iconst_0
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
9: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.setTechnologyDisconnected:()V
10: ldc "NFC"
ldc "NFC service dead"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
11: new java.io.IOException
dup
ldc "NFC service died"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/nfc/tech/BasicTagTechnology;
3 7 1 errorCode I
8 12 1 e Landroid/os/RemoteException;
Exception table:
from to target type
2 7 7 Class android.os.RemoteException
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
invokeinterface android.nfc.INfcTag.resetTimeouts:()V
1: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getServiceHandle:()I
invokeinterface android.nfc.INfcTag.reconnect:(I)I
pop
2: goto 11
StackMap locals:
StackMap stack: android.os.RemoteException
3: astore 1
start local 1 4: ldc "NFC"
ldc "NFC service dead"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 5: aload 0
iconst_0
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
6: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.setTechnologyDisconnected:()V
goto 13
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
iconst_0
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
9: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.setTechnologyDisconnected:()V
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.nfc.tech.BasicTagTechnology.mIsConnected:Z
12: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.setTechnologyDisconnected:()V
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/nfc/tech/BasicTagTechnology;
4 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 2 3 Class android.os.RemoteException
0 5 7 any
Exceptions:
throws java.io.IOException
int getMaxTransceiveLengthInternal();
descriptor: ()I
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mSelectedTechnology:I
invokeinterface android.nfc.INfcTag.getMaxTransceiveLength:(I)I
1: ireturn
2: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 3: ldc "NFC"
ldc "NFC service dead"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/nfc/tech/BasicTagTechnology;
3 5 1 e Landroid/os/RemoteException;
Exception table:
from to target type
0 1 2 Class android.os.RemoteException
byte[] transceive(byte[], boolean);
descriptor: ([BZ)[B
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.nfc.tech.BasicTagTechnology.checkConnected:()V
1: aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getTagService:()Landroid/nfc/INfcTag;
aload 0
getfield android.nfc.tech.BasicTagTechnology.mTag:Landroid/nfc/Tag;
invokevirtual android.nfc.Tag.getServiceHandle:()I
2: aload 1
iload 2
3: invokeinterface android.nfc.INfcTag.transceive:(I[BZ)Landroid/nfc/TransceiveResult;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: new java.io.IOException
dup
ldc "transceive failed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: android.nfc.TransceiveResult
StackMap stack:
aload 3
invokevirtual android.nfc.TransceiveResult.getResponseOrThrow:()[B
7: areturn
end local 3 8: StackMap locals: android.nfc.tech.BasicTagTechnology byte[] int
StackMap stack: android.os.RemoteException
astore 3
start local 3 9: ldc "NFC"
ldc "NFC service dead"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
10: new java.io.IOException
dup
ldc "NFC service died"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/nfc/tech/BasicTagTechnology;
0 11 1 data [B
0 11 2 raw Z
4 8 3 result Landroid/nfc/TransceiveResult;
9 11 3 e Landroid/os/RemoteException;
Exception table:
from to target type
1 7 8 Class android.os.RemoteException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
raw
}
SourceFile: "BasicTagTechnology.java"