summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-02-01 09:37:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-01 09:37:01 +0000
commit98bfaaf496cff9067d381281622fd15562467bf3 (patch)
treefb7bbecb5824f7cb2e0b6f59352ad92264089416
parent158ddeda0a2aa4ea09c441f2b849f7d2e3ac8ae0 (diff)
parent56a2a445372e47cccdbf35249142adfaa44af6cb (diff)
Merge "Remove setLocationExtra per API feedback"
-rwxr-xr-xapi/system-current.txt1
-rw-r--r--api/test-current.txt1
-rw-r--r--location/java/android/location/Location.java18
-rw-r--r--services/core/java/com/android/server/LocationManagerService.java7
-rw-r--r--services/core/java/com/android/server/location/LocationFudger.java15
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;
}