Refactor Location.java

Apply API best practices, fix infinite loop in setBearing(), fix up
javadocs and rewrite some tests.

Bug: 187142700
Test: atest LocationTest + presubmits
Change-Id: I75decc7b167b90b5a22e718848259d454db7a08b
This commit is contained in:
Soonil Nagarkar
2021-08-25 16:17:22 -07:00
parent 60a7931da6
commit b6c2e496a9
4 changed files with 907 additions and 1007 deletions

View File

@@ -19927,29 +19927,32 @@ package android.location {
}
public class Location implements android.os.Parcelable {
ctor public Location(String);
ctor public Location(android.location.Location);
method public float bearingTo(android.location.Location);
method public static String convert(double, int);
method public static double convert(String);
ctor public Location(@Nullable String);
ctor public Location(@NonNull android.location.Location);
method public float bearingTo(@NonNull android.location.Location);
method @NonNull public static String convert(@FloatRange double, int);
method @FloatRange public static double convert(@NonNull String);
method public int describeContents();
method public static void distanceBetween(double, double, double, double, float[]);
method public float distanceTo(android.location.Location);
method public void dump(android.util.Printer, String);
method public float getAccuracy();
method public double getAltitude();
method public float getBearing();
method public float getBearingAccuracyDegrees();
method public long getElapsedRealtimeNanos();
method public double getElapsedRealtimeUncertaintyNanos();
method public android.os.Bundle getExtras();
method public double getLatitude();
method public double getLongitude();
method public String getProvider();
method public float getSpeed();
method public float getSpeedAccuracyMetersPerSecond();
method public long getTime();
method public float getVerticalAccuracyMeters();
method public static void distanceBetween(@FloatRange double, @FloatRange double, @FloatRange double, @FloatRange double, float[]);
method @FloatRange public float distanceTo(@NonNull android.location.Location);
method public void dump(@NonNull android.util.Printer, @Nullable String);
method @FloatRange public float getAccuracy();
method @FloatRange public double getAltitude();
method @FloatRange(from=0.0f, to=360.0f, toInclusive=false) public float getBearing();
method @FloatRange public float getBearingAccuracyDegrees();
method @IntRange public long getElapsedRealtimeAgeMillis();
method @IntRange public long getElapsedRealtimeAgeMillis(@IntRange long);
method @IntRange public long getElapsedRealtimeMillis();
method @IntRange public long getElapsedRealtimeNanos();
method @FloatRange public double getElapsedRealtimeUncertaintyNanos();
method @Nullable public android.os.Bundle getExtras();
method @FloatRange public double getLatitude();
method @FloatRange public double getLongitude();
method @Nullable public String getProvider();
method @FloatRange public float getSpeed();
method @FloatRange public float getSpeedAccuracyMetersPerSecond();
method @IntRange public long getTime();
method @FloatRange public float getVerticalAccuracyMeters();
method public boolean hasAccuracy();
method public boolean hasAltitude();
method public boolean hasBearing();
@@ -19958,30 +19961,35 @@ package android.location {
method public boolean hasSpeed();
method public boolean hasSpeedAccuracy();
method public boolean hasVerticalAccuracy();
method public boolean isComplete();
method @Deprecated public boolean isFromMockProvider();
method public boolean isMock();
method @Deprecated public void removeAccuracy();
method @Deprecated public void removeAltitude();
method @Deprecated public void removeBearing();
method @Deprecated public void removeSpeed();
method public void removeAccuracy();
method public void removeAltitude();
method public void removeBearing();
method public void removeBearingAccuracy();
method public void removeElapsedRealtimeUncertaintyNanos();
method public void removeSpeed();
method public void removeSpeedAccuracy();
method public void removeVerticalAccuracy();
method public void reset();
method public void set(android.location.Location);
method public void setAccuracy(float);
method public void setAltitude(double);
method public void setBearing(float);
method public void setBearingAccuracyDegrees(float);
method public void setElapsedRealtimeNanos(long);
method public void setElapsedRealtimeUncertaintyNanos(double);
method public void set(@NonNull android.location.Location);
method public void setAccuracy(@FloatRange float);
method public void setAltitude(@FloatRange double);
method public void setBearing(@FloatRange(fromInclusive=false, toInclusive=false) float);
method public void setBearingAccuracyDegrees(@FloatRange float);
method public void setElapsedRealtimeNanos(@IntRange long);
method public void setElapsedRealtimeUncertaintyNanos(@FloatRange double);
method public void setExtras(@Nullable android.os.Bundle);
method public void setLatitude(double);
method public void setLongitude(double);
method public void setLatitude(@FloatRange double);
method public void setLongitude(@FloatRange double);
method public void setMock(boolean);
method public void setProvider(String);
method public void setSpeed(float);
method public void setSpeedAccuracyMetersPerSecond(float);
method public void setTime(long);
method public void setVerticalAccuracyMeters(float);
method public void writeToParcel(android.os.Parcel, int);
method public void setProvider(@Nullable String);
method public void setSpeed(@FloatRange float);
method public void setSpeedAccuracyMetersPerSecond(@FloatRange float);
method public void setTime(@IntRange long);
method public void setVerticalAccuracyMeters(@FloatRange float);
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.location.Location> CREATOR;
field public static final int FORMAT_DEGREES = 0; // 0x0
field public static final int FORMAT_MINUTES = 1; // 0x1

View File

@@ -213,16 +213,6 @@ package android.hardware {
}
package android.location {
public class Location implements android.os.Parcelable {
method @Deprecated public void removeBearingAccuracy();
method @Deprecated public void removeSpeedAccuracy();
method @Deprecated public void removeVerticalAccuracy();
}
}
package android.media {
public final class AudioFormat implements android.os.Parcelable {

View File

@@ -4960,7 +4960,6 @@ package android.location {
}
public class Location implements android.os.Parcelable {
method public boolean isComplete();
method public void makeComplete();
method @Deprecated public void setIsFromMockProvider(boolean);
field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";

File diff suppressed because it is too large Load Diff