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

Commit 9eff8f7a authored by Lin Yuan's avatar Lin Yuan
Browse files

RESTRICT AUTOMERGE Fix: policy enforcement for location wifi scanning

Make DISALLOW_CONFIG_LOCATION effectively disallow wifi scanning and
bluetooth scanning settings for location services.

screenshots: https://screenshot.googleplex.com/49nR5HQ8g5bgNVq

Bug: 228315522
Bug: 228315529
Test: on device
Change-Id: I92b22567011c32f0874bcecb3898ef678bb549a1
parent 06139d3f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -18,13 +18,13 @@
        android:title="@string/location_scanning_screen_title"
        android:key="scanning_screen">

        <SwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:title="@string/location_scanning_wifi_always_scanning_title"
            android:summary="@string/location_scanning_wifi_always_scanning_description"
            android:defaultValue="true"
            android:key="wifi_always_scanning" />

        <SwitchPreference
        <com.android.settingslib.RestrictedSwitchPreference
            android:title="@string/location_scanning_bluetooth_always_scanning_title"
            android:summary="@string/location_scanning_bluetooth_always_scanning_description"
            android:defaultValue="true"
+11 −0
Original line number Diff line number Diff line
@@ -14,12 +14,17 @@
package com.android.settings.location;

import android.content.Context;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;

import androidx.preference.Preference;
import androidx.preference.SwitchPreference;

import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;

public class BluetoothScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class BluetoothScanningPreferenceController extends AbstractPreferenceCon
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
        final RestrictedLockUtils.EnforcedAdmin admin =
            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
                mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
        if (admin != null) {
          ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
        }
    }

    @Override
+11 −0
Original line number Diff line number Diff line
@@ -14,12 +14,17 @@
package com.android.settings.location;

import android.content.Context;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;

import androidx.preference.Preference;
import androidx.preference.SwitchPreference;

import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;

public class WifiScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@ public class WifiScanningPreferenceController extends AbstractPreferenceControll
        ((SwitchPreference) preference).setChecked(
                Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
        final RestrictedLockUtils.EnforcedAdmin admin =
            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
                mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
        if (admin != null) {
          ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
        }
    }

    @Override