From 106cc895e97688b4415761da5166452dfe4d059a Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Tue, 29 Nov 2022 11:30:39 -0800 Subject: [PATCH] Allow touches on transient taskbar if ime is present. Bug: 260101467 Test: open chrome, enter url to pull up ime, swipe up to show taskbar, tap on taskbar icon Change-Id: Ic8be6c2bb82fc9b8ab83572cb8622ac157078ea9 --- .../com/android/launcher3/taskbar/TaskbarInsetsController.kt | 3 ++- .../com/android/launcher3/taskbar/TaskbarViewController.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt index 32c1972934..b3885121f0 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt @@ -149,7 +149,8 @@ class TaskbarInsetsController(val context: TaskbarActivityContext): LoggableTask if (context.dragLayer.alpha < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) { // Let touches pass through us. insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION) - } else if (controllers.navbarButtonsViewController.isImeVisible) { + } else if (controllers.navbarButtonsViewController.isImeVisible + && controllers.taskbarStashController.isStashed()) { insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION) } else if (!controllers.uiController.isTaskbarTouchable) { // Let touches pass through us. diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index 9936d27951..b5e6fac5bb 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -193,7 +193,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar * Should be called when the IME visibility changes, so we can make Taskbar not steal touches. */ public void setImeIsVisible(boolean isImeVisible) { - mTaskbarView.setTouchesEnabled(!isImeVisible); + mTaskbarView.setTouchesEnabled(!isImeVisible + || DisplayController.isTransientTaskbar(mActivity)); } /**