From e6032be8516fc0edfc5824093706349c6945e090 Mon Sep 17 00:00:00 2001 From: Lifu Tang Date: Tue, 23 Jan 2018 21:12:14 -0800 Subject: [PATCH] Store location changer into Settings.Secure Bug: 68779883 Test: Manual Change-Id: I6ec69d6c9f418a169b8bee71969716e8a44a14a5 --- src/com/android/settings/location/LocationEnabler.java | 6 ++++-- .../android/settings/location/LocationEnablerTest.java | 10 ++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/location/LocationEnabler.java b/src/com/android/settings/location/LocationEnabler.java index 28ee2138abb..30ecf2e5a00 100644 --- a/src/com/android/settings/location/LocationEnabler.java +++ b/src/com/android/settings/location/LocationEnabler.java @@ -123,7 +123,8 @@ public class LocationEnabler implements LifecycleObserver, OnResume, OnPause { } return; } - updateLocationEnabled(mContext, enabled, UserHandle.myUserId()); + updateLocationEnabled(mContext, enabled, UserHandle.myUserId(), + Settings.Secure.LOCATION_CHANGER_SYSTEM_SETTINGS); refreshLocationMode(); } @@ -142,7 +143,8 @@ public class LocationEnabler implements LifecycleObserver, OnResume, OnPause { return; } - updateLocationMode(mContext, currentMode, mode, ActivityManager.getCurrentUser()); + updateLocationMode(mContext, currentMode, mode, ActivityManager.getCurrentUser(), + Settings.Secure.LOCATION_CHANGER_SYSTEM_SETTINGS); refreshLocationMode(); } diff --git a/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java b/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java index 8cc92cdf43f..1bae729063b 100644 --- a/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java +++ b/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java @@ -179,7 +179,7 @@ public class LocationEnablerTest { } @Test - public void setLocationMode_notRestricted_shouldBroadcastUpdate() { + public void setLocationMode_notRestricted_shouldBroadcastUpdateAndSetChanger() { when(mUserManager.hasUserRestriction(anyString())).thenReturn(false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_BATTERY_SAVING); @@ -189,6 +189,9 @@ public class LocationEnablerTest { argThat(actionMatches(LocationManager.MODE_CHANGING_ACTION)), eq(UserHandle.of(ActivityManager.getCurrentUser())), eq(WRITE_SECURE_SETTINGS)); + assertThat(Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.LOCATION_CHANGER, Settings.Secure.LOCATION_CHANGER_UNKNOWN)) + .isEqualTo(Settings.Secure.LOCATION_CHANGER_SYSTEM_SETTINGS); } @Test @@ -202,7 +205,7 @@ public class LocationEnablerTest { } @Test - public void setLocationEnabled_notRestricted_shouldBroadcastUpdate() { + public void setLocationEnabled_notRestricted_shouldBroadcastUpdateAndSetChanger() { when(mUserManager.hasUserRestriction(anyString())).thenReturn(false); Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF); @@ -212,6 +215,9 @@ public class LocationEnablerTest { argThat(actionMatches(LocationManager.MODE_CHANGING_ACTION)), eq(UserHandle.of(ActivityManager.getCurrentUser())), eq(WRITE_SECURE_SETTINGS)); + assertThat(Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.LOCATION_CHANGER, Settings.Secure.LOCATION_CHANGER_UNKNOWN)) + .isEqualTo(Settings.Secure.LOCATION_CHANGER_SYSTEM_SETTINGS); } @Test