From 7eae1e6124a8b728aa44726e278f505776b5d0bb Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Mon, 11 Dec 2023 21:27:50 +0000 Subject: [PATCH] Split AFVs that controller should not intercept from TYPE_ACCESSIBLE. TYPE_ACCESSIBLE no longer works for certain cases (see bug). This also simplifies TouchControllers that would otherwise add or remove from TYPE_ACCESSIBLE (such as ALL_APPS_EDU and TASKBAR_OVERLAYS). Fix: 315507902 Test: Manual Flag: N/A Change-Id: I6f5d218dab87a8bcc8e7805d0ced9a6678f09c8e --- .../launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java | 2 +- .../touchcontrollers/PortraitStatesTouchController.java | 5 ++--- .../touchcontrollers/TaskViewTouchController.java | 5 +++-- src/com/android/launcher3/AbstractFloatingView.java | 4 ++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java index 5ce2a7a246..964d329066 100644 --- a/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java +++ b/quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java @@ -222,7 +222,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView // If we are already animating from a previous state, we can intercept. return true; } - if (AbstractFloatingView.getTopOpenViewWithType(mActivity, TYPE_ACCESSIBLE) != null) { + if (AbstractFloatingView.getTopOpenViewWithType( + mActivity, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null) { return false; } return isRecentsInteractive(); diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java index d78afd35d6..f72c55615c 100644 --- a/src/com/android/launcher3/AbstractFloatingView.java +++ b/src/com/android/launcher3/AbstractFloatingView.java @@ -135,6 +135,10 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch public static final int TYPE_TASKBAR_OVERLAYS = TYPE_TASKBAR_ALL_APPS | TYPE_TASKBAR_EDUCATION_DIALOG; + // Floating views that a TouchController should not try to intercept touches from. + public static final int TYPE_TOUCH_CONTROLLER_NO_INTERCEPT = TYPE_ALL & ~TYPE_DISCOVERY_BOUNCE + & ~TYPE_LISTENER & ~TYPE_TASKBAR_OVERLAYS; + public static final int TYPE_ALL_EXCEPT_ON_BOARD_POPUP = TYPE_ALL & ~TYPE_ON_BOARD_POPUP & ~TYPE_PIN_IME_POPUP;