From 9de45c97b8d3434672ae9aaf7eb4024b1c7784a5 Mon Sep 17 00:00:00 2001 From: Jerry Chang Date: Fri, 12 Jun 2020 17:41:38 +0800 Subject: [PATCH] Add Settings keys definition for swipe bottom gesture Add Settings keys definition for swipe bottom to expand notification gesture and support user settings backup/restore. Gesture settings toggle located at: Settings > System > Gesture > Swipe for notification Bug: 154080211 Test: manual check settings works properly Change-Id: Ibfe3f57020c386a01407e1c579d64304d04d2537 --- core/java/android/provider/Settings.java | 11 ++++++++-- core/proto/android/app/settings_enums.proto | 7 ++++++- .../android/providers/settings/secure.proto | 21 ++++++++++--------- .../settings/backup/SecureSettings.java | 1 + .../validators/SecureSettingsValidators.java | 1 + .../settings/SettingsProtoDumpUtil.java | 4 ++++ 6 files changed, 32 insertions(+), 13 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index d44c7fd2a795f..feebb94851678 100755 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -7882,6 +7882,13 @@ public final class Settings { */ public static final String AWARE_TAP_PAUSE_TOUCH_COUNT = "aware_tap_pause_touch_count"; + /** + * For user preference if swipe bottom to expand notification gesture enabled. + * @hide + */ + public static final String SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED = + "swipe_bottom_to_notification_enabled"; + /** * For user preference if One-Handed Mode enabled. * @hide @@ -7889,13 +7896,13 @@ public final class Settings { public static final String ONE_HANDED_MODE_ENABLED = "one_handed_mode_enabled"; /** - * For user perference if One-Handed Mode timeout. + * For user preference if One-Handed Mode timeout. * @hide */ public static final String ONE_HANDED_MODE_TIMEOUT = "one_handed_mode_timeout"; /** - * For user tapps app to exit One-Handed Mode. + * For user taps app to exit One-Handed Mode. * @hide */ public static final String TAPS_APP_TO_EXIT = "taps_app_to_exit"; diff --git a/core/proto/android/app/settings_enums.proto b/core/proto/android/app/settings_enums.proto index 50b5eadcf0aa8..097af763038c6 100644 --- a/core/proto/android/app/settings_enums.proto +++ b/core/proto/android/app/settings_enums.proto @@ -1722,7 +1722,7 @@ enum PageId { // OPEN: Settings > System > Language & Region SETTINGS_LANGUAGE_CATEGORY = 750; - // OPEN: Settings > System > Input & Gesture > Swipe to notification gesture + // OPEN: Settings > System > Input & Gesture > Swipe fingerprint for notifications SETTINGS_GESTURE_SWIPE_TO_NOTIFICATION = 751; // OPEN: Settings > System > Input & Gesture > Double tap power button gesture @@ -2688,4 +2688,9 @@ enum PageId { // CATEGORY: SETTINGS // OS: R MEDIA_CONTROLS_SETTINGS = 1845; + + // OPEN: Settings > System > Gestures > Swipe for notification + // CATEGORY: SETTINGS + // OS: R QPR + SETTINGS_SWIPE_BOTTOM_TO_NOTIFICATION = 1846; } diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index 7627961760f26..edafb0c19da8b 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -381,6 +381,15 @@ message SecureSettingsProto { } optional Notification notification = 41; + message OneHanded { + option (android.msg_privacy).dest = DEST_EXPLICIT; + + optional SettingProto one_handed_mode_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto one_handed_mode_timeout = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto taps_app_to_exit = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; + } + optional OneHanded onehanded = 80; + message PackageVerifier { option (android.msg_privacy).dest = DEST_EXPLICIT; @@ -502,6 +511,7 @@ message SecureSettingsProto { // parent profile. optional SettingProto sync_parent_sounds = 55 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto system_navigation_keys_enabled = 56 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto swipe_bottom_to_notification_enabled = 82 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto theme_customization_overlay_packages = 75 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto trust_agents_initialized = 57 [ (android.privacy).dest = DEST_AUTOMATIC ]; @@ -594,16 +604,7 @@ message SecureSettingsProto { } optional Zen zen = 71; - message OneHanded { - option (android.msg_privacy).dest = DEST_EXPLICIT; - - optional SettingProto one_handed_mode_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; - optional SettingProto one_handed_mode_timeout = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; - optional SettingProto taps_app_to_exit = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; - } - optional OneHanded onehanded = 80; - // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). - // Next tag = 82; + // Next tag = 83; } diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java index 2da84c28d163e..482a3812b8388 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -172,5 +172,6 @@ public class SecureSettings { Settings.Secure.ONE_HANDED_MODE_ENABLED, Settings.Secure.ONE_HANDED_MODE_TIMEOUT, Settings.Secure.TAPS_APP_TO_EXIT, + Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index 3fd543dd4990e..b337e609e2814 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -259,5 +259,6 @@ public class SecureSettingsValidators { VALIDATORS.put(Secure.ONE_HANDED_MODE_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.ONE_HANDED_MODE_TIMEOUT, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Secure.TAPS_APP_TO_EXIT, BOOLEAN_VALIDATOR); + VALIDATORS.put(Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, BOOLEAN_VALIDATOR); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index a946888bcf9b9..a994fdaa45919 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -2573,6 +2573,10 @@ class SettingsProtoDumpUtil { Settings.Secure.TAPS_APP_TO_EXIT, SecureSettingsProto.OneHanded.TAPS_APP_TO_EXIT); + dumpSetting(s, p, + Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, + SecureSettingsProto.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED); + // Please insert new settings using the same order as in SecureSettingsProto. p.end(token);