summaryrefslogtreecommitdiff
path: root/location
diff options
context:
space:
mode:
authorTim Murray <timmurray@google.com>2019-11-12 13:29:34 -0800
committerTim Murray <timmurray@google.com>2020-02-05 16:12:17 -0800
commit270296da8331197f49017688c2be860e7d1a920a (patch)
treedb088ceb42c187eb89c76dd4345f1f54deb8213a /location
parent334eedc54994ca212588cb3baae02c6ff58cb591 (diff)
LocationManager: move impl of setLocationEnabledForUser to server
Makes caching significantly easier. Test: boots, works, gets location Bug: 140788621 Change-Id: Ief39b3a985deea93e0e5f126863a3df383be5fd4
Diffstat (limited to 'location')
-rw-r--r--location/java/android/location/ILocationManager.aidl1
-rw-r--r--location/java/android/location/LocationManager.java12
2 files changed, 6 insertions, 7 deletions
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl
index 6a5c0ec9457a..58ecb5bda3d3 100644
--- a/location/java/android/location/ILocationManager.aidl
+++ b/location/java/android/location/ILocationManager.aidl
@@ -107,6 +107,7 @@ interface ILocationManager
boolean isProviderEnabledForUser(String provider, int userId);
boolean isLocationEnabledForUser(int userId);
+ void setLocationEnabledForUser(boolean enabled, int userId);
void addTestProvider(String name, in ProviderProperties properties, String opPackageName);
void removeTestProvider(String provider, String opPackageName);
void setTestProviderLocation(String provider, in Location loc, String opPackageName);
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 197787e5b6e6..07c5742bf43f 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -446,13 +446,11 @@ public class LocationManager {
@TestApi
@RequiresPermission(WRITE_SECURE_SETTINGS)
public void setLocationEnabledForUser(boolean enabled, @NonNull UserHandle userHandle) {
- Settings.Secure.putIntForUser(
- mContext.getContentResolver(),
- Settings.Secure.LOCATION_MODE,
- enabled
- ? Settings.Secure.LOCATION_MODE_ON
- : Settings.Secure.LOCATION_MODE_OFF,
- userHandle.getIdentifier());
+ try {
+ mService.setLocationEnabledForUser(enabled, userHandle.getIdentifier());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
/**