From f6d75c98a94d173ae59afc9bd126d1e72d1b28fa Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 19 Jan 2023 21:59:07 +0000 Subject: Prevent falling into OtherActivityInputConsumer when over lockscreen - When opening the emergency dialer from the bouncer, there's a brief period where notificationPanelExpanded=false and occluded=false which currently means canStartSystemGesture=true and isKeyguardShowingOccluded=false, which falls through to other activity input consumer. In this state, we can't properly finish the gesture stream because Launcher never shows (it's behind the lockscreen) and the recents animation never finishes. Bug: 242704576 Test: atest NexusLauncherTests Change-Id: I7795abe0aebefca2d42998a672abfd12f951d501 --- quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java index 99a02e15ce..8d17cf4b81 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationDeviceState.java @@ -41,6 +41,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_O import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED; import android.app.ActivityManager; @@ -419,6 +420,7 @@ public class RecentsAnimationDeviceState implements || mRotationTouchHelper.isTaskListFrozen(); return canStartWithNavHidden && (mSystemUiStateFlags & SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED) == 0 + && (mSystemUiStateFlags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING) == 0 && (mSystemUiStateFlags & SYSUI_STATE_QUICK_SETTINGS_EXPANDED) == 0 && (mSystemUiStateFlags & SYSUI_STATE_MAGNIFICATION_OVERLAP) == 0 && ((mSystemUiStateFlags & SYSUI_STATE_HOME_DISABLED) == 0 -- cgit v1.2.3