Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53841dc6 authored by Patrick Huang's avatar Patrick Huang Committed by Cherrypicker Worker
Browse files

Add Settings keys for sticky emergency gesture UI

These will be used to temporarily disable some user navigations when emergency UI is triggered. The usage will be similar to that of Settings.Secure.USER_SETUP_COMPLETE. Adding to backup deny list because they represent internal states and are not user configurable.

Bug: 256494850
Test: manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c715d1053cc141b55ef3039dcf572d12a5a530d7)
Merged-In: I81d46267b79302e87609bea599c94ef7bddeb47f
Change-Id: I81d46267b79302e87609bea599c94ef7bddeb47f
parent febee0e5
Loading
Loading
Loading
Loading
+25 −0
Original line number Original line Diff line number Diff line
@@ -10021,6 +10021,21 @@ public final class Settings {
        public static final String EMERGENCY_GESTURE_SOUND_ENABLED =
        public static final String EMERGENCY_GESTURE_SOUND_ENABLED =
                "emergency_gesture_sound_enabled";
                "emergency_gesture_sound_enabled";
        /**
         * Whether the emergency gesture UI is currently showing.
         *
         * @hide
         */
        public static final String EMERGENCY_GESTURE_UI_SHOWING = "emergency_gesture_ui_showing";
        /**
         * The last time the emergency gesture UI was started.
         *
         * @hide
         */
        public static final String EMERGENCY_GESTURE_UI_LAST_STARTED_MILLIS =
                "emergency_gesture_ui_last_started_millis";
        /**
        /**
         * Whether the camera launch gesture to double tap the power button when the screen is off
         * Whether the camera launch gesture to double tap the power button when the screen is off
         * should be disabled.
         * should be disabled.
@@ -15054,6 +15069,16 @@ public final class Settings {
        public static final String EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS =
        public static final String EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS =
                "emergency_gesture_tap_detection_min_time_ms";
                "emergency_gesture_tap_detection_min_time_ms";
        /**
         * The maximum duration in milliseconds for which the emergency gesture UI can stay
         * "sticky", where the notification pull-down shade and navigation gestures/buttons are
         *  temporarily disabled. The feature is disabled completely if the value is set to zero.
         *
         * @hide
         */
        public static final String EMERGENCY_GESTURE_STICKY_UI_MAX_DURATION_MILLIS =
                "emergency_gesture_sticky_ui_max_duration_millis";
        /**
        /**
         * Whether to enable automatic system server heap dumps. This only works on userdebug or
         * Whether to enable automatic system server heap dumps. This only works on userdebug or
         * eng builds, not on user builds. This is set by the user and overrides the config value.
         * eng builds, not on user builds. This is set by the user and overrides the config value.
+2 −0
Original line number Original line Diff line number Diff line
@@ -126,6 +126,8 @@ public class GlobalSettingsValidators {
                NON_NEGATIVE_INTEGER_VALIDATOR);
                NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
        VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
                NON_NEGATIVE_INTEGER_VALIDATOR);
                NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(Global.EMERGENCY_GESTURE_STICKY_UI_MAX_DURATION_MILLIS,
                NON_NEGATIVE_INTEGER_VALIDATOR);
        VALIDATORS.put(Global.CALL_AUTO_RETRY, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Global.CALL_AUTO_RETRY, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Global.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Global.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(
        VALIDATORS.put(
+3 −0
Original line number Original line Diff line number Diff line
@@ -314,6 +314,9 @@ public class SecureSettingsValidators {
        VALIDATORS.put(Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.EMERGENCY_GESTURE_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.EMERGENCY_GESTURE_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.EMERGENCY_GESTURE_SOUND_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.EMERGENCY_GESTURE_SOUND_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.EMERGENCY_GESTURE_UI_SHOWING, BOOLEAN_VALIDATOR);
        VALIDATORS.put(
                Secure.EMERGENCY_GESTURE_UI_LAST_STARTED_MILLIS, NONE_NEGATIVE_LONG_VALIDATOR);
        VALIDATORS.put(Secure.ADAPTIVE_CONNECTIVITY_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(Secure.ADAPTIVE_CONNECTIVITY_ENABLED, BOOLEAN_VALIDATOR);
        VALIDATORS.put(
        VALIDATORS.put(
                Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS, NONE_NEGATIVE_LONG_VALIDATOR);
                Secure.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS, NONE_NEGATIVE_LONG_VALIDATOR);
+3 −0
Original line number Original line Diff line number Diff line
@@ -257,6 +257,7 @@ public class SettingsBackupTest {
                    Settings.Global.EMERGENCY_AFFORDANCE_NEEDED,
                    Settings.Global.EMERGENCY_AFFORDANCE_NEEDED,
                    Settings.Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS,
                    Settings.Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS,
                    Settings.Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
                    Settings.Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
                    Settings.Global.EMERGENCY_GESTURE_STICKY_UI_MAX_DURATION_MILLIS,
                    Settings.Global.EMULATE_DISPLAY_CUTOUT,
                    Settings.Global.EMULATE_DISPLAY_CUTOUT,
                    Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED,
                    Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED,
                    Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION,
                    Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION,
@@ -718,6 +719,8 @@ public class SettingsBackupTest {
                 Settings.Secure.DOCKED_CLOCK_FACE,
                 Settings.Secure.DOCKED_CLOCK_FACE,
                 Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
                 Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
                 Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION,
                 Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION,
                 Settings.Secure.EMERGENCY_GESTURE_UI_SHOWING,
                 Settings.Secure.EMERGENCY_GESTURE_UI_LAST_STARTED_MILLIS,
                 Settings.Secure.ENABLED_INPUT_METHODS,  // Intentionally removed in P
                 Settings.Secure.ENABLED_INPUT_METHODS,  // Intentionally removed in P
                 Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT,
                 Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT,
                 Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
                 Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,