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

Commit 71b16784 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Fix gesture insets issue for IMEs" into udc-dev

parents 9a9d4ce6 711189df
Loading
Loading
Loading
Loading
+22 −13
Original line number Diff line number Diff line
@@ -70,20 +70,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
    fun init(controllers: TaskbarControllers) {
        this.controllers = controllers
        windowLayoutParams = context.windowLayoutParams
        windowLayoutParams.providedInsets =
            arrayOf(
                InsetsFrameProvider(insetsOwner, 0, navigationBars()),
                InsetsFrameProvider(insetsOwner, 0, tappableElement()),
                InsetsFrameProvider(insetsOwner, 0, mandatorySystemGestures()),
                InsetsFrameProvider(insetsOwner, INDEX_LEFT, systemGestures())
                    .setSource(SOURCE_DISPLAY),
                InsetsFrameProvider(insetsOwner, INDEX_RIGHT, systemGestures())
                    .setSource(SOURCE_DISPLAY)
            )

        windowLayoutParams.insetsRoundedCornerFrame = true
        onTaskbarWindowHeightOrInsetsChanged()

        windowLayoutParams.insetsRoundedCornerFrame = true
        context.addOnDeviceProfileChangeListener(deviceProfileChangeListener)
        gestureNavSettingsObserver.registerForCallingUser()
    }
@@ -94,6 +83,25 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
    }

    fun onTaskbarWindowHeightOrInsetsChanged() {
        if (context.isGestureNav) {
            windowLayoutParams.providedInsets =
                    arrayOf(
                            InsetsFrameProvider(insetsOwner, 0, navigationBars()),
                            InsetsFrameProvider(insetsOwner, 0, tappableElement()),
                            InsetsFrameProvider(insetsOwner, 0, mandatorySystemGestures()),
                            InsetsFrameProvider(insetsOwner, INDEX_LEFT, systemGestures())
                                    .setSource(SOURCE_DISPLAY),
                            InsetsFrameProvider(insetsOwner, INDEX_RIGHT, systemGestures())
                                    .setSource(SOURCE_DISPLAY)
                    )
        } else {
            windowLayoutParams.providedInsets =
                    arrayOf(
                            InsetsFrameProvider(insetsOwner, 0, navigationBars()),
                            InsetsFrameProvider(insetsOwner, 0, tappableElement())
                    )
        }

        val touchableHeight = controllers.taskbarStashController.touchableHeight
        touchableRegion.set(
            0,
@@ -146,7 +154,8 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
        for (provider in windowLayoutParams.providedInsets) {
            if (context.isGestureNav && provider.type == tappableElement()) {
                provider.insetsSizeOverrides = insetsSizeOverrideForGestureNavTappableElement
            } else {
            } else if (provider.type != systemGestures()) {
                // We only override insets at the bottom of the screen
                provider.insetsSizeOverrides = insetsSizeOverride
            }
        }