Fragment bounds

Reviewed By: lblasa

Differential Revision: D41220272

fbshipit-source-id: e3ff054c7aa8c290e3c04e70a71cb7d752393cfe
This commit is contained in:
Luke De Feo
2022-11-14 07:05:58 -08:00
committed by Facebook GitHub Bot
parent 477eae1993
commit f70b2a2d1e
3 changed files with 21 additions and 6 deletions

View File

@@ -38,8 +38,9 @@ class DescriptorRegister {
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)
mapping.register(android.app.Fragment::class.java, FragmentFrameworkDescriptor(mapping))
mapping.register(
androidx.fragment.app.Fragment::class.java, FragmentSupportDescriptor(mapping))
return mapping
}

View File

@@ -8,14 +8,18 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.Inspectable
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.InspectableValue
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
object FragmentFrameworkDescriptor : ChainedDescriptor<android.app.Fragment>() {
class FragmentFrameworkDescriptor(val register: DescriptorRegister) :
ChainedDescriptor<android.app.Fragment>() {
private val NAMESPACE = "Fragment"
private const val NAMESPACE = "Fragment"
private var SectionId =
MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, NAMESPACE)
@@ -23,6 +27,9 @@ object FragmentFrameworkDescriptor : ChainedDescriptor<android.app.Fragment>() {
return node.javaClass.simpleName
}
override fun onGetBounds(node: android.app.Fragment): Bounds? =
node.view?.let { register.descriptorForClassUnsafe(it.javaClass).getBounds(it) }
override fun onGetChildren(node: android.app.Fragment): List<Any> =
node.view?.let { view -> listOf(view) } ?: listOf()

View File

@@ -7,14 +7,18 @@
package com.facebook.flipper.plugins.uidebugger.descriptors
import androidx.fragment.app.Fragment
import com.facebook.flipper.plugins.uidebugger.model.Bounds
import com.facebook.flipper.plugins.uidebugger.model.Inspectable
import com.facebook.flipper.plugins.uidebugger.model.InspectableObject
import com.facebook.flipper.plugins.uidebugger.model.InspectableValue
import com.facebook.flipper.plugins.uidebugger.model.MetadataId
object FragmentSupportDescriptor : ChainedDescriptor<androidx.fragment.app.Fragment>() {
class FragmentSupportDescriptor(val register: DescriptorRegister) :
ChainedDescriptor<androidx.fragment.app.Fragment>() {
private val NAMESPACE = "Fragment"
private const val NAMESPACE = "Fragment"
private var SectionId =
MetadataRegister.register(MetadataRegister.TYPE_ATTRIBUTE, NAMESPACE, NAMESPACE)
@@ -22,6 +26,9 @@ object FragmentSupportDescriptor : ChainedDescriptor<androidx.fragment.app.Fragm
return node.javaClass.simpleName
}
override fun onGetBounds(node: Fragment): Bounds? =
node.view?.let { register.descriptorForClassUnsafe(it.javaClass).getBounds(it) }
override fun onGetChildren(node: androidx.fragment.app.Fragment): List<Any> =
node.view?.let { view -> listOf(view) } ?: listOf()