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: http://shortn/_EUOdqrOcnS, http://shortn/_j320QDm1Zo
Bug: 228315522
Bug: 228315529
Test: atest SettingsRoboTests, on device
Change-Id: I78291579a79e915a27ebdd051b3caf3fc04efc41
(cherry picked from commit fcae147f58
)
This commit is contained in:
@@ -23,13 +23,13 @@
|
|||||||
android:layout="@layout/preference_category_no_label"
|
android:layout="@layout/preference_category_no_label"
|
||||||
settings:controller="com.android.settings.location.LocationInjectedServicesPreferenceController"/>
|
settings:controller="com.android.settings.location.LocationInjectedServicesPreferenceController"/>
|
||||||
|
|
||||||
<Preference
|
<com.android.settingslib.RestrictedPreference
|
||||||
android:fragment="com.android.settings.location.WifiScanningFragment"
|
android:fragment="com.android.settings.location.WifiScanningFragment"
|
||||||
android:key="location_services_wifi_scanning"
|
android:key="location_services_wifi_scanning"
|
||||||
android:title="@string/location_scanning_wifi_always_scanning_title"
|
android:title="@string/location_scanning_wifi_always_scanning_title"
|
||||||
settings:controller="com.android.settings.location.LocationServicesWifiScanningPreferenceController"/>
|
settings:controller="com.android.settings.location.LocationServicesWifiScanningPreferenceController"/>
|
||||||
|
|
||||||
<Preference
|
<com.android.settingslib.RestrictedPreference
|
||||||
android:fragment="com.android.settings.location.BluetoothScanningFragment"
|
android:fragment="com.android.settings.location.BluetoothScanningFragment"
|
||||||
android:key="location_services_bluetooth_scanning"
|
android:key="location_services_bluetooth_scanning"
|
||||||
android:title="@string/location_scanning_bluetooth_always_scanning_title"
|
android:title="@string/location_scanning_bluetooth_always_scanning_title"
|
||||||
|
@@ -16,10 +16,14 @@
|
|||||||
package com.android.settings.location;
|
package com.android.settings.location;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference controller for Bluetooth scanning in Location Services.
|
* Preference controller for Bluetooth scanning in Location Services.
|
||||||
@@ -31,6 +35,13 @@ public class LocationServicesBluetoothScanningPreferenceController extends
|
|||||||
super(context, key);
|
super(context, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateState(Preference preference) {
|
||||||
|
((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
|
||||||
|
UserManager.DISALLOW_CONFIG_LOCATION);
|
||||||
|
refreshSummary(preference);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
|
final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
|
@@ -17,9 +17,13 @@ package com.android.settings.location;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
|
import android.os.UserManager;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference controller for Wi-Fi scanning in Location Services.
|
* Preference controller for Wi-Fi scanning in Location Services.
|
||||||
@@ -33,6 +37,13 @@ public class LocationServicesWifiScanningPreferenceController extends BasePrefer
|
|||||||
mWifiManager = context.getSystemService(WifiManager.class);
|
mWifiManager = context.getSystemService(WifiManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateState(Preference preference) {
|
||||||
|
((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
|
||||||
|
UserManager.DISALLOW_CONFIG_LOCATION);
|
||||||
|
refreshSummary(preference);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
|
final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
|
||||||
|
Reference in New Issue
Block a user