public class android.location.Location implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.location.Location
  super_class: java.lang.Object
{
  public static final int FORMAT_DEGREES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int FORMAT_MINUTES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int FORMAT_SECONDS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final java.lang.String EXTRA_COARSE_LOCATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "coarseLocation"

  public static final java.lang.String EXTRA_NO_GPS_LOCATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "noGPSLocation"

  private static final int HAS_ALTITUDE_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int HAS_SPEED_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int HAS_BEARING_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int HAS_HORIZONTAL_ACCURACY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int HAS_MOCK_PROVIDER_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int HAS_VERTICAL_ACCURACY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final int HAS_SPEED_ACCURACY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  private static final int HAS_BEARING_ACCURACY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private static java.lang.ThreadLocal<android.location.Location$BearingDistanceCache> sBearingDistanceCache;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Landroid/location/Location$BearingDistanceCache;>;

  private java.lang.String mProvider;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private long mTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long mElapsedRealtimeNanos;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private double mLatitude;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double mLongitude;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double mAltitude;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private float mSpeed;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mBearing;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mHorizontalAccuracyMeters;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mVerticalAccuracyMeters;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mSpeedAccuracyMetersPerSecond;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mBearingAccuracyDegrees;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private android.os.Bundle mExtras;
    descriptor: Landroid/os/Bundle;
    flags: (0x0002) ACC_PRIVATE

  private byte mFieldsMask;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  public static final android.os.Parcelable$Creator<android.location.Location> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/location/Location;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 118
            new android.location.Location$1
            dup
            invokespecial android.location.Location$1.<init>:()V
         1: .line 117
            putstatic android.location.Location.sBearingDistanceCache:Ljava/lang/ThreadLocal;
         2: .line 1079
            new android.location.Location$2
            dup
            invokespecial android.location.Location$2.<init>:()V
         3: .line 1078
            putstatic android.location.Location.CREATOR:Landroid/os/Parcelable$Creator;
         4: .line 1104
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // java.lang.String provider
         0: .line 151
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mTime:J
         2: .line 127
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mElapsedRealtimeNanos:J
         3: .line 128
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLatitude:D
         4: .line 129
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLongitude:D
         5: .line 130
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mAltitude:D
         6: .line 131
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeed:F
         7: .line 132
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearing:F
         8: .line 133
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mHorizontalAccuracyMeters:F
         9: .line 134
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mVerticalAccuracyMeters:F
        10: .line 135
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
        11: .line 136
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearingAccuracyDegrees:F
        12: .line 138
            aload 0 /* this */
            aconst_null
            putfield android.location.Location.mExtras:Landroid/os/Bundle;
        13: .line 141
            aload 0 /* this */
            iconst_0
            putfield android.location.Location.mFieldsMask:B
        14: .line 152
            aload 0 /* this */
            aload 1 /* provider */
            putfield android.location.Location.mProvider:Ljava/lang/String;
        15: .line 153
            return
        end local 1 // java.lang.String provider
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Landroid/location/Location;
            0   16     1  provider  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      provider  

  public void <init>(android.location.Location);
    descriptor: (Landroid/location/Location;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // android.location.Location l
         0: .line 158
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 126
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mTime:J
         2: .line 127
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mElapsedRealtimeNanos:J
         3: .line 128
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLatitude:D
         4: .line 129
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLongitude:D
         5: .line 130
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mAltitude:D
         6: .line 131
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeed:F
         7: .line 132
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearing:F
         8: .line 133
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mHorizontalAccuracyMeters:F
         9: .line 134
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mVerticalAccuracyMeters:F
        10: .line 135
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
        11: .line 136
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearingAccuracyDegrees:F
        12: .line 138
            aload 0 /* this */
            aconst_null
            putfield android.location.Location.mExtras:Landroid/os/Bundle;
        13: .line 141
            aload 0 /* this */
            iconst_0
            putfield android.location.Location.mFieldsMask:B
        14: .line 159
            aload 0 /* this */
            aload 1 /* l */
            invokevirtual android.location.Location.set:(Landroid/location/Location;)V
        15: .line 160
            return
        end local 1 // android.location.Location l
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Landroid/location/Location;
            0   16     1     l  Landroid/location/Location;
    MethodParameters:
      Name  Flags
      l     

  public void set(android.location.Location);
    descriptor: (Landroid/location/Location;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // android.location.Location l
         0: .line 166
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            putfield android.location.Location.mProvider:Ljava/lang/String;
         1: .line 167
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mTime:J
            putfield android.location.Location.mTime:J
         2: .line 168
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            putfield android.location.Location.mElapsedRealtimeNanos:J
         3: .line 169
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mFieldsMask:B
            putfield android.location.Location.mFieldsMask:B
         4: .line 170
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mLatitude:D
            putfield android.location.Location.mLatitude:D
         5: .line 171
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mLongitude:D
            putfield android.location.Location.mLongitude:D
         6: .line 172
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mAltitude:D
            putfield android.location.Location.mAltitude:D
         7: .line 173
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mSpeed:F
            putfield android.location.Location.mSpeed:F
         8: .line 174
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mBearing:F
            putfield android.location.Location.mBearing:F
         9: .line 175
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mHorizontalAccuracyMeters:F
            putfield android.location.Location.mHorizontalAccuracyMeters:F
        10: .line 176
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mVerticalAccuracyMeters:F
            putfield android.location.Location.mVerticalAccuracyMeters:F
        11: .line 177
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
        12: .line 178
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mBearingAccuracyDegrees:F
            putfield android.location.Location.mBearingAccuracyDegrees:F
        13: .line 179
            aload 0 /* this */
            aload 1 /* l */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            ifnonnull 14
            aconst_null
            goto 15
      StackMap locals:
      StackMap stack: android.location.Location
        14: new android.os.Bundle
            dup
            aload 1 /* l */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            invokespecial android.os.Bundle.<init>:(Landroid/os/Bundle;)V
      StackMap locals: android.location.Location android.location.Location
      StackMap stack: android.location.Location android.os.Bundle
        15: putfield android.location.Location.mExtras:Landroid/os/Bundle;
        16: .line 180
            return
        end local 1 // android.location.Location l
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Landroid/location/Location;
            0   17     1     l  Landroid/location/Location;
    MethodParameters:
      Name  Flags
      l     

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 186
            aload 0 /* this */
            aconst_null
            putfield android.location.Location.mProvider:Ljava/lang/String;
         1: .line 187
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mTime:J
         2: .line 188
            aload 0 /* this */
            lconst_0
            putfield android.location.Location.mElapsedRealtimeNanos:J
         3: .line 189
            aload 0 /* this */
            iconst_0
            putfield android.location.Location.mFieldsMask:B
         4: .line 190
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLatitude:D
         5: .line 191
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mLongitude:D
         6: .line 192
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mAltitude:D
         7: .line 193
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeed:F
         8: .line 194
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearing:F
         9: .line 195
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mHorizontalAccuracyMeters:F
        10: .line 196
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mVerticalAccuracyMeters:F
        11: .line 197
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
        12: .line 198
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearingAccuracyDegrees:F
        13: .line 199
            aload 0 /* this */
            aconst_null
            putfield android.location.Location.mExtras:Landroid/os/Bundle;
        14: .line 200
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Landroid/location/Location;

  public static java.lang.String convert(double, int);
    descriptor: (DI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // double coordinate
        start local 2 // int outputType
         0: .line 216
            dload 0 /* coordinate */
            ldc -180.0
            dcmpg
            iflt 2
            dload 0 /* coordinate */
            ldc 180.0
            dcmpl
            ifgt 2
         1: .line 217
            dload 0 /* coordinate */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 3
         2: .line 218
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 220
      StackMap locals:
      StackMap stack:
            iload 2 /* outputType */
            ifeq 7
         4: .line 221
            iload 2 /* outputType */
            iconst_1
            if_icmpeq 7
         5: .line 222
            iload 2 /* outputType */
            iconst_2
            if_icmpeq 7
         6: .line 223
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "outputType="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* outputType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 226
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         8: .line 229
            dload 0 /* coordinate */
            dconst_0
            dcmpg
            ifge 11
         9: .line 230
            aload 3 /* sb */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 231
            dload 0 /* coordinate */
            dneg
            dstore 0 /* coordinate */
        11: .line 234
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            new java.text.DecimalFormat
            dup
            ldc "###.#####"
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* df */
        start local 4 // java.text.DecimalFormat df
        12: .line 235
            iload 2 /* outputType */
            iconst_1
            if_icmpeq 13
            iload 2 /* outputType */
            iconst_2
            if_icmpne 24
        13: .line 236
      StackMap locals: java.text.DecimalFormat
      StackMap stack:
            dload 0 /* coordinate */
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 5 /* degrees */
        start local 5 // int degrees
        14: .line 237
            aload 3 /* sb */
            iload 5 /* degrees */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        15: .line 238
            aload 3 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 239
            dload 0 /* coordinate */
            iload 5 /* degrees */
            i2d
            dsub
            dstore 0 /* coordinate */
        17: .line 240
            dload 0 /* coordinate */
            ldc 60.0
            dmul
            dstore 0 /* coordinate */
        18: .line 241
            iload 2 /* outputType */
            iconst_2
            if_icmpne 24
        19: .line 242
            dload 0 /* coordinate */
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 6 /* minutes */
        start local 6 // int minutes
        20: .line 243
            aload 3 /* sb */
            iload 6 /* minutes */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        21: .line 244
            aload 3 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 245
            dload 0 /* coordinate */
            iload 6 /* minutes */
            i2d
            dsub
            dstore 0 /* coordinate */
        23: .line 246
            dload 0 /* coordinate */
            ldc 60.0
            dmul
            dstore 0 /* coordinate */
        end local 6 // int minutes
        end local 5 // int degrees
        24: .line 249
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            aload 4 /* df */
            dload 0 /* coordinate */
            invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 250
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.text.DecimalFormat df
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int outputType
        end local 0 // double coordinate
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0  coordinate  D
            0   26     2  outputType  I
            8   26     3          sb  Ljava/lang/StringBuilder;
           12   26     4          df  Ljava/text/DecimalFormat;
           14   24     5     degrees  I
           20   24     6     minutes  I
    MethodParameters:
            Name  Flags
      coordinate  
      outputType  

  public static double convert(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // java.lang.String coordinate
         0: .line 266
            aload 0 /* coordinate */
            ifnonnull 2
         1: .line 267
            new java.lang.NullPointerException
            dup
            ldc "coordinate"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 270
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* negative */
        start local 1 // boolean negative
         3: .line 271
            aload 0 /* coordinate */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 6
         4: .line 272
            aload 0 /* coordinate */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* coordinate */
         5: .line 273
            iconst_1
            istore 1 /* negative */
         6: .line 276
      StackMap locals: int
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* coordinate */
            ldc ":"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         7: .line 277
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 3 /* tokens */
        start local 3 // int tokens
         8: .line 278
            iload 3 /* tokens */
            iconst_1
            if_icmpge 10
         9: .line 279
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 282
      StackMap locals: java.util.StringTokenizer int
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* degrees */
        start local 4 // java.lang.String degrees
        11: .line 284
            iload 3 /* tokens */
            iconst_1
            if_icmpne 16
        12: .line 285
            aload 4 /* degrees */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 5 /* val */
        start local 5 // double val
        13: .line 286
            iload 1 /* negative */
            ifeq 14
            dload 5 /* val */
            dneg
            goto 15
      StackMap locals: java.lang.String double
      StackMap stack:
        14: dload 5 /* val */
      StackMap locals:
      StackMap stack: double
        15: dreturn
        end local 5 // double val
        16: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 7 /* minutes */
        start local 7 // java.lang.String minutes
        17: .line 290
            aload 4 /* degrees */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 8 /* deg */
        start local 8 // int deg
        18: .line 292
            dconst_0
            dstore 11 /* sec */
        start local 11 // double sec
        19: .line 293
            iconst_0
            istore 13 /* secPresent */
        start local 13 // boolean secPresent
        20: .line 295
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifeq 26
        21: .line 296
            aload 7 /* minutes */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            i2d
            dstore 9 /* min */
        start local 9 // double min
        22: .line 297
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 14 /* seconds */
        start local 14 // java.lang.String seconds
        23: .line 298
            aload 14 /* seconds */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 11 /* sec */
        24: .line 299
            iconst_1
            istore 13 /* secPresent */
        end local 14 // java.lang.String seconds
        25: .line 300
            goto 27
        end local 9 // double min
        26: .line 301
      StackMap locals: java.lang.String int java.util.StringTokenizer int java.lang.String top top java.lang.String int top top double int
      StackMap stack:
            aload 7 /* minutes */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 9 /* min */
        start local 9 // double min
        27: .line 304
      StackMap locals: java.lang.String int java.util.StringTokenizer int java.lang.String top top java.lang.String int double double int
      StackMap stack:
            iload 1 /* negative */
            ifeq 30
            iload 8 /* deg */
            sipush 180
            if_icmpne 30
        28: .line 305
            dload 9 /* min */
            dconst_0
            dcmpl
            ifne 30
            dload 11 /* sec */
            dconst_0
            dcmpl
            ifne 30
        29: .line 304
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 14 /* isNegative180 */
        start local 14 // boolean isNegative180
        32: .line 308
            iload 8 /* deg */
            i2d
            dconst_0
            dcmpg
            iflt 33
            iload 8 /* deg */
            sipush 179
            if_icmple 34
            iload 14 /* isNegative180 */
            ifne 34
        33: .line 309
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 313
      StackMap locals:
      StackMap stack:
            dload 9 /* min */
            dconst_0
            dcmpg
            iflt 35
            dload 9 /* min */
            ldc 60.0
            dcmpl
            ifge 35
            iload 13 /* secPresent */
            ifeq 38
            dload 9 /* min */
            ldc 59.0
            dcmpl
            ifle 38
        35: .line 314
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 315
            aload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        37: .line 314
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 319
      StackMap locals:
      StackMap stack:
            dload 11 /* sec */
            dconst_0
            dcmpg
            iflt 39
            dload 11 /* sec */
            ldc 60.0
            dcmpl
            iflt 42
        39: .line 320
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 321
            aload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 320
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 324
      StackMap locals:
      StackMap stack:
            iload 8 /* deg */
            i2d
            ldc 3600.0
            dmul
            dload 9 /* min */
            ldc 60.0
            dmul
            dadd
            dload 11 /* sec */
            dadd
            dstore 5 /* val */
        start local 5 // double val
        43: .line 325
            dload 5 /* val */
            ldc 3600.0
            ddiv
            dstore 5 /* val */
        44: .line 326
            iload 1 /* negative */
            ifeq 45
            dload 5 /* val */
            dneg
            goto 46
      StackMap locals: java.lang.String int java.util.StringTokenizer int java.lang.String double java.lang.String int double double int int
      StackMap stack:
        45: dload 5 /* val */
      StackMap locals:
      StackMap stack: double
        46: dreturn
        end local 14 // boolean isNegative180
        end local 13 // boolean secPresent
        end local 11 // double sec
        end local 9 // double min
        end local 8 // int deg
        end local 7 // java.lang.String minutes
        end local 5 // double val
        end local 4 // java.lang.String degrees
        47: .line 327
      StackMap locals: java.lang.String int java.util.StringTokenizer int
      StackMap stack: java.lang.NumberFormatException
            pop
        48: .line 328
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "coordinate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* coordinate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int tokens
        end local 2 // java.util.StringTokenizer st
        end local 1 // boolean negative
        end local 0 // java.lang.String coordinate
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   49     0     coordinate  Ljava/lang/String;
            3   49     1       negative  Z
            7   49     2             st  Ljava/util/StringTokenizer;
            8   49     3         tokens  I
           11   47     4        degrees  Ljava/lang/String;
           13   16     5            val  D
           43   47     5            val  D
           17   47     7        minutes  Ljava/lang/String;
           18   47     8            deg  I
           22   26     9            min  D
           27   47     9            min  D
           19   47    11            sec  D
           20   47    13     secPresent  Z
           23   25    14        seconds  Ljava/lang/String;
           32   47    14  isNegative180  Z
      Exception table:
        from    to  target  type
          10    15      47  Class java.lang.NumberFormatException
          16    46      47  Class java.lang.NumberFormatException
    MethodParameters:
            Name  Flags
      coordinate  

  private static void computeDistanceAndBearing(double, double, double, double, android.location.Location$BearingDistanceCache);
    descriptor: (DDDDLandroid/location/Location$BearingDistanceCache;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=18, locals=77, args_size=5
        start local 0 // double lat1
        start local 2 // double lon1
        start local 4 // double lat2
        start local 6 // double lon2
        start local 8 // android.location.Location$BearingDistanceCache results
         0: .line 337
            bipush 20
            istore 9 /* MAXITERS */
        start local 9 // int MAXITERS
         1: .line 339
            dload 0 /* lat1 */
            ldc 0.017453292519943295
            dmul
            dstore 0 /* lat1 */
         2: .line 340
            dload 4 /* lat2 */
            ldc 0.017453292519943295
            dmul
            dstore 4 /* lat2 */
         3: .line 341
            dload 2 /* lon1 */
            ldc 0.017453292519943295
            dmul
            dstore 2 /* lon1 */
         4: .line 342
            dload 6 /* lon2 */
            ldc 0.017453292519943295
            dmul
            dstore 6 /* lon2 */
         5: .line 344
            ldc 6378137.0
            dstore 10 /* a */
        start local 10 // double a
         6: .line 345
            ldc 6356752.3142
            dstore 12 /* b */
        start local 12 // double b
         7: .line 346
            dload 10 /* a */
            dload 12 /* b */
            dsub
            dload 10 /* a */
            ddiv
            dstore 14 /* f */
        start local 14 // double f
         8: .line 347
            dload 10 /* a */
            dload 10 /* a */
            dmul
            dload 12 /* b */
            dload 12 /* b */
            dmul
            dsub
            dload 12 /* b */
            dload 12 /* b */
            dmul
            ddiv
            dstore 16 /* aSqMinusBSqOverBSq */
        start local 16 // double aSqMinusBSqOverBSq
         9: .line 349
            dload 6 /* lon2 */
            dload 2 /* lon1 */
            dsub
            dstore 18 /* L */
        start local 18 // double L
        10: .line 350
            dconst_0
            dstore 20 /* A */
        start local 20 // double A
        11: .line 351
            dconst_1
            dload 14 /* f */
            dsub
            dload 0 /* lat1 */
            invokestatic java.lang.Math.tan:(D)D
            dmul
            invokestatic java.lang.Math.atan:(D)D
            dstore 22 /* U1 */
        start local 22 // double U1
        12: .line 352
            dconst_1
            dload 14 /* f */
            dsub
            dload 4 /* lat2 */
            invokestatic java.lang.Math.tan:(D)D
            dmul
            invokestatic java.lang.Math.atan:(D)D
            dstore 24 /* U2 */
        start local 24 // double U2
        13: .line 354
            dload 22 /* U1 */
            invokestatic java.lang.Math.cos:(D)D
            dstore 26 /* cosU1 */
        start local 26 // double cosU1
        14: .line 355
            dload 24 /* U2 */
            invokestatic java.lang.Math.cos:(D)D
            dstore 28 /* cosU2 */
        start local 28 // double cosU2
        15: .line 356
            dload 22 /* U1 */
            invokestatic java.lang.Math.sin:(D)D
            dstore 30 /* sinU1 */
        start local 30 // double sinU1
        16: .line 357
            dload 24 /* U2 */
            invokestatic java.lang.Math.sin:(D)D
            dstore 32 /* sinU2 */
        start local 32 // double sinU2
        17: .line 358
            dload 26 /* cosU1 */
            dload 28 /* cosU2 */
            dmul
            dstore 34 /* cosU1cosU2 */
        start local 34 // double cosU1cosU2
        18: .line 359
            dload 30 /* sinU1 */
            dload 32 /* sinU2 */
            dmul
            dstore 36 /* sinU1sinU2 */
        start local 36 // double sinU1sinU2
        19: .line 361
            dconst_0
            dstore 38 /* sigma */
        start local 38 // double sigma
        20: .line 362
            dconst_0
            dstore 40 /* deltaSigma */
        start local 40 // double deltaSigma
        21: .line 363
            dconst_0
            dstore 42 /* cosSqAlpha */
        start local 42 // double cosSqAlpha
        22: .line 364
            dconst_0
            dstore 44 /* cos2SM */
        start local 44 // double cos2SM
        23: .line 365
            dconst_0
            dstore 46 /* cosSigma */
        start local 46 // double cosSigma
        24: .line 366
            dconst_0
            dstore 48 /* sinSigma */
        start local 48 // double sinSigma
        25: .line 367
            dconst_0
            dstore 50 /* cosLambda */
        start local 50 // double cosLambda
        26: .line 368
            dconst_0
            dstore 52 /* sinLambda */
        start local 52 // double sinLambda
        27: .line 370
            dload 18 /* L */
            dstore 54 /* lambda */
        start local 54 // double lambda
        28: .line 371
            iconst_0
            istore 56 /* iter */
        start local 56 // int iter
        29: goto 87
        30: .line 372
      StackMap locals: double double double double android.location.Location$BearingDistanceCache int double double double double double double double double double double double double double double double double double double double double double double double int
      StackMap stack:
            dload 54 /* lambda */
            dstore 57 /* lambdaOrig */
        start local 57 // double lambdaOrig
        31: .line 373
            dload 54 /* lambda */
            invokestatic java.lang.Math.cos:(D)D
            dstore 50 /* cosLambda */
        32: .line 374
            dload 54 /* lambda */
            invokestatic java.lang.Math.sin:(D)D
            dstore 52 /* sinLambda */
        33: .line 375
            dload 28 /* cosU2 */
            dload 52 /* sinLambda */
            dmul
            dstore 59 /* t1 */
        start local 59 // double t1
        34: .line 376
            dload 26 /* cosU1 */
            dload 32 /* sinU2 */
            dmul
            dload 30 /* sinU1 */
            dload 28 /* cosU2 */
            dmul
            dload 50 /* cosLambda */
            dmul
            dsub
            dstore 61 /* t2 */
        start local 61 // double t2
        35: .line 377
            dload 59 /* t1 */
            dload 59 /* t1 */
            dmul
            dload 61 /* t2 */
            dload 61 /* t2 */
            dmul
            dadd
            dstore 63 /* sinSqSigma */
        start local 63 // double sinSqSigma
        36: .line 378
            dload 63 /* sinSqSigma */
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 48 /* sinSigma */
        37: .line 379
            dload 36 /* sinU1sinU2 */
            dload 34 /* cosU1cosU2 */
            dload 50 /* cosLambda */
            dmul
            dadd
            dstore 46 /* cosSigma */
        38: .line 380
            dload 48 /* sinSigma */
            dload 46 /* cosSigma */
            invokestatic java.lang.Math.atan2:(DD)D
            dstore 38 /* sigma */
        39: .line 381
            dload 48 /* sinSigma */
            dconst_0
            dcmpl
            ifne 40
            dconst_0
            goto 41
        40: .line 382
      StackMap locals: double double double double android.location.Location$BearingDistanceCache int double double double double double double double double double double double double double double double double double double double double double double double int double double double double
      StackMap stack:
            dload 34 /* cosU1cosU2 */
            dload 52 /* sinLambda */
            dmul
            dload 48 /* sinSigma */
            ddiv
        41: .line 381
      StackMap locals:
      StackMap stack: double
            dstore 65 /* sinAlpha */
        start local 65 // double sinAlpha
        42: .line 383
            dconst_1
            dload 65 /* sinAlpha */
            dload 65 /* sinAlpha */
            dmul
            dsub
            dstore 42 /* cosSqAlpha */
        43: .line 384
            dload 42 /* cosSqAlpha */
            dconst_0
            dcmpl
            ifne 44
            dconst_0
            goto 45
        44: .line 385
      StackMap locals: double
      StackMap stack:
            dload 46 /* cosSigma */
            ldc 2.0
            dload 36 /* sinU1sinU2 */
            dmul
            dload 42 /* cosSqAlpha */
            ddiv
            dsub
        45: .line 384
      StackMap locals:
      StackMap stack: double
            dstore 44 /* cos2SM */
        46: .line 387
            dload 42 /* cosSqAlpha */
            dload 16 /* aSqMinusBSqOverBSq */
            dmul
            dstore 67 /* uSquared */
        start local 67 // double uSquared
        47: .line 388
            dconst_1
            dload 67 /* uSquared */
            ldc 16384.0
            ddiv
        48: .line 389
            ldc 4096.0
            dload 67 /* uSquared */
        49: .line 390
            ldc -768.0
            dload 67 /* uSquared */
            ldc 320.0
            ldc 175.0
            dload 67 /* uSquared */
            dmul
            dsub
            dmul
            dadd
            dmul
        50: .line 389
            dadd
            dmul
        51: .line 388
            dadd
            dstore 20 /* A */
        52: .line 391
            dload 67 /* uSquared */
            ldc 1024.0
            ddiv
        53: .line 392
            ldc 256.0
            dload 67 /* uSquared */
        54: .line 393
            ldc -128.0
            dload 67 /* uSquared */
            ldc 74.0
            ldc 47.0
            dload 67 /* uSquared */
            dmul
            dsub
            dmul
            dadd
            dmul
        55: .line 392
            dadd
        56: .line 391
            dmul
            dstore 69 /* B */
        start local 69 // double B
        57: .line 394
            dload 14 /* f */
            ldc 16.0
            ddiv
        58: .line 395
            dload 42 /* cosSqAlpha */
        59: .line 394
            dmul
        60: .line 396
            ldc 4.0
            dload 14 /* f */
            ldc 4.0
            ldc 3.0
            dload 42 /* cosSqAlpha */
            dmul
            dsub
            dmul
            dadd
        61: .line 394
            dmul
            dstore 71 /* C */
        start local 71 // double C
        62: .line 397
            dload 44 /* cos2SM */
            dload 44 /* cos2SM */
            dmul
            dstore 73 /* cos2SMSq */
        start local 73 // double cos2SMSq
        63: .line 398
            dload 69 /* B */
            dload 48 /* sinSigma */
            dmul
        64: .line 399
            dload 44 /* cos2SM */
            dload 69 /* B */
            ldc 4.0
            ddiv
        65: .line 400
            dload 46 /* cosSigma */
            ldc -1.0
            ldc 2.0
            dload 73 /* cos2SMSq */
            dmul
            dadd
            dmul
        66: .line 401
            dload 69 /* B */
            ldc 6.0
            ddiv
            dload 44 /* cos2SM */
            dmul
        67: .line 402
            ldc -3.0
            ldc 4.0
            dload 48 /* sinSigma */
            dmul
            dload 48 /* sinSigma */
            dmul
            dadd
        68: .line 401
            dmul
        69: .line 403
            ldc -3.0
            ldc 4.0
            dload 73 /* cos2SMSq */
            dmul
            dadd
        70: .line 401
            dmul
        71: .line 400
            dsub
            dmul
        72: .line 399
            dadd
        73: .line 398
            dmul
            dstore 40 /* deltaSigma */
        74: .line 405
            dload 18 /* L */
        75: .line 406
            dconst_1
            dload 71 /* C */
            dsub
            dload 14 /* f */
            dmul
            dload 65 /* sinAlpha */
            dmul
        76: .line 407
            dload 38 /* sigma */
            dload 71 /* C */
            dload 48 /* sinSigma */
            dmul
        77: .line 408
            dload 44 /* cos2SM */
            dload 71 /* C */
            dload 46 /* cosSigma */
            dmul
        78: .line 409
            ldc -1.0
            ldc 2.0
            dload 44 /* cos2SM */
            dmul
            dload 44 /* cos2SM */
            dmul
            dadd
            dmul
        79: .line 408
            dadd
            dmul
        80: .line 407
            dadd
        81: .line 406
            dmul
        82: .line 405
            dadd
            dstore 54 /* lambda */
        83: .line 411
            dload 54 /* lambda */
            dload 57 /* lambdaOrig */
            dsub
            dload 54 /* lambda */
            ddiv
            dstore 75 /* delta */
        start local 75 // double delta
        84: .line 412
            dload 75 /* delta */
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.0E-12
            dcmpg
            ifge 86
        85: .line 413
            goto 88
        end local 75 // double delta
        end local 73 // double cos2SMSq
        end local 71 // double C
        end local 69 // double B
        end local 67 // double uSquared
        end local 65 // double sinAlpha
        end local 63 // double sinSqSigma
        end local 61 // double t2
        end local 59 // double t1
        end local 57 // double lambdaOrig
        86: .line 371
      StackMap locals: double double double double android.location.Location$BearingDistanceCache int double double double double double double double double double double double double double double double double double double double double double double double int
      StackMap stack:
            iinc 56 /* iter */ 1
      StackMap locals:
      StackMap stack:
        87: iload 56 /* iter */
            iload 9 /* MAXITERS */
            if_icmplt 30
        end local 56 // int iter
        88: .line 417
      StackMap locals:
      StackMap stack:
            dload 12 /* b */
            dload 20 /* A */
            dmul
            dload 38 /* sigma */
            dload 40 /* deltaSigma */
            dsub
            dmul
            d2f
            fstore 56 /* distance */
        start local 56 // float distance
        89: .line 418
            aload 8 /* results */
            fload 56 /* distance */
            putfield android.location.Location$BearingDistanceCache.mDistance:F
        90: .line 419
            dload 28 /* cosU2 */
            dload 52 /* sinLambda */
            dmul
        91: .line 420
            dload 26 /* cosU1 */
            dload 32 /* sinU2 */
            dmul
            dload 30 /* sinU1 */
            dload 28 /* cosU2 */
            dmul
            dload 50 /* cosLambda */
            dmul
            dsub
        92: .line 419
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fstore 57 /* initialBearing */
        start local 57 // float initialBearing
        93: .line 421
            fload 57 /* initialBearing */
            f2d
            ldc 57.29577951308232
            dmul
            d2f
            fstore 57 /* initialBearing */
        94: .line 422
            aload 8 /* results */
            fload 57 /* initialBearing */
            putfield android.location.Location$BearingDistanceCache.mInitialBearing:F
        95: .line 423
            dload 26 /* cosU1 */
            dload 52 /* sinLambda */
            dmul
        96: .line 424
            dload 30 /* sinU1 */
            dneg
            dload 28 /* cosU2 */
            dmul
            dload 26 /* cosU1 */
            dload 32 /* sinU2 */
            dmul
            dload 50 /* cosLambda */
            dmul
            dadd
        97: .line 423
            invokestatic java.lang.Math.atan2:(DD)D
            d2f
            fstore 58 /* finalBearing */
        start local 58 // float finalBearing
        98: .line 425
            fload 58 /* finalBearing */
            f2d
            ldc 57.29577951308232
            dmul
            d2f
            fstore 58 /* finalBearing */
        99: .line 426
            aload 8 /* results */
            fload 58 /* finalBearing */
            putfield android.location.Location$BearingDistanceCache.mFinalBearing:F
       100: .line 427
            aload 8 /* results */
            dload 0 /* lat1 */
            putfield android.location.Location$BearingDistanceCache.mLat1:D
       101: .line 428
            aload 8 /* results */
            dload 4 /* lat2 */
            putfield android.location.Location$BearingDistanceCache.mLat2:D
       102: .line 429
            aload 8 /* results */
            dload 2 /* lon1 */
            putfield android.location.Location$BearingDistanceCache.mLon1:D
       103: .line 430
            aload 8 /* results */
            dload 6 /* lon2 */
            putfield android.location.Location$BearingDistanceCache.mLon2:D
       104: .line 431
            return
        end local 58 // float finalBearing
        end local 57 // float initialBearing
        end local 56 // float distance
        end local 54 // double lambda
        end local 52 // double sinLambda
        end local 50 // double cosLambda
        end local 48 // double sinSigma
        end local 46 // double cosSigma
        end local 44 // double cos2SM
        end local 42 // double cosSqAlpha
        end local 40 // double deltaSigma
        end local 38 // double sigma
        end local 36 // double sinU1sinU2
        end local 34 // double cosU1cosU2
        end local 32 // double sinU2
        end local 30 // double sinU1
        end local 28 // double cosU2
        end local 26 // double cosU1
        end local 24 // double U2
        end local 22 // double U1
        end local 20 // double A
        end local 18 // double L
        end local 16 // double aSqMinusBSqOverBSq
        end local 14 // double f
        end local 12 // double b
        end local 10 // double a
        end local 9 // int MAXITERS
        end local 8 // android.location.Location$BearingDistanceCache results
        end local 6 // double lon2
        end local 4 // double lat2
        end local 2 // double lon1
        end local 0 // double lat1
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  105     0                lat1  D
            0  105     2                lon1  D
            0  105     4                lat2  D
            0  105     6                lon2  D
            0  105     8             results  Landroid/location/Location$BearingDistanceCache;
            1  105     9            MAXITERS  I
            6  105    10                   a  D
            7  105    12                   b  D
            8  105    14                   f  D
            9  105    16  aSqMinusBSqOverBSq  D
           10  105    18                   L  D
           11  105    20                   A  D
           12  105    22                  U1  D
           13  105    24                  U2  D
           14  105    26               cosU1  D
           15  105    28               cosU2  D
           16  105    30               sinU1  D
           17  105    32               sinU2  D
           18  105    34          cosU1cosU2  D
           19  105    36          sinU1sinU2  D
           20  105    38               sigma  D
           21  105    40          deltaSigma  D
           22  105    42          cosSqAlpha  D
           23  105    44              cos2SM  D
           24  105    46            cosSigma  D
           25  105    48            sinSigma  D
           26  105    50           cosLambda  D
           27  105    52           sinLambda  D
           28  105    54              lambda  D
           29   88    56                iter  I
           31   86    57          lambdaOrig  D
           34   86    59                  t1  D
           35   86    61                  t2  D
           36   86    63          sinSqSigma  D
           42   86    65            sinAlpha  D
           47   86    67            uSquared  D
           57   86    69                   B  D
           62   86    71                   C  D
           63   86    73            cos2SMSq  D
           84   86    75               delta  D
           89  105    56            distance  F
           93  105    57      initialBearing  F
           98  105    58        finalBearing  F
    MethodParameters:
         Name  Flags
      lat1     
      lon1     
      lat2     
      lon2     
      results  

  public static void distanceBetween(double, double, double, double, float[]);
    descriptor: (DDDD[F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=10, args_size=5
        start local 0 // double startLatitude
        start local 2 // double startLongitude
        start local 4 // double endLatitude
        start local 6 // double endLongitude
        start local 8 // float[] results
         0: .line 453
            aload 8 /* results */
            ifnull 1
            aload 8 /* results */
            arraylength
            iconst_1
            if_icmpge 2
         1: .line 454
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "results is null or has length < 1"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 456
      StackMap locals:
      StackMap stack:
            getstatic android.location.Location.sBearingDistanceCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast android.location.Location$BearingDistanceCache
            astore 9 /* cache */
        start local 9 // android.location.Location$BearingDistanceCache cache
         3: .line 457
            dload 0 /* startLatitude */
            dload 2 /* startLongitude */
         4: .line 458
            dload 4 /* endLatitude */
            dload 6 /* endLongitude */
            aload 9 /* cache */
         5: .line 457
            invokestatic android.location.Location.computeDistanceAndBearing:(DDDDLandroid/location/Location$BearingDistanceCache;)V
         6: .line 459
            aload 8 /* results */
            iconst_0
            aload 9 /* cache */
            getfield android.location.Location$BearingDistanceCache.mDistance:F
            fastore
         7: .line 460
            aload 8 /* results */
            arraylength
            iconst_1
            if_icmple 11
         8: .line 461
            aload 8 /* results */
            iconst_1
            aload 9 /* cache */
            getfield android.location.Location$BearingDistanceCache.mInitialBearing:F
            fastore
         9: .line 462
            aload 8 /* results */
            arraylength
            iconst_2
            if_icmple 11
        10: .line 463
            aload 8 /* results */
            iconst_2
            aload 9 /* cache */
            getfield android.location.Location$BearingDistanceCache.mFinalBearing:F
            fastore
        11: .line 466
      StackMap locals: android.location.Location$BearingDistanceCache
      StackMap stack:
            return
        end local 9 // android.location.Location$BearingDistanceCache cache
        end local 8 // float[] results
        end local 6 // double endLongitude
        end local 4 // double endLatitude
        end local 2 // double startLongitude
        end local 0 // double startLatitude
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0   startLatitude  D
            0   12     2  startLongitude  D
            0   12     4     endLatitude  D
            0   12     6    endLongitude  D
            0   12     8         results  [F
            3   12     9           cache  Landroid/location/Location$BearingDistanceCache;
    MethodParameters:
                Name  Flags
      startLatitude   
      startLongitude  
      endLatitude     
      endLongitude    
      results         

  public float distanceTo(android.location.Location);
    descriptor: (Landroid/location/Location;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // android.location.Location dest
         0: .line 477
            getstatic android.location.Location.sBearingDistanceCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast android.location.Location$BearingDistanceCache
            astore 2 /* cache */
        start local 2 // android.location.Location$BearingDistanceCache cache
         1: .line 479
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLat1:D
            dcmpl
            ifne 3
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLon1:D
            dcmpl
            ifne 3
         2: .line 480
            aload 1 /* dest */
            getfield android.location.Location.mLatitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLat2:D
            dcmpl
            ifne 3
            aload 1 /* dest */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLon2:D
            dcmpl
            ifeq 6
         3: .line 481
      StackMap locals: android.location.Location$BearingDistanceCache
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
         4: .line 482
            aload 1 /* dest */
            getfield android.location.Location.mLatitude:D
            aload 1 /* dest */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
         5: .line 481
            invokestatic android.location.Location.computeDistanceAndBearing:(DDDDLandroid/location/Location$BearingDistanceCache;)V
         6: .line 484
      StackMap locals:
      StackMap stack:
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mDistance:F
            freturn
        end local 2 // android.location.Location$BearingDistanceCache cache
        end local 1 // android.location.Location dest
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/location/Location;
            0    7     1   dest  Landroid/location/Location;
            1    7     2  cache  Landroid/location/Location$BearingDistanceCache;
    MethodParameters:
      Name  Flags
      dest  

  public float bearingTo(android.location.Location);
    descriptor: (Landroid/location/Location;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // android.location.Location dest
         0: .line 498
            getstatic android.location.Location.sBearingDistanceCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast android.location.Location$BearingDistanceCache
            astore 2 /* cache */
        start local 2 // android.location.Location$BearingDistanceCache cache
         1: .line 500
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLat1:D
            dcmpl
            ifne 3
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLon1:D
            dcmpl
            ifne 3
         2: .line 501
            aload 1 /* dest */
            getfield android.location.Location.mLatitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLat2:D
            dcmpl
            ifne 3
            aload 1 /* dest */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mLon2:D
            dcmpl
            ifeq 6
         3: .line 502
      StackMap locals: android.location.Location$BearingDistanceCache
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
         4: .line 503
            aload 1 /* dest */
            getfield android.location.Location.mLatitude:D
            aload 1 /* dest */
            getfield android.location.Location.mLongitude:D
            aload 2 /* cache */
         5: .line 502
            invokestatic android.location.Location.computeDistanceAndBearing:(DDDDLandroid/location/Location$BearingDistanceCache;)V
         6: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* cache */
            getfield android.location.Location$BearingDistanceCache.mInitialBearing:F
            freturn
        end local 2 // android.location.Location$BearingDistanceCache cache
        end local 1 // android.location.Location dest
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/location/Location;
            0    7     1   dest  Landroid/location/Location;
            1    7     2  cache  Landroid/location/Location$BearingDistanceCache;
    MethodParameters:
      Name  Flags
      dest  

  public java.lang.String getProvider();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 514
            aload 0 /* this */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            areturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // java.lang.String provider
         0: .line 521
            aload 0 /* this */
            aload 1 /* provider */
            putfield android.location.Location.mProvider:Ljava/lang/String;
         1: .line 522
            return
        end local 1 // java.lang.String provider
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/location/Location;
            0    2     1  provider  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      provider  

  public long getTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 542
            aload 0 /* this */
            getfield android.location.Location.mTime:J
            lreturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // long time
         0: .line 552
            aload 0 /* this */
            lload 1 /* time */
            putfield android.location.Location.mTime:J
         1: .line 553
            return
        end local 1 // long time
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;
            0    2     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public long getElapsedRealtimeNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 571
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            lreturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setElapsedRealtimeNanos(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // long time
         0: .line 580
            aload 0 /* this */
            lload 1 /* time */
            putfield android.location.Location.mElapsedRealtimeNanos:J
         1: .line 581
            return
        end local 1 // long time
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;
            0    2     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public double getLatitude();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 590
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            dreturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setLatitude(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // double latitude
         0: .line 597
            aload 0 /* this */
            dload 1 /* latitude */
            putfield android.location.Location.mLatitude:D
         1: .line 598
            return
        end local 1 // double latitude
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/location/Location;
            0    2     1  latitude  D
    MethodParameters:
          Name  Flags
      latitude  

  public double getLongitude();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 607
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
            dreturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setLongitude(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // double longitude
         0: .line 614
            aload 0 /* this */
            dload 1 /* longitude */
            putfield android.location.Location.mLongitude:D
         1: .line 615
            return
        end local 1 // double longitude
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/location/Location;
            0    2     1  longitude  D
    MethodParameters:
           Name  Flags
      longitude  

  public boolean hasAltitude();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 621
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            iconst_1
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public double getAltitude();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 631
            aload 0 /* this */
            getfield android.location.Location.mAltitude:D
            dreturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setAltitude(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // double altitude
         0: .line 640
            aload 0 /* this */
            dload 1 /* altitude */
            putfield android.location.Location.mAltitude:D
         1: .line 641
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            iconst_1
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 642
            return
        end local 1 // double altitude
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/location/Location;
            0    3     1  altitude  D
    MethodParameters:
          Name  Flags
      altitude  

  public void removeAltitude();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 654
            aload 0 /* this */
            dconst_0
            putfield android.location.Location.mAltitude:D
         1: .line 655
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -2
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 656
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasSpeed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 662
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getSpeed();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 671
            aload 0 /* this */
            getfield android.location.Location.mSpeed:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setSpeed(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float speed
         0: .line 680
            aload 0 /* this */
            fload 1 /* speed */
            putfield android.location.Location.mSpeed:F
         1: .line 681
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            iconst_2
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 682
            return
        end local 1 // float speed
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/location/Location;
            0    3     1  speed  F
    MethodParameters:
       Name  Flags
      speed  

  public void removeSpeed();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 694
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeed:F
         1: .line 695
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -3
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 696
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasBearing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 702
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            iconst_4
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getBearing();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 715
            aload 0 /* this */
            getfield android.location.Location.mBearing:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setBearing(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float bearing
         0: .line 727
            goto 2
         1: .line 728
      StackMap locals:
      StackMap stack:
            fload 1 /* bearing */
            ldc 360.0
            fadd
            fstore 1 /* bearing */
         2: .line 727
      StackMap locals:
      StackMap stack:
            fload 1 /* bearing */
            fconst_0
            fcmpg
            iflt 1
         3: .line 730
            goto 5
         4: .line 731
      StackMap locals:
      StackMap stack:
            fload 1 /* bearing */
            ldc 360.0
            fsub
            fstore 1 /* bearing */
         5: .line 730
      StackMap locals:
      StackMap stack:
            fload 1 /* bearing */
            ldc 360.0
            fcmpl
            ifge 4
         6: .line 733
            aload 0 /* this */
            fload 1 /* bearing */
            putfield android.location.Location.mBearing:F
         7: .line 734
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            iconst_4
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         8: .line 735
            return
        end local 1 // float bearing
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/location/Location;
            0    9     1  bearing  F
    MethodParameters:
         Name  Flags
      bearing  

  public void removeBearing();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 747
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearing:F
         1: .line 748
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -5
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 749
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasAccuracy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 757
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            bipush 8
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getAccuracy();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 777
            aload 0 /* this */
            getfield android.location.Location.mHorizontalAccuracyMeters:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setAccuracy(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float horizontalAccuracy
         0: .line 788
            aload 0 /* this */
            fload 1 /* horizontalAccuracy */
            putfield android.location.Location.mHorizontalAccuracyMeters:F
         1: .line 789
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush 8
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 790
            return
        end local 1 // float horizontalAccuracy
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Landroid/location/Location;
            0    3     1  horizontalAccuracy  F
    MethodParameters:
                    Name  Flags
      horizontalAccuracy  

  public void removeAccuracy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 802
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mHorizontalAccuracyMeters:F
         1: .line 803
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -9
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 804
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasVerticalAccuracy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 810
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            bipush 32
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getVerticalAccuracyMeters();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 830
            aload 0 /* this */
            getfield android.location.Location.mVerticalAccuracyMeters:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setVerticalAccuracyMeters(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float verticalAccuracyMeters
         0: .line 841
            aload 0 /* this */
            fload 1 /* verticalAccuracyMeters */
            putfield android.location.Location.mVerticalAccuracyMeters:F
         1: .line 842
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush 32
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 843
            return
        end local 1 // float verticalAccuracyMeters
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Landroid/location/Location;
            0    3     1  verticalAccuracyMeters  F
    MethodParameters:
                        Name  Flags
      verticalAccuracyMeters  

  public void removeVerticalAccuracy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 856
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mVerticalAccuracyMeters:F
         1: .line 857
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -33
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 858
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasSpeedAccuracy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 864
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            bipush 64
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getSpeedAccuracyMetersPerSecond();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 888
            aload 0 /* this */
            getfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setSpeedAccuracyMetersPerSecond(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float speedAccuracyMeterPerSecond
         0: .line 899
            aload 0 /* this */
            fload 1 /* speedAccuracyMeterPerSecond */
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
         1: .line 900
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush 64
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 901
            return
        end local 1 // float speedAccuracyMeterPerSecond
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    3     0                         this  Landroid/location/Location;
            0    3     1  speedAccuracyMeterPerSecond  F
    MethodParameters:
                             Name  Flags
      speedAccuracyMeterPerSecond  

  public void removeSpeedAccuracy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 914
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
         1: .line 915
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -65
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 916
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean hasBearingAccuracy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 922
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            sipush 128
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public float getBearingAccuracyDegrees();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 942
            aload 0 /* this */
            getfield android.location.Location.mBearingAccuracyDegrees:F
            freturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setBearingAccuracyDegrees(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // float bearingAccuracyDegrees
         0: .line 953
            aload 0 /* this */
            fload 1 /* bearingAccuracyDegrees */
            putfield android.location.Location.mBearingAccuracyDegrees:F
         1: .line 954
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            sipush 128
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 955
            return
        end local 1 // float bearingAccuracyDegrees
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Landroid/location/Location;
            0    3     1  bearingAccuracyDegrees  F
    MethodParameters:
                        Name  Flags
      bearingAccuracyDegrees  

  public void removeBearingAccuracy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 968
            aload 0 /* this */
            fconst_0
            putfield android.location.Location.mBearingAccuracyDegrees:F
         1: .line 969
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            sipush -129
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 970
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean isComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 986
            aload 0 /* this */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 987
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasAccuracy:()Z
            ifne 2
            iconst_0
            ireturn
         2: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mTime:J
            lconst_0
            lcmp
            ifne 3
            iconst_0
            ireturn
         3: .line 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            lconst_0
            lcmp
            ifne 4
            iconst_0
            ireturn
         4: .line 990
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()

  public void makeComplete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 1004
            aload 0 /* this */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            ifnonnull 1
            aload 0 /* this */
            ldc "?"
            putfield android.location.Location.mProvider:Ljava/lang/String;
         1: .line 1005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasAccuracy:()Z
            ifne 4
         2: .line 1006
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush 8
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         3: .line 1007
            aload 0 /* this */
            ldc 100.0
            putfield android.location.Location.mHorizontalAccuracyMeters:F
         4: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mTime:J
            lconst_0
            lcmp
            ifne 5
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield android.location.Location.mTime:J
         5: .line 1010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            lconst_0
            lcmp
            ifne 6
            aload 0 /* this */
            invokestatic android.os.SystemClock.elapsedRealtimeNanos:()J
            putfield android.location.Location.mElapsedRealtimeNanos:J
         6: .line 1011
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/location/Location;
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()

  public android.os.Bundle getExtras();
    descriptor: ()Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 1028
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            areturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void setExtras(android.os.Bundle);
    descriptor: (Landroid/os/Bundle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // android.os.Bundle extras
         0: .line 1036
            aload 0 /* this */
            aload 1 /* extras */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: android.location.Location
         1: new android.os.Bundle
            dup
            aload 1 /* extras */
            invokespecial android.os.Bundle.<init>:(Landroid/os/Bundle;)V
      StackMap locals: android.location.Location android.os.Bundle
      StackMap stack: android.location.Location android.os.Bundle
         2: putfield android.location.Location.mExtras:Landroid/os/Bundle;
         3: .line 1037
            return
        end local 1 // android.os.Bundle extras
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/location/Location;
            0    4     1  extras  Landroid/os/Bundle;
    MethodParameters:
        Name  Flags
      extras  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // android.location.Location this
         0: .line 1041
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* s */
        start local 1 // java.lang.StringBuilder s
         1: .line 1042
            aload 1 /* s */
            ldc "Location["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1043
            aload 1 /* s */
            aload 0 /* this */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1044
            aload 1 /* s */
            ldc " %.6f,%.6f"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            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
         4: .line 1045
            aload 0 /* this */
            invokevirtual android.location.Location.hasAccuracy:()Z
            ifeq 5
            aload 1 /* s */
            ldc " hAcc=%.0f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.location.Location.mHorizontalAccuracyMeters:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            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
            goto 6
         5: .line 1046
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* s */
            ldc " hAcc=???"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mTime:J
            lconst_0
            lcmp
            ifne 8
         7: .line 1048
            aload 1 /* s */
            ldc " t=?!?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1050
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            lconst_0
            lcmp
            ifne 11
         9: .line 1051
            aload 1 /* s */
            ldc " et=?!?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1052
            goto 13
        11: .line 1053
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc " et="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1054
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            ldc 1000000
            ldiv
            aload 1 /* s */
            invokestatic android.util.TimeUtils.formatDuration:(JLjava/lang/StringBuilder;)V
        13: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasAltitude:()Z
            ifeq 14
            aload 1 /* s */
            ldc " alt="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.location.Location.mAltitude:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            pop
        14: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasSpeed:()Z
            ifeq 15
            aload 1 /* s */
            ldc " vel="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.location.Location.mSpeed:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
        15: .line 1058
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasBearing:()Z
            ifeq 16
            aload 1 /* s */
            ldc " bear="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.location.Location.mBearing:F
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
        16: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasVerticalAccuracy:()Z
            ifeq 17
            aload 1 /* s */
            ldc " vAcc=%.0f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.location.Location.mVerticalAccuracyMeters:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            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
            goto 18
        17: .line 1060
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc " vAcc=???"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasSpeedAccuracy:()Z
            ifeq 19
            aload 1 /* s */
            ldc " sAcc=%.0f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            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
            goto 20
        19: .line 1062
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc " sAcc=???"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.hasBearingAccuracy:()Z
            ifeq 21
            aload 1 /* s */
            ldc " bAcc=%.0f"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.location.Location.mBearingAccuracyDegrees:F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            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
            goto 22
        21: .line 1064
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc " bAcc=???"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 1065
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.location.Location.isFromMockProvider:()Z
            ifeq 23
            aload 1 /* s */
            ldc " mock"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            ifnull 25
        24: .line 1068
            aload 1 /* s */
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 1070
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1071
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder s
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Landroid/location/Location;
            1   27     1     s  Ljava/lang/StringBuilder;

  public void dump(android.util.Printer, java.lang.String);
    descriptor: (Landroid/util/Printer;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.location.Location this
        start local 1 // android.util.Printer pw
        start local 2 // java.lang.String prefix
         0: .line 1075
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual android.location.Location.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
         1: .line 1076
            return
        end local 2 // java.lang.String prefix
        end local 1 // android.util.Printer pw
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/location/Location;
            0    2     1      pw  Landroid/util/Printer;
            0    2     2  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      pw      
      prefix  

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 1108
            iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/location/Location;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.location.Location this
        start local 1 // android.os.Parcel parcel
        start local 2 // int flags
         0: .line 1113
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mProvider:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         1: .line 1114
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mTime:J
            invokevirtual android.os.Parcel.writeLong:(J)V
         2: .line 1115
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mElapsedRealtimeNanos:J
            invokevirtual android.os.Parcel.writeLong:(J)V
         3: .line 1116
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            invokevirtual android.os.Parcel.writeByte:(B)V
         4: .line 1117
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mLatitude:D
            invokevirtual android.os.Parcel.writeDouble:(D)V
         5: .line 1118
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mLongitude:D
            invokevirtual android.os.Parcel.writeDouble:(D)V
         6: .line 1119
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mAltitude:D
            invokevirtual android.os.Parcel.writeDouble:(D)V
         7: .line 1120
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mSpeed:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         8: .line 1121
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mBearing:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
         9: .line 1122
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mHorizontalAccuracyMeters:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
        10: .line 1123
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mVerticalAccuracyMeters:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
        11: .line 1124
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mSpeedAccuracyMetersPerSecond:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
        12: .line 1125
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mBearingAccuracyDegrees:F
            invokevirtual android.os.Parcel.writeFloat:(F)V
        13: .line 1126
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            invokevirtual android.os.Parcel.writeBundle:(Landroid/os/Bundle;)V
        14: .line 1127
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel parcel
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Landroid/location/Location;
            0   15     1  parcel  Landroid/os/Parcel;
            0   15     2   flags  I
    MethodParameters:
        Name  Flags
      parcel  
      flags   

  public android.location.Location getExtraLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/location/Location;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.location.Location this
        start local 1 // java.lang.String key
         0: .line 1138
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            ifnull 4
         1: .line 1139
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            aload 1 /* key */
            invokevirtual android.os.Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
            astore 2 /* value */
        start local 2 // android.os.Parcelable value
         2: .line 1140
            aload 2 /* value */
            instanceof android.location.Location
            ifeq 4
         3: .line 1141
            aload 2 /* value */
            checkcast android.location.Location
            areturn
        end local 2 // android.os.Parcelable value
         4: .line 1144
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/location/Location;
            0    5     1    key  Ljava/lang/String;
            2    4     2  value  Landroid/os/Parcelable;
    MethodParameters:
      Name  Flags
      key   

  public void setExtraLocation(java.lang.String, android.location.Location);
    descriptor: (Ljava/lang/String;Landroid/location/Location;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.location.Location this
        start local 1 // java.lang.String key
        start local 2 // android.location.Location value
         0: .line 1155
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            ifnonnull 2
         1: .line 1156
            aload 0 /* this */
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            putfield android.location.Location.mExtras:Landroid/os/Bundle;
         2: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.location.Location.mExtras:Landroid/os/Bundle;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual android.os.Bundle.putParcelable:(Ljava/lang/String;Landroid/os/Parcelable;)V
         3: .line 1159
            return
        end local 2 // android.location.Location value
        end local 1 // java.lang.String key
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/location/Location;
            0    4     1    key  Ljava/lang/String;
            0    4     2  value  Landroid/location/Location;
    MethodParameters:
       Name  Flags
      key    
      value  

  public boolean isFromMockProvider();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.location.Location this
         0: .line 1167
            aload 0 /* this */
            getfield android.location.Location.mFieldsMask:B
            bipush 16
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/location/Location;

  public void setIsFromMockProvider(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.location.Location this
        start local 1 // boolean isFromMockProvider
         0: .line 1178
            iload 1 /* isFromMockProvider */
            ifeq 3
         1: .line 1179
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush 16
            ior
            i2b
            putfield android.location.Location.mFieldsMask:B
         2: .line 1180
            goto 4
         3: .line 1181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield android.location.Location.mFieldsMask:B
            bipush -17
            iand
            i2b
            putfield android.location.Location.mFieldsMask:B
         4: .line 1183
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isFromMockProvider
        end local 0 // android.location.Location this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Landroid/location/Location;
            0    5     1  isFromMockProvider  Z
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()
    MethodParameters:
                    Name  Flags
      isFromMockProvider  
}
SourceFile: "Location.java"
NestMembers:
  android.location.Location$1  android.location.Location$2  android.location.Location$BearingDistanceCache
InnerClasses:
  android.location.Location$1
  android.location.Location$2
  private BearingDistanceCache = android.location.Location$BearingDistanceCache of android.location.Location
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable