Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f7b2e56 authored by David Christie's avatar David Christie Committed by Android Git Automerger
Browse files

am 8b0c6c22: am ba957652: Merge "Fix QuickSettings to honor location setting...

am 8b0c6c22: am ba957652: Merge "Fix QuickSettings to honor location setting for restricted users (b/10553306). Generally when a user is location restricted, location will be off. But just in case location is on and locked in that state, we should respect that in the

* commit '8b0c6c22':
  Fix QuickSettings to honor location setting for restricted users (b/10553306). Generally when a user is location restricted, location will be off. But just in case location is on and locked in that state, we should respect that in the UI.
parents 0ff8c5f3 8b0c6c22
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -129,6 +129,8 @@ public class LocationController extends BroadcastReceiver {
        // setting won't be fully enabled until the user accepts the agreement.
        int mode = enabled
                ? Settings.Secure.LOCATION_MODE_HIGH_ACCURACY : Settings.Secure.LOCATION_MODE_OFF;
        // QuickSettings always runs as the owner, so specifically set the settings
        // for the current foreground user.
        return Settings.Secure
                .putIntForUser(cr, Settings.Secure.LOCATION_MODE, mode, currentUserId);
    }
@@ -137,14 +139,11 @@ public class LocationController extends BroadcastReceiver {
     * Returns true if location isn't disabled in settings.
     */
    public boolean isLocationEnabled() {
        int currentUserId = ActivityManager.getCurrentUser();
        if (isUserLocationRestricted(currentUserId)) {
            return false;
        }

        ContentResolver resolver = mContext.getContentResolver();
        // QuickSettings always runs as the owner, so specifically retrieve the settings
        // for the current foreground user.
        int mode = Settings.Secure.getIntForUser(resolver, Settings.Secure.LOCATION_MODE,
                Settings.Secure.LOCATION_MODE_OFF, currentUserId);
                Settings.Secure.LOCATION_MODE_OFF, ActivityManager.getCurrentUser());
        return mode != Settings.Secure.LOCATION_MODE_OFF;
    }