diff --git a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/UIDebuggerLithoSupport.kt b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/UIDebuggerLithoSupport.kt index 7b34d4894..38c982cb4 100644 --- a/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/UIDebuggerLithoSupport.kt +++ b/android/plugins/litho/src/main/java/com/facebook/flipper/plugins/uidebugger/litho/UIDebuggerLithoSupport.kt @@ -16,7 +16,6 @@ object UIDebuggerLithoSupport { fun addDescriptors(register: DescriptorRegister) { register.register(LithoView::class.java, LithoViewDescriptor) - register.register(MountedObject::class.java, MountedObjectDescriptor) register.register(DebugComponent::class.java, DebugComponentDescriptor(register)) } diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/DescriptorRegister.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/DescriptorRegister.kt index d7fbaedca..2224af62d 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/DescriptorRegister.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/DescriptorRegister.kt @@ -35,6 +35,7 @@ class DescriptorRegister { mapping.register(ViewPager::class.java, ViewPagerDescriptor) mapping.register(Drawable::class.java, DrawableDescriptor) mapping.register(ColorDrawable::class.java, ColorDrawableDescriptor) + mapping.register(OffsetChild::class.java, OffsetChildDescriptor) mapping.register(android.app.Fragment::class.java, FragmentFrameworkDescriptor) mapping.register(androidx.fragment.app.Fragment::class.java, FragmentSupportDescriptor) diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/OffsetChildDescriptor.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/OffsetChildDescriptor.kt new file mode 100644 index 000000000..aeb48a866 --- /dev/null +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/descriptors/OffsetChildDescriptor.kt @@ -0,0 +1,40 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.flipper.plugins.uidebugger.descriptors + +import android.graphics.Bitmap +import com.facebook.flipper.plugins.uidebugger.common.InspectableObject +import com.facebook.flipper.plugins.uidebugger.model.Bounds + +/** a drawable or view that is mounted, along with the correct descriptor */ +class OffsetChild(val child: Any, val descriptor: NodeDescriptor, val x: Int, val y: Int) { + companion object { + fun zero(child: Any, descriptor: NodeDescriptor) = OffsetChild(child, descriptor, 0, 0) + } +} + +object OffsetChildDescriptor : NodeDescriptor { + + override fun getBounds(node: OffsetChild): Bounds? { + val bounds = node.descriptor.getBounds(node.child) + return bounds?.copy(x = node.x, y = node.y) + } + + override fun getName(node: OffsetChild): String = node.descriptor.getName(node.child) + + override fun getChildren(node: OffsetChild): List = node.descriptor.getChildren(node.child) + + override fun getActiveChild(node: OffsetChild): Any? = node.descriptor.getActiveChild(node.child) + + override fun getData(node: OffsetChild): Map = + node.descriptor.getData(node.child) + + override fun getTags(node: OffsetChild): Set = node.descriptor.getTags(node.child) + override fun getSnapshot(node: OffsetChild, bitmap: Bitmap?): Bitmap? = + node.descriptor.getSnapshot(node.child, bitmap) +}