diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentFrameworkDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentFrameworkDescriptor.kt index 5b30654a8..399501f3f 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentFrameworkDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentFrameworkDescriptor.kt @@ -27,10 +27,19 @@ class FragmentFrameworkDescriptor(val register: DescriptorRegister) : return node.javaClass.simpleName } - override fun onGetBounds(node: android.app.Fragment): Bounds? = Bounds(0, 0, 0, 0) + override fun onGetBounds(node: android.app.Fragment): Bounds { + return node.view?.let { + val descriptor = register.descriptorForClassUnsafe(it.javaClass) + return descriptor.getBounds(it) + } + ?: Bounds(0, 0, 0, 0) + } override fun onGetChildren(node: android.app.Fragment): List = - node.view?.let { view -> listOf(view) } ?: listOf() + node.view?.let { view -> + listOf(OffsetChild.zero(view, register.descriptorForClassUnsafe(view.javaClass))) + } + ?: listOf() override fun onGetAttributes( node: android.app.Fragment, diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentSupportDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentSupportDescriptor.kt index e9116b4aa..fcce24379 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentSupportDescriptor.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/FragmentSupportDescriptor.kt @@ -47,12 +47,18 @@ class FragmentSupportDescriptor(val register: DescriptorRegister) : return node.javaClass.simpleName } - override fun onGetBounds(node: Fragment): Bounds = Bounds(0, 0, 0, 0) + override fun onGetBounds(node: Fragment): Bounds { + return node.view?.let { + val descriptor = register.descriptorForClassUnsafe(it.javaClass) + return descriptor.getBounds(it) + } + ?: Bounds(0, 0, 0, 0) + } override fun onGetChildren(node: androidx.fragment.app.Fragment): List { val view = node.view return if (view != null && node.isVisible) { - listOf(view) + listOf(OffsetChild.zero(view, register.descriptorForClassUnsafe(view.javaClass))) } else { listOf() }