From 96cfda772b126e7ba55ff07d2f98bc91ac6cea77 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 27 Mar 2023 11:36:45 -0700 Subject: settings: Change default setting for radios affected by apm mode * NFC radio is no longer affected by APM mode (this cleanup was missed when the behavior was changed in b/128384879). * UWB radio turns off whenever APM mode is enabled (not toggleable in APM mode in compliance with regulatory requirements). Bug: 275381319 Test: Flashed device and verified that the settings key values have changed. Change-Id: I878b626f4afba36ef4624fe6615c50832cca44bc --- packages/SettingsProvider/res/values/defaults.xml | 4 ++-- .../providers/settings/SettingsProvider.java | 27 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index b93cc752d783..6312913d1403 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -23,8 +23,8 @@ false false - cell,bluetooth,wifi,nfc,wimax - bluetooth,wifi,nfc + cell,bluetooth,uwb,wifi,wimax + bluetooth,wifi 0 true true diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 721b3c49b17c..e736253dc90f 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -3739,7 +3739,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 215; + private static final int SETTINGS_VERSION = 216; private final int mUserId; @@ -5737,6 +5737,31 @@ public class SettingsProvider extends ContentProvider { currentVersion = 215; } + if (currentVersion == 215) { + // Version 215: default |def_airplane_mode_radios| and + // |airplane_mode_toggleable_radios| changed to remove NFC & add UWB. + final SettingsState globalSettings = getGlobalSettingsLocked(); + final String oldApmRadiosValue = globalSettings.getSettingLocked( + Settings.Global.AIRPLANE_MODE_RADIOS).getValue(); + if (TextUtils.equals("cell,bluetooth,wifi,nfc,wimax", oldApmRadiosValue)) { + globalSettings.insertSettingOverrideableByRestoreLocked( + Settings.Global.AIRPLANE_MODE_RADIOS, + getContext().getResources().getString( + R.string.def_airplane_mode_radios), + null, true, SettingsState.SYSTEM_PACKAGE_NAME); + } + final String oldApmToggleableRadiosValue = globalSettings.getSettingLocked( + Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS).getValue(); + if (TextUtils.equals("bluetooth,wifi,nfc", oldApmToggleableRadiosValue)) { + globalSettings.insertSettingOverrideableByRestoreLocked( + Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS, + getContext().getResources().getString( + R.string.airplane_mode_toggleable_radios), + null, true, SettingsState.SYSTEM_PACKAGE_NAME); + } + currentVersion = 216; + } + // vXXX: Add new settings above this point. if (currentVersion != newVersion) { -- cgit v1.2.3-59-g8ed1b