diff options
| author | 2024-02-29 09:37:37 +0000 | |
|---|---|---|
| committer | 2024-03-04 02:55:59 +0000 | |
| commit | e46b6d5c370feadcd25e2bb0fa8852d30bb2571d (patch) | |
| tree | 4e4516d301176521c0dfc32693c0650eda768c79 | |
| parent | 54a9156d9ae9b8846b02385e4eaae69c2a4c564e (diff) | |
Default keyboard vibration settings to touch feedback
Independent keyboard vibration settings is default on,
it may be confusing if the user disable haptic but get
keyboard haptics after OTA.
Set the keyboard vibration default value based on the
touch feedback settings to mitigate the confusion.
Bug: 326648023
Test: manual
Change-Id: I68be12e7394b9c2f5c19b377a3bbce9259b869c7
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index febce97031bb..1ead14ab6f4c 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -3812,7 +3812,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 225; + private static final int SETTINGS_VERSION = 226; private final int mUserId; @@ -6011,6 +6011,28 @@ public class SettingsProvider extends ContentProvider { currentVersion = 225; } + // Version 225: Set the System#KEYBOARD_VIBRATION_ENABLED based on touch + // feedback enabled state. + if (currentVersion == 225) { + final SettingsState systemSettings = getSystemSettingsLocked(userId); + final Setting touchFeedbackSettings = systemSettings + .getSettingLocked(Settings.System.HAPTIC_FEEDBACK_ENABLED); + final Setting keyboardVibrationSettings = systemSettings + .getSettingLocked(Settings.System.KEYBOARD_VIBRATION_ENABLED); + if (keyboardVibrationSettings.isNull()) { + if (!touchFeedbackSettings.isNull()) { + // Use touch feedback settings. + systemSettings.insertSettingOverrideableByRestoreLocked( + Settings.System.KEYBOARD_VIBRATION_ENABLED, + touchFeedbackSettings.getValue(), + touchFeedbackSettings.getTag(), + touchFeedbackSettings.isDefaultFromSystem(), + SettingsState.SYSTEM_PACKAGE_NAME); + } + } + currentVersion = 226; + } + // vXXX: Add new settings above this point. if (currentVersion != newVersion) { |