Skip to content

Commit 3559ed4

Browse files
committed
Address PR feedback
1 parent 994b7b2 commit 3559ed4

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

sentry-android-replay/src/main/java/io/sentry/android/replay/viewhierarchy/ComposeViewHierarchyNode.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ internal object ComposeViewHierarchyNode {
3939
private val getCollapsedSemanticsMethod: Method? by
4040
lazy(LazyThreadSafetyMode.NONE) {
4141
try {
42-
return@lazy LayoutNode::class.java.getDeclaredMethod("getCollapsedSemantics").apply {
42+
return@lazy LayoutNode::class.java.getDeclaredMethod("getCollapsedSemantics\$ui_release").apply {
4343
isAccessible = true
4444
}
4545
} catch (_: Throwable) {

sentry-compose/src/androidUnitTest/kotlin/io/sentry/compose/gestures/ComposeGestureTargetLocatorTest.kt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,32 @@ class ComposeGestureTargetLocatorTest {
316316
assertNull(result)
317317
}
318318

319+
@Test
320+
fun `finds tagged clickable nested under untagged containers`() {
321+
// Tree: root(no tag) -> container(no tag) -> container(no tag) -> clickable(tag="deep_btn")
322+
val clickableChild = mockLayoutNode(
323+
isPlaced = true, tag = "deep_btn", width = 10, height = 10,
324+
semanticsKeys = listOf("OnClick"),
325+
)
326+
val innerContainer = mockLayoutNode(
327+
isPlaced = true, tag = null, width = 30, height = 30,
328+
children = listOf(clickableChild),
329+
)
330+
val outerContainer = mockLayoutNode(
331+
isPlaced = true, tag = null, width = 60, height = 60,
332+
children = listOf(innerContainer),
333+
)
334+
val root = mockLayoutNode(
335+
isPlaced = true, tag = null, width = 100, height = 100,
336+
children = listOf(outerContainer),
337+
)
338+
val owner = mockOwner(root)
339+
340+
val result = locator.locate(owner, 5f, 5f, UiElement.Type.CLICKABLE)
341+
assertNotNull(result)
342+
assertEquals("deep_btn", result!!.tag)
343+
}
344+
319345
// -- helpers --
320346

321347
private fun mockOwner(rootNode: LayoutNode): Owner {

0 commit comments

Comments
 (0)