Fix mistake in location in aosp/1672411

The location was mistakenly computed from the AndroidComposeView
instead of the intended DecorView.

Bug: 184979097
Test: Unit tests updated
Change-Id: I4ac98f32e938b431d498141a2ce4d359099f7c59
diff --git a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
index b40bfcc..9ee4cb27 100644
--- a/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
+++ b/compose/ui/ui-inspection/src/androidTest/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTreeTest.kt
@@ -46,6 +46,8 @@
 import androidx.compose.ui.R
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.graphicsLayer
+import androidx.compose.ui.inspection.framework.ancestors
+import androidx.compose.ui.inspection.framework.isRoot
 import androidx.compose.ui.inspection.rules.show
 import androidx.compose.ui.inspection.testdata.TestActivity
 import androidx.compose.ui.layout.GraphicLayerInfo
@@ -629,7 +631,8 @@
 
     private fun findTopPosition(view: View): Dp {
         val location = IntArray(2)
-        view.getLocationOnScreen(location)
+        val decorView = view.ancestors().first { it.isRoot() }
+        decorView.getLocationOnScreen(location)
         return with(density) { location[1].toDp() }
     }
 
diff --git a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTree.kt b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTree.kt
index 68a2185..60bc092 100644
--- a/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTree.kt
+++ b/compose/ui/ui-inspection/src/main/java/androidx/compose/ui/inspection/inspector/LayoutInspectorTree.kt
@@ -22,6 +22,8 @@
 import androidx.compose.ui.ExperimentalComposeUiApi
 import androidx.compose.ui.R
 import androidx.compose.ui.geometry.Offset
+import androidx.compose.ui.inspection.framework.ancestors
+import androidx.compose.ui.inspection.framework.isRoot
 import androidx.compose.ui.layout.GraphicLayerInfo
 import androidx.compose.ui.layout.LayoutInfo
 import androidx.compose.ui.node.RootForTest
@@ -206,7 +208,8 @@
 
     @OptIn(InternalComposeApi::class)
     private fun convert(tables: Set<CompositionData>, view: View): List<InspectorNode> {
-        view.getLocationOnScreen(rootLocation)
+        val decorView = view.ancestors().first { it.isRoot() }
+        decorView.getLocationOnScreen(rootLocation)
         val trees = tables.mapNotNull { convert(it, view) }
         return when (trees.size) {
             0 -> listOf()