diff options
-rwxr-xr-x | api/system-current.txt | 1 | ||||
-rw-r--r-- | api/test-current.txt | 1 | ||||
-rw-r--r-- | location/java/android/location/Location.java | 18 | ||||
-rw-r--r-- | services/core/java/com/android/server/LocationManagerService.java | 7 | ||||
-rw-r--r-- | services/core/java/com/android/server/location/LocationFudger.java | 15 |
5 files changed, 17 insertions, 25 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 83889d40d514..86809779e069 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4104,7 +4104,6 @@ package android.location { public class Location implements android.os.Parcelable { method public boolean isComplete(); method public void makeComplete(); - method public void setExtraLocation(@Nullable String, @Nullable android.location.Location); method public void setIsFromMockProvider(boolean); field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation"; } diff --git a/api/test-current.txt b/api/test-current.txt index 4fd33b837092..e604806278a9 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1271,7 +1271,6 @@ package android.location { public class Location implements android.os.Parcelable { method public void makeComplete(); - method public void setExtraLocation(@Nullable String, @Nullable android.location.Location); field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation"; } diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java index 7a12cee899d8..eb76c29301c6 100644 --- a/location/java/android/location/Location.java +++ b/location/java/android/location/Location.java @@ -16,7 +16,6 @@ package android.location; -import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; @@ -1214,23 +1213,6 @@ public class Location implements Parcelable { } /** - * Attaches an extra {@link Location} to this Location. This is useful for location providers - * to set the {@link #EXTRA_NO_GPS_LOCATION} extra to provide coarse locations for clients. - * - * @param key the key associated with the Location extra - * @param value the Location to attach - * @hide - */ - @TestApi - @SystemApi - public void setExtraLocation(@Nullable String key, @Nullable Location value) { - if (mExtras == null) { - mExtras = new Bundle(); - } - mExtras.putParcelable(key, value); - } - - /** * Returns true if the Location came from a mock provider. * * @return true if this Location came from a mock provider, false otherwise diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java index e342dd7977fb..50843b0999a1 100644 --- a/services/core/java/com/android/server/LocationManagerService.java +++ b/services/core/java/com/android/server/LocationManagerService.java @@ -2644,7 +2644,12 @@ public class LocationManagerService extends ILocationManager.Stub { if (noGPSLocation == null && lastNoGPSLocation != null) { // New location has no no-GPS location: adopt last no-GPS location. This is set // directly into location because we do not want to notify COARSE clients. - location.setExtraLocation(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation); + Bundle extras = location.getExtras(); + if (extras == null) { + extras = new Bundle(); + } + extras.putParcelable(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation); + location.setExtras(extras); } } lastLocation.set(location); diff --git a/services/core/java/com/android/server/location/LocationFudger.java b/services/core/java/com/android/server/location/LocationFudger.java index ae71fe36c31c..04c7714f07f7 100644 --- a/services/core/java/com/android/server/location/LocationFudger.java +++ b/services/core/java/com/android/server/location/LocationFudger.java @@ -16,17 +16,19 @@ package com.android.server.location; -import java.io.FileDescriptor; -import java.io.PrintWriter; -import java.security.SecureRandom; import android.content.Context; import android.database.ContentObserver; import android.location.Location; +import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; import android.provider.Settings; import android.util.Log; +import java.io.FileDescriptor; +import java.io.PrintWriter; +import java.security.SecureRandom; + /** * Contains the logic to obfuscate (fudge) locations for coarse applications. @@ -177,7 +179,12 @@ public class LocationFudger { private Location addCoarseLocationExtraLocked(Location location) { Location coarse = createCoarseLocked(location); - location.setExtraLocation(Location.EXTRA_COARSE_LOCATION, coarse); + Bundle extras = location.getExtras(); + if (extras == null) { + extras = new Bundle(); + } + extras.putParcelable(Location.EXTRA_COARSE_LOCATION, coarse); + location.setExtras(extras); return coarse; } |