summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Roshan Pius <rpius@google.com> 2023-03-27 11:36:45 -0700
committer Roshan Pius <rpius@google.com> 2023-03-27 11:40:10 -0700
commit96cfda772b126e7ba55ff07d2f98bc91ac6cea77 (patch)
tree5a35b4136d7aa0019cdc4b7ebbf25a10985a350e
parent52339c917ccd4ed440b044ed02eada57c6f6b154 (diff)
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
-rw-r--r--packages/SettingsProvider/res/values/defaults.xml4
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java27
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 @@
<bool name="def_airplane_mode_on">false</bool>
<bool name="def_theater_mode_on">false</bool>
<!-- Comma-separated list of bluetooth, wifi, and cell. -->
- <string name="def_airplane_mode_radios" translatable="false">cell,bluetooth,wifi,nfc,wimax</string>
- <string name="airplane_mode_toggleable_radios" translatable="false">bluetooth,wifi,nfc</string>
+ <string name="def_airplane_mode_radios" translatable="false">cell,bluetooth,uwb,wifi,wimax</string>
+ <string name="airplane_mode_toggleable_radios" translatable="false">bluetooth,wifi</string>
<string name="def_bluetooth_disabled_profiles" translatable="false">0</string>
<bool name="def_auto_time">true</bool>
<bool name="def_auto_time_zone">true</bool>
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) {