Modifies getMslAltitudeMeters and getMslAltitudeAccuracyMeters in android.location.Location to no longer throw IllegalStateExceptions when corresponding values are not set.
Bug: 278389778
Test: CTS tests already compatible.
Change-Id: I5fcdb8238eb6d77a7b2c60dc8544f5be1bcccce2
diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java
index 0eb657a..fd3e5a2 100644
--- a/location/java/android/location/Location.java
+++ b/location/java/android/location/Location.java
@@ -709,11 +709,9 @@
/**
* Returns the Mean Sea Level altitude of this location in meters.
*
- * @throws IllegalStateException if {@link #hasMslAltitude()} is false.
+ * <p>This is only valid if {@link #hasMslAltitude()} is true.
*/
public @FloatRange double getMslAltitudeMeters() {
- Preconditions.checkState(hasMslAltitude(),
- "The Mean Sea Level altitude of this location is not set.");
return mMslAltitudeMeters;
}
@@ -744,11 +742,9 @@
* percentile confidence level. This means that there is 68% chance that the true Mean Sea Level
* altitude of this location falls within {@link #getMslAltitudeMeters()} +/- this uncertainty.
*
- * @throws IllegalStateException if {@link #hasMslAltitudeAccuracy()} is false.
+ * <p>This is only valid if {@link #hasMslAltitudeAccuracy()} is true.
*/
public @FloatRange(from = 0.0) float getMslAltitudeAccuracyMeters() {
- Preconditions.checkState(hasMslAltitudeAccuracy(),
- "The Mean Sea Level altitude accuracy of this location is not set.");
return mMslAltitudeAccuracyMeters;
}