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

Commit 920e2400 authored by Omar Elmekkawy's avatar Omar Elmekkawy Committed by Android (Google) Code Review
Browse files

Merge "Fix tiling divider touch region." into main

parents 0b0849db 93c71566
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -70,10 +70,10 @@ class DesktopTilingDividerWindowManager(
    private var handleRegionSize: Size =
        Size(
            displayContext.resources.getDimensionPixelSize(
                R.dimen.split_divider_handle_region_width
                R.dimen.split_divider_handle_region_height
            ),
            displayContext.resources.getDimensionPixelSize(
                R.dimen.split_divider_handle_region_height
                R.dimen.split_divider_handle_region_width
            ),
        )
    private var setTouchRegion = true
@@ -114,7 +114,7 @@ class DesktopTilingDividerWindowManager(
        val centerY = divider.height() / 2f
        val handleLeft = centerX - handle.width() / 2f
        val handleRight = handleLeft + handle.width()
        val dividerLeft = centerY - divider.width() / 2f
        val dividerLeft = centerX - divider.width() / 2f
        val dividerRight = dividerLeft + divider.width()

        val dividerTop = cornerRadius
@@ -371,7 +371,7 @@ class DesktopTilingDividerWindowManager(

    private fun updateTouchRegion() {
        val startX = -handleRegionSize.width / 2
        val handle = Rect(startX, 0, startX + handleRegionSize.width, dividerBounds.height())
        val handle = Rect(startX, 0, startX + handleRegionSize.width, handleRegionSize.height)
        setTouchRegion(handle, dividerBounds, maxRoundedCornerRadius.toFloat())
    }

+6 −2
Original line number Diff line number Diff line
@@ -154,8 +154,12 @@ class TilingDividerView : FrameLayout, View.OnTouchListener, DragDetector.Motion
        }
    }

    override fun onResolvePointerIcon(event: MotionEvent, pointerIndex: Int): PointerIcon =
        PointerIcon.getSystemIcon(context, PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW)
    override fun onResolvePointerIcon(event: MotionEvent, pointerIndex: Int): PointerIcon {
        if (isWithinHandleRegion(event.y.toInt())) {
            return PointerIcon.getSystemIcon(context, PointerIcon.TYPE_HORIZONTAL_DOUBLE_ARROW)
        }
        return PointerIcon.getSystemIcon(context, PointerIcon.TYPE_ARROW)
    }

    override fun onTouch(v: View, event: MotionEvent): Boolean =
        dragDetector.onMotionEvent(v, event)