summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings')
-rw-r--r--src/com/android/settings/location/LocationSettings.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 815be4158..22bf42be2 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -233,9 +233,12 @@ public class LocationSettings extends LocationSettingsBase
break;
}
- boolean enabled = (mode != Settings.Secure.LOCATION_MODE_OFF) && !restricted;
+ // Restricted user can't change the location mode, so disable the master switch. But in some
+ // corner cases, the location might still be enabled. In such case the master switch should
+ // be disabled but checked.
+ boolean enabled = (mode != Settings.Secure.LOCATION_MODE_OFF);
mSwitch.setEnabled(!restricted);
- mLocationMode.setEnabled(enabled);
+ mLocationMode.setEnabled(enabled && !restricted);
if (enabled != mSwitch.isChecked()) {
// set listener to null so that that code below doesn't trigger onCheckedChanged()