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

Commit 5e7ca0c0 authored by Liran Binyamin's avatar Liran Binyamin Committed by Android (Google) Code Review
Browse files

Merge "Handle touches on the bubble bar in Overview" into udc-qpr-dev

parents 7c183e29 80f20a21
Loading
Loading
Loading
Loading
+18 −2
Original line number Original line 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.taskbar.TaskbarControllers.LoggableTaskbarController
import com.android.launcher3.util.DisplayController
import com.android.launcher3.util.DisplayController
import java.io.PrintWriter
import java.io.PrintWriter
import kotlin.jvm.optionals.getOrNull


/** Handles the insets that Taskbar provides to underlying apps and the IME. */
/** Handles the insets that Taskbar provides to underlying apps and the IME. */
class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTaskbarController {
class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTaskbarController {
@@ -290,9 +291,24 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
                controllers.uiController.isInOverview &&
                controllers.uiController.isInOverview &&
                    DisplayController.isTransientTaskbar(context)
                    DisplayController.isTransientTaskbar(context)
            ) {
            ) {
                insetsInfo.touchableRegion.set(
                val region =
                    controllers.taskbarActivityContext.dragLayer.lastDrawnTransientRect.toRegion()
                    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 {
            } else {
                insetsInfo.touchableRegion.set(touchableRegion)
                insetsInfo.touchableRegion.set(touchableRegion)
            }
            }
+5 −0
Original line number Original line 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. */
    /** Called when sysui locked state changes, when locked, bubble bar is stashed. */
    public void onSysuiLockedStateChange(boolean isSysuiLocked) {
    public void onSysuiLockedStateChange(boolean isSysuiLocked) {
        if (isSysuiLocked != mIsSysuiLocked) {
        if (isSysuiLocked != mIsSysuiLocked) {