Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8482a8d7 authored by Liran Binyamin's avatar Liran Binyamin Committed by Automerger Merge Worker
Browse files

Merge "Handle touches on the bubble bar in Overview" into udc-qpr-dev am: 5e7ca0c0

parents 5137e056 5e7ca0c0
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import com.android.launcher3.anim.AlphaUpdateListener
import com.android.launcher3.taskbar.TaskbarControllers.LoggableTaskbarController
import com.android.launcher3.util.DisplayController
import java.io.PrintWriter
import kotlin.jvm.optionals.getOrNull

/** Handles the insets that Taskbar provides to underlying apps and the IME. */
class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTaskbarController {
@@ -290,9 +291,24 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
                controllers.uiController.isInOverview &&
                    DisplayController.isTransientTaskbar(context)
            ) {
                insetsInfo.touchableRegion.set(
                val region =
                    controllers.taskbarActivityContext.dragLayer.lastDrawnTransientRect.toRegion()
                )
                val bubbleBarBounds =
                    controllers.bubbleControllers.getOrNull()?.let { bubbleControllers ->
                        if (!bubbleControllers.bubbleStashController.isBubblesShowingOnOverview) {
                            return@let null
                        }
                        if (!bubbleControllers.bubbleBarViewController.isBubbleBarVisible) {
                            return@let null
                        }
                        bubbleControllers.bubbleBarViewController.bubbleBarBounds
                    }

                // Include the bounds of the bubble bar in the touchable region if they exist.
                if (bubbleBarBounds != null) {
                    region.op(bubbleBarBounds, Region.Op.UNION)
                }
                insetsInfo.touchableRegion.set(region)
            } else {
                insetsInfo.touchableRegion.set(touchableRegion)
            }
+5 −0
Original line number Diff line number Diff line
@@ -197,6 +197,11 @@ public class BubbleStashController {
        }
    }

    /** Whether bubbles are showing on Overview. */
    public boolean isBubblesShowingOnOverview() {
        return mBubblesShowingOnOverview;
    }

    /** Called when sysui locked state changes, when locked, bubble bar is stashed. */
    public void onSysuiLockedStateChange(boolean isSysuiLocked) {
        if (isSysuiLocked != mIsSysuiLocked) {