public final class android.hardware.location.NanoAppBinary implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.hardware.location.NanoAppBinary
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: "NanoAppBinary"
private byte[] mNanoAppBinary;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int mHeaderVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mMagic;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long mNanoAppId;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int mNanoAppVersion;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mFlags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long mHwHubType;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private byte mTargetChreApiMajorVersion;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private byte mTargetChreApiMinorVersion;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private boolean mHasValidHeader;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int EXPECTED_HEADER_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int EXPECTED_MAGIC_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1330528590
private static final java.nio.ByteOrder HEADER_ORDER;
descriptor: Ljava/nio/ByteOrder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int HEADER_SIZE_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 40
private static final int NANOAPP_SIGNED_FLAG_BIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int NANOAPP_ENCRYPTED_FLAG_BIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final android.os.Parcelable$Creator<android.hardware.location.NanoAppBinary> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/hardware/location/NanoAppBinary;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
putstatic android.hardware.location.NanoAppBinary.HEADER_ORDER:Ljava/nio/ByteOrder;
1: new android.hardware.location.NanoAppBinary$1
dup
invokespecial android.hardware.location.NanoAppBinary$1.<init>:()V
2: putstatic android.hardware.location.NanoAppBinary.CREATOR:Landroid/os/Parcelable$Creator;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
2: aload 0
aload 1
putfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
3: aload 0
invokevirtual android.hardware.location.NanoAppBinary.parseBinaryHeader:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/hardware/location/NanoAppBinary;
0 5 1 appBinary [B
MethodParameters:
Name Flags
appBinary
private void parseBinaryHeader();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
getstatic android.hardware.location.NanoAppBinary.HEADER_ORDER:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 0
iconst_0
putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
2: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
3: aload 0
getfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
iconst_1
if_icmpeq 8
4: ldc "NanoAppBinary"
new java.lang.StringBuilder
dup
ldc "Unexpected header version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " while parsing header"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " (expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iconst_1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: return
8: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.hardware.location.NanoAppBinary.mMagic:I
9: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getLong:()J
putfield android.hardware.location.NanoAppBinary.mNanoAppId:J
10: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.hardware.location.NanoAppBinary.mNanoAppVersion:I
11: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.hardware.location.NanoAppBinary.mFlags:I
12: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getLong:()J
putfield android.hardware.location.NanoAppBinary.mHwHubType:J
13: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
putfield android.hardware.location.NanoAppBinary.mTargetChreApiMajorVersion:B
14: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
putfield android.hardware.location.NanoAppBinary.mTargetChreApiMinorVersion:B
15: goto 19
StackMap locals:
StackMap stack: java.nio.BufferUnderflowException
16: pop
17: ldc "NanoAppBinary"
ldc "Not enough contents in nanoapp header"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
18: return
19: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.NanoAppBinary.mMagic:I
ldc 1330528590
if_icmpeq 25
20: ldc "NanoAppBinary"
new java.lang.StringBuilder
dup
ldc "Unexpected magic value "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "0x%08X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield android.hardware.location.NanoAppBinary.mMagic:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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;
21: ldc "while parsing header (expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc "0x%08X"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc 1330528590
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
26: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Landroid/hardware/location/NanoAppBinary;
1 27 1 buf Ljava/nio/ByteBuffer;
Exception table:
from to target type
2 7 16 Class java.nio.BufferUnderflowException
8 15 16 Class java.nio.BufferUnderflowException
public byte[] getBinary();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public byte[] getBinaryNoHeader();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
arraylength
bipush 40
if_icmpge 4
1: new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "NanoAppBinary binary byte size ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is less than header size ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 40
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
bipush 40
aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
arraylength
invokestatic java.util.Arrays.copyOfRange:([BII)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/hardware/location/NanoAppBinary;
public boolean hasValidHeader();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public int getHeaderVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public long getNanoAppId();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppId:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public int getNanoAppVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppVersion:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public long getHwHubType();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mHwHubType:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public byte getTargetChreApiMajorVersion();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mTargetChreApiMajorVersion:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public byte getTargetChreApiMinorVersion();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mTargetChreApiMinorVersion:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public int getFlags();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mFlags:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/location/NanoAppBinary;
public boolean isSigned();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mFlags:I
iconst_1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/hardware/location/NanoAppBinary;
public boolean isEncrypted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.hardware.location.NanoAppBinary.mFlags:I
iconst_2
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/hardware/location/NanoAppBinary;
private void <init>(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
2: aload 1
invokevirtual android.os.Parcel.readInt:()I
istore 2
start local 2 3: aload 0
iload 2
newarray 8
putfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
4: aload 1
aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
invokevirtual android.os.Parcel.readByteArray:([B)V
5: aload 0
invokevirtual android.hardware.location.NanoAppBinary.parseBinaryHeader:()V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/hardware/location/NanoAppBinary;
0 7 1 in Landroid/os/Parcel;
3 7 2 binaryLength I
MethodParameters:
Name Flags
in
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/hardware/location/NanoAppBinary;
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.hardware.location.NanoAppBinary.mNanoAppBinary:[B
arraylength
invokevirtual android.os.Parcel.writeInt:(I)V
1: aload 1
aload 0
getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
invokevirtual android.os.Parcel.writeByteArray:([B)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/hardware/location/NanoAppBinary;
0 3 1 out Landroid/os/Parcel;
0 3 2 flags I
MethodParameters:
Name Flags
out
flags
}
SourceFile: "NanoAppBinary.java"
NestMembers:
android.hardware.location.NanoAppBinary$1
InnerClasses:
android.hardware.location.NanoAppBinary$1
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
RuntimeVisibleAnnotations:
android.annotation.SystemApi()