Merge "Make taskbar touchable region smaller in Overview" into udc-dev
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
index 7adee26..77d5a26 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
@@ -33,11 +33,13 @@
import android.view.WindowManager
import android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD
import android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION
+import androidx.core.graphics.toRegion
import com.android.internal.policy.GestureNavigationSettingsObserver
import com.android.launcher3.DeviceProfile
import com.android.launcher3.R
import com.android.launcher3.anim.AlphaUpdateListener
import com.android.launcher3.taskbar.TaskbarControllers.LoggableTaskbarController
+import com.android.launcher3.util.DisplayController
import java.io.PrintWriter
/** Handles the insets that Taskbar provides to underlying apps and the IME. */
@@ -245,7 +247,16 @@
bubbleBarVisible
) {
// Taskbar has some touchable elements, take over the full taskbar area
- insetsInfo.touchableRegion.set(touchableRegion)
+ if (
+ controllers.uiController.isInOverview &&
+ DisplayController.isTransientTaskbar(context)
+ ) {
+ insetsInfo.touchableRegion.set(
+ controllers.taskbarActivityContext.dragLayer.lastDrawnTransientRect.toRegion()
+ )
+ } else {
+ insetsInfo.touchableRegion.set(touchableRegion)
+ }
insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION)
insetsIsTouchableRegion = false
} else {
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
index 2b9d968..6ece903 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java
@@ -432,6 +432,10 @@
// We're changing state to home, should close open popups e.g. Taskbar AllApps
handleOpenFloatingViews = true;
}
+ if (mLauncherState == LauncherState.OVERVIEW) {
+ // Calling to update the insets in TaskbarInsetController#updateInsetsTouchability
+ mControllers.taskbarActivityContext.notifyUpdateLayoutParams();
+ }
}
if (hasAnyFlag(changedFlags, FLAGS_LAUNCHER_ACTIVE)) {