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
This commit is contained in:
Patrick Huang
2023-03-03 00:04:02 +00:00
committed by Cherrypicker Worker
parent febee0e5ef
commit 53841dc6ff
4 changed files with 33 additions and 0 deletions

View File

@@ -10021,6 +10021,21 @@ public final class Settings {
public static final String 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
* should be disabled.
@@ -15054,6 +15069,16 @@ public final class Settings {
public static final String 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
* eng builds, not on user builds. This is set by the user and overrides the config value.

View File

@@ -126,6 +126,8 @@ public class GlobalSettingsValidators {
NON_NEGATIVE_INTEGER_VALIDATOR);
VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
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.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(

View File

@@ -314,6 +314,9 @@ public class SecureSettingsValidators {
VALIDATORS.put(Secure.SWIPE_BOTTOM_TO_NOTIFICATION_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_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.ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS, NONE_NEGATIVE_LONG_VALIDATOR);

View File

@@ -257,6 +257,7 @@ public class SettingsBackupTest {
Settings.Global.EMERGENCY_AFFORDANCE_NEEDED,
Settings.Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_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.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED,
Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION,
@@ -718,6 +719,8 @@ public class SettingsBackupTest {
Settings.Secure.DOCKED_CLOCK_FACE,
Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
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_NOTIFICATION_ASSISTANT,
Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,