New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement temporary workaround for interop view intercepting touches for popups. #835
Implement temporary workaround for interop view intercepting touches for popups. #835
Conversation
compose/ui/ui/src/uikitMain/kotlin/androidx/compose/ui/window/ComposeWindow.uikit.kt
Outdated
Show resolved
Hide resolved
compose/ui/ui/src/uikitMain/kotlin/androidx/compose/ui/window/ComposeWindow.uikit.kt
Outdated
Show resolved
Hide resolved
compose/ui/ui/src/uikitMain/kotlin/androidx/compose/ui/window/ComposeWindow.uikit.kt
Outdated
Show resolved
Hide resolved
(y * density.density).toFloat() | ||
) | ||
|
||
// TODO: temporary solution copying control flow from [ComposeScene.processPress] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI agreed that it's temporary - it shouldn't replicate this logic (that will be refactored soon). More correct way to send touches to scene as black box and handle only that ones that were received in interop view (compose layout inside owner)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, agree. This is a rather trivial solution and solves a reported issue, so I don't see harm in it.
…ComposeWindow.uikit.kt Co-authored-by: Ivan Matkov <ivan.matkov@jetbrains.com>
compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt
Outdated
Show resolved
Hide resolved
compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/ComposeScene.skiko.kt
Outdated
Show resolved
Hide resolved
…Scene.skiko.kt Co-authored-by: Igor Demin <igordmn@users.noreply.github.com>
merge jb-main to CI to pass |
Proposed Changes
Traverse owners top down and see, if the touch should be dispatched into compose instead of interop view.
Testing
Test: check ComposeDemo IosBugs/UIKitViewAndDropDown example to work correctly.
Issues Fixed
Fixes: interop view intercepting touches on compose popup on top of it.
RPReplay_Final1695302596.MP4