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: .line 71
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            putstatic android.hardware.location.NanoAppBinary.HEADER_ORDER:Ljava/nio/ByteOrder;
         1: .line 241
            new android.hardware.location.NanoAppBinary$1
            dup
            invokespecial android.hardware.location.NanoAppBinary$1.<init>:()V
         2: .line 240
            putstatic android.hardware.location.NanoAppBinary.CREATOR:Landroid/os/Parcelable$Creator;
         3: .line 251
            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 // android.hardware.location.NanoAppBinary this
        start local 1 // byte[] appBinary
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            iconst_0
            putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
         2: .line 85
            aload 0 /* this */
            aload 1 /* appBinary */
            putfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
         3: .line 86
            aload 0 /* this */
            invokevirtual android.hardware.location.NanoAppBinary.parseBinaryHeader:()V
         4: .line 87
            return
        end local 1 // byte[] appBinary
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 93
            aload 0 /* this */
            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 /* buf */
        start local 1 // java.nio.ByteBuffer buf
         1: .line 95
            aload 0 /* this */
            iconst_0
            putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
         2: .line 97
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
         3: .line 98
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
            iconst_1
            if_icmpeq 8
         4: .line 99
            ldc "NanoAppBinary"
            new java.lang.StringBuilder
            dup
            ldc "Unexpected header version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            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: .line 100
            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: .line 99
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 101
            return
         8: .line 104
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield android.hardware.location.NanoAppBinary.mMagic:I
         9: .line 105
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            putfield android.hardware.location.NanoAppBinary.mNanoAppId:J
        10: .line 106
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield android.hardware.location.NanoAppBinary.mNanoAppVersion:I
        11: .line 107
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            putfield android.hardware.location.NanoAppBinary.mFlags:I
        12: .line 108
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            putfield android.hardware.location.NanoAppBinary.mHwHubType:J
        13: .line 109
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.get:()B
            putfield android.hardware.location.NanoAppBinary.mTargetChreApiMajorVersion:B
        14: .line 110
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual java.nio.ByteBuffer.get:()B
            putfield android.hardware.location.NanoAppBinary.mTargetChreApiMinorVersion:B
        15: .line 111
            goto 19
      StackMap locals:
      StackMap stack: java.nio.BufferUnderflowException
        16: pop
        17: .line 112
            ldc "NanoAppBinary"
            ldc "Not enough contents in nanoapp header"
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        18: .line 113
            return
        19: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mMagic:I
            ldc 1330528590
            if_icmpeq 25
        20: .line 117
            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 /* this */
            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: .line 118
            ldc "while parsing header (expected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 119
            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: .line 117
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        24: .line 120
            goto 26
        25: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
        26: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer buf
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 129
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            areturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 139
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            arraylength
            bipush 40
            if_icmpge 4
         1: .line 140
            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: .line 141
            aload 0 /* this */
            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: .line 140
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            bipush 40
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            areturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 151
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 158
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mHeaderVersion:I
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 165
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppId:J
            lreturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 172
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppVersion:I
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 179
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mHwHubType:J
            lreturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 186
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mTargetChreApiMajorVersion:B
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 193
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mTargetChreApiMinorVersion:B
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 204
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mFlags:I
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 211
            aload 0 /* this */
            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 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 218
            aload 0 /* this */
            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 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
        start local 1 // android.os.Parcel in
         0: .line 221
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            iconst_0
            putfield android.hardware.location.NanoAppBinary.mHasValidHeader:Z
         2: .line 222
            aload 1 /* in */
            invokevirtual android.os.Parcel.readInt:()I
            istore 2 /* binaryLength */
        start local 2 // int binaryLength
         3: .line 223
            aload 0 /* this */
            iload 2 /* binaryLength */
            newarray 8
            putfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
         4: .line 224
            aload 1 /* in */
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            invokevirtual android.os.Parcel.readByteArray:([B)V
         5: .line 226
            aload 0 /* this */
            invokevirtual android.hardware.location.NanoAppBinary.parseBinaryHeader:()V
         6: .line 227
            return
        end local 2 // int binaryLength
        end local 1 // android.os.Parcel in
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
         0: .line 231
            iconst_0
            ireturn
        end local 0 // android.hardware.location.NanoAppBinary this
      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 // android.hardware.location.NanoAppBinary this
        start local 1 // android.os.Parcel out
        start local 2 // int flags
         0: .line 236
            aload 1 /* out */
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            arraylength
            invokevirtual android.os.Parcel.writeInt:(I)V
         1: .line 237
            aload 1 /* out */
            aload 0 /* this */
            getfield android.hardware.location.NanoAppBinary.mNanoAppBinary:[B
            invokevirtual android.os.Parcel.writeByteArray:([B)V
         2: .line 238
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel out
        end local 0 // android.hardware.location.NanoAppBinary this
      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()