Additional API change after feedback

Bug: 168624248
Test: manual
Change-Id: I61a85b84af20f339d68541f45ad53fe09e8d176c
diff --git a/api/current.txt b/api/current.txt
index ab25fef..df09e5f 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -23998,11 +23998,11 @@
 
   public final class LocationRequest implements android.os.Parcelable {
     method public int describeContents();
-    method public long getDurationMillis();
-    method public long getIntervalMillis();
-    method public int getMaxUpdates();
-    method public float getMinUpdateDistanceMeters();
-    method public long getMinUpdateIntervalMillis();
+    method @IntRange(from=1) public long getDurationMillis();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxUpdates();
+    method @FloatRange(from=0, to=java.lang.Float.MAX_VALUE) public float getMinUpdateDistanceMeters();
+    method @IntRange(from=0) public long getMinUpdateIntervalMillis();
     method public void writeToParcel(@NonNull android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
     field public static final long PASSIVE_INTERVAL = 9223372036854775807L; // 0x7fffffffffffffffL
diff --git a/location/java/android/location/LocationRequest.java b/location/java/android/location/LocationRequest.java
index c53d08b..911b9ab 100644
--- a/location/java/android/location/LocationRequest.java
+++ b/location/java/android/location/LocationRequest.java
@@ -47,6 +47,8 @@
     /**
      * Represents a passive only request. Such a request will not trigger any active locations or
      * power usage itself, but may receive locations generated in response to other requests.
+     *
+     * @see LocationRequest#getIntervalMillis()
      */
     public static final long PASSIVE_INTERVAL = Long.MAX_VALUE;
 
@@ -345,7 +347,7 @@
      *
      * @return the desired interval of location updates
      */
-    public long getIntervalMillis() {
+    public @IntRange(from = 0) long getIntervalMillis() {
         return mInterval;
     }
 
@@ -419,7 +421,7 @@
      *
      * @return the duration for which location will be provided
      */
-    public long getDurationMillis() {
+    public @IntRange(from = 1) long getDurationMillis() {
         return mDurationMillis;
     }
 
@@ -467,7 +469,7 @@
      * automatically removed. A max updates value of <code>Integer.MAX_VALUE</code> represents an
      * unlimited number of updates.
      */
-    public int getMaxUpdates() {
+    public @IntRange(from = 1, to = Integer.MAX_VALUE) int getMaxUpdates() {
         return mMaxUpdates;
     }
 
@@ -482,7 +484,7 @@
      *
      * @return the minimum update interval
      */
-    public long getMinUpdateIntervalMillis() {
+    public @IntRange(from = 0) long getMinUpdateIntervalMillis() {
         if (mMinUpdateIntervalMillis == IMPLICIT_MIN_UPDATE_INTERVAL) {
             return mInterval;
         } else {
@@ -522,7 +524,7 @@
      *
      * @return the minimum distance between location updates
      */
-    public float getMinUpdateDistanceMeters() {
+    public @FloatRange(from = 0, to = Float.MAX_VALUE) float getMinUpdateDistanceMeters() {
         return mMinUpdateDistanceMeters;
     }
 
@@ -970,7 +972,7 @@
 
         /**
          * Clears an explicitly set minimum update interval and reverts to an implicit minimum
-         * update interval which is the same as the interval.
+         * update interval (ie, the minimum update interval is same value as the interval).
          */
         public @NonNull Builder clearMinUpdateIntervalMillis() {
             mMinUpdateIntervalMillis = IMPLICIT_MIN_UPDATE_INTERVAL;
diff --git a/non-updatable-api/current.txt b/non-updatable-api/current.txt
index 8ec947e..bf2bd5d 100644
--- a/non-updatable-api/current.txt
+++ b/non-updatable-api/current.txt
@@ -23980,11 +23980,11 @@
 
   public final class LocationRequest implements android.os.Parcelable {
     method public int describeContents();
-    method public long getDurationMillis();
-    method public long getIntervalMillis();
-    method public int getMaxUpdates();
-    method public float getMinUpdateDistanceMeters();
-    method public long getMinUpdateIntervalMillis();
+    method @IntRange(from=1) public long getDurationMillis();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxUpdates();
+    method @FloatRange(from=0, to=java.lang.Float.MAX_VALUE) public float getMinUpdateDistanceMeters();
+    method @IntRange(from=0) public long getMinUpdateIntervalMillis();
     method public void writeToParcel(@NonNull android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
     field public static final long PASSIVE_INTERVAL = 9223372036854775807L; // 0x7fffffffffffffffL