public class android.content.pm.MacAuthenticatedInputStream extends java.io.FilterInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.content.pm.MacAuthenticatedInputStream
super_class: java.io.FilterInputStream
{
private final javax.crypto.Mac mMac;
descriptor: Ljavax/crypto/Mac;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.io.InputStream, javax.crypto.Mac);
descriptor: (Ljava/io/InputStream;Ljavax/crypto/Mac;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
aload 2
putfield android.content.pm.MacAuthenticatedInputStream.mMac:Ljavax/crypto/Mac;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/content/pm/MacAuthenticatedInputStream;
0 3 1 in Ljava/io/InputStream;
0 3 2 mac Ljavax/crypto/Mac;
MethodParameters:
Name Flags
in
mac
public boolean isTagEqual(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield android.content.pm.MacAuthenticatedInputStream.mMac:Ljavax/crypto/Mac;
invokevirtual javax.crypto.Mac.doFinal:()[B
astore 2
start local 2 1: aload 1
ifnull 2
aload 2
ifnull 2
aload 1
arraylength
aload 2
arraylength
if_icmpeq 3
2: StackMap locals: byte[]
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 8
6: StackMap locals: int int
StackMap stack:
iload 3
aload 1
iload 4
baload
aload 2
iload 4
baload
ixor
ior
istore 3
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
arraylength
if_icmplt 6
end local 4 9: iload 3
ifne 10
iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/content/pm/MacAuthenticatedInputStream;
0 11 1 tag [B
1 11 2 actualTag [B
4 11 3 value I
5 9 4 i I
MethodParameters:
Name Flags
tag
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.io.FilterInputStream.read:()I
istore 1
start local 1 1: iload 1
iflt 3
2: aload 0
getfield android.content.pm.MacAuthenticatedInputStream.mMac:Ljavax/crypto/Mac;
iload 1
i2b
invokevirtual javax.crypto.Mac.update:(B)V
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/content/pm/MacAuthenticatedInputStream;
1 4 1 b I
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokespecial java.io.FilterInputStream.read:([BII)I
istore 4
start local 4 1: iload 4
ifle 3
2: aload 0
getfield android.content.pm.MacAuthenticatedInputStream.mMac:Ljavax/crypto/Mac;
aload 1
iload 2
iload 4
invokevirtual javax.crypto.Mac.update:([BII)V
3: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/content/pm/MacAuthenticatedInputStream;
0 4 1 buffer [B
0 4 2 offset I
0 4 3 count I
1 4 4 numRead I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
offset
count
}
SourceFile: "MacAuthenticatedInputStream.java"