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

Commit 36ceb49b authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Fix gesture insets issue for IMEs" into tm-qpr-dev am: 13bf1598

parents c5f8dff8 13bf1598
Loading
Loading
Loading
Loading
+36 −15
Original line number Diff line number Diff line
@@ -64,7 +64,20 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
    fun init(controllers: TaskbarControllers) {
        this.controllers = controllers
        windowLayoutParams = context.windowLayoutParams
        windowLayoutParams.insetsRoundedCornerFrame = true
        onTaskbarWindowHeightOrInsetsChanged()

        context.addOnDeviceProfileChangeListener(deviceProfileChangeListener)
        gestureNavSettingsObserver.registerForCallingUser()
    }

    fun onDestroy() {
        context.removeOnDeviceProfileChangeListener(deviceProfileChangeListener)
        gestureNavSettingsObserver.unregister()
    }

    fun onTaskbarWindowHeightOrInsetsChanged() {
        if (context.isGestureNav) {
            setProvidesInsetsTypes(
                    windowLayoutParams,
                    intArrayOf(
@@ -74,22 +87,28 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
                            ITYPE_LEFT_GESTURES,
                            ITYPE_RIGHT_GESTURES,
                    ),
            intArrayOf(SOURCE_FRAME, SOURCE_FRAME, SOURCE_FRAME, SOURCE_DISPLAY, SOURCE_DISPLAY)
                    intArrayOf(
                            SOURCE_FRAME,
                            SOURCE_FRAME,
                            SOURCE_FRAME,
                            SOURCE_DISPLAY,
                            SOURCE_DISPLAY
                    )
            )
        } else {
            setProvidesInsetsTypes(
                    windowLayoutParams,
                    intArrayOf(
                            ITYPE_EXTRA_NAVIGATION_BAR,
                            ITYPE_BOTTOM_TAPPABLE_ELEMENT
                    ),
                    intArrayOf(
                            SOURCE_FRAME,
                            SOURCE_FRAME
                    )
            )

        onTaskbarWindowHeightOrInsetsChanged()

        windowLayoutParams.insetsRoundedCornerFrame = true
        context.addOnDeviceProfileChangeListener(deviceProfileChangeListener)
        gestureNavSettingsObserver.registerForCallingUser()
    }

    fun onDestroy() {
        context.removeOnDeviceProfileChangeListener(deviceProfileChangeListener)
        gestureNavSettingsObserver.unregister()
        }

    fun onTaskbarWindowHeightOrInsetsChanged() {
        val touchableHeight = controllers.taskbarStashController.touchableHeight
        touchableRegion.set(
            0,
@@ -145,7 +164,9 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas
        for (provider in windowLayoutParams.providedInsets) {
            if (context.isGestureNav && provider.type == ITYPE_BOTTOM_TAPPABLE_ELEMENT) {
                provider.insetsSizeOverrides = insetsSizeOverrideForGestureNavTappableElement
            } else {
            } else if (provider.type != ITYPE_LEFT_GESTURES
                    && provider.type != ITYPE_RIGHT_GESTURES) {
                // We only override insets at the bottom of the screen
                provider.insetsSizeOverrides = insetsSizeOverride
            }
        }