public class LayoutState extends java.lang.Object implements IncrementalMountExtensionInput, VisibilityExtensionInput, TransitionsExtensionInput, EndToEndTestingExtension.EndToEndTestingExtensionInput, PotentiallyPartialResult
LayoutState is to hold the output of layout calculation. This includes
mountable outputs and visibility outputs. A centerpiece of the class is #collectResults(ComponentContext, LithoLayoutResult, LithoNode, LayoutState, RenderTreeNode,
DiffNode, DebugHierarchy.Node) which prepares the before-mentioned outputs based on the provided
LithoNode for later use in MountState.
This needs to be accessible to statically mock the class in tests.
| Modifier and Type | Class and Description |
|---|---|
static interface |
LayoutState.CalculateLayoutSource |
public static boolean isFromSyncLayout(int source)
public boolean isPartialResult()
PotentiallyPartialResultTreeFuture is partial.isPartialResult in interface PotentiallyPartialResultpublic int getMountableOutputCount()
getMountableOutputCount in interface EndToEndTestingExtension.EndToEndTestingExtensionInputgetMountableOutputCount in interface MountDelegateInputgetMountableOutputCount in interface TransitionsExtensionInputpublic int getIncrementalMountOutputCount()
getIncrementalMountOutputCount in interface IncrementalMountExtensionInputpublic RenderTreeNode getMountableOutputAt(int index)
MountDelegateInputRenderTreeNode given its absolute position.getMountableOutputAt in interface EndToEndTestingExtension.EndToEndTestingExtensionInputgetMountableOutputAt in interface MountDelegateInputgetMountableOutputAt in interface TransitionsExtensionInputpublic IncrementalMountOutput getIncrementalMountOutputForId(long id)
getIncrementalMountOutputForId in interface IncrementalMountExtensionInputpublic java.util.Collection<IncrementalMountOutput> getIncrementalMountOutputs()
IncrementalMountExtensionInputgetIncrementalMountOutputs in interface IncrementalMountExtensionInputpublic AnimatableItem getAnimatableRootItem()
getAnimatableRootItem in interface TransitionsExtensionInputpublic AnimatableItem getAnimatableItem(long id)
getAnimatableItem in interface TransitionsExtensionInputpublic java.util.ArrayList<IncrementalMountOutput> getOutputsOrderedByTopBounds()
getOutputsOrderedByTopBounds in interface IncrementalMountExtensionInputpublic java.util.ArrayList<IncrementalMountOutput> getOutputsOrderedByBottomBounds()
getOutputsOrderedByBottomBounds in interface IncrementalMountExtensionInputpublic java.util.List<VisibilityOutput> getVisibilityOutputs()
VisibilityExtensionInputgetVisibilityOutputs in interface VisibilityExtensionInputpublic int getTestOutputCount()
getTestOutputCount in interface EndToEndTestingExtension.EndToEndTestingExtensionInputpublic com.facebook.litho.TestOutput getTestOutputAt(int index)
getTestOutputAt in interface EndToEndTestingExtension.EndToEndTestingExtensionInputpublic DiffNode getDiffTree()
public int getTreeId()
getTreeId in interface TransitionsExtensionInputpublic int getComponentTreeId()
ComponentTree that generated this LayoutStatepublic ComponentContext getComponentContext()
public LithoNode getLayoutRoot()
public LithoLayoutResult getRootLayoutResult()
public int getPositionForId(long layoutOutputId)
MountDelegateInputRenderUnit given its id.getPositionForId in interface EndToEndTestingExtension.EndToEndTestingExtensionInputgetPositionForId in interface MountDelegateInputLayoutOutput with id layoutOutputId in the LayoutState list of outputs or -1 if no LayoutOutput with that id exists in the
LayoutStatepublic boolean renderUnitWithIdHostsRenderTrees(long id)
renderUnitWithIdHostsRenderTrees in interface IncrementalMountExtensionInputrenderUnitWithIdHostsRenderTrees in interface TransitionsExtensionInputpublic java.util.Set<java.lang.Long> getRenderUnitIdsWhichHostRenderTrees()
VisibilityExtensionInputRenderUnits which host RenderTreeHostgetRenderUnitIdsWhichHostRenderTrees in interface VisibilityExtensionInputpublic java.util.List<Transition> getTransitions()
getTransitions in interface TransitionsExtensionInputpublic java.util.Map<TransitionId,OutputUnitsAffinityGroup<AnimatableItem>> getTransitionIdMapping()
getTransitionIdMapping in interface TransitionsExtensionInputpublic OutputUnitsAffinityGroup<AnimatableItem> getAnimatableItemForTransitionId(TransitionId transitionId)
getAnimatableItemForTransitionId in interface TransitionsExtensionInputpublic java.util.List<ScopedComponentInfo> getScopedComponentInfosNeedingPreviousRenderData()
public void setInitialRootBoundsForAnimation(Transition.RootBoundsTransition rootWidth, Transition.RootBoundsTransition rootHeight)
setInitialRootBoundsForAnimation in interface TransitionsExtensionInputpublic java.util.List<Transition> getMountTimeTransitions()
getMountTimeTransitions in interface TransitionsExtensionInputpublic boolean isIncrementalMountEnabled()
isIncrementalMountEnabled in interface TransitionsExtensionInputpublic Systracer getTracer()
getTracer in interface TransitionsExtensionInputpublic TransitionId getRootTransitionId()
getRootTransitionId in interface TransitionsExtensionInputpublic boolean needsToRerunTransitions()
needsToRerunTransitions in interface TransitionsExtensionInputpublic void setNeedsToRerunTransitions(boolean needsToRerunTransitions)
setNeedsToRerunTransitions in interface TransitionsExtensionInputpublic boolean isProcessingVisibilityOutputsEnabled()
isProcessingVisibilityOutputsEnabled in interface VisibilityExtensionInputpublic void setShouldProcessVisibilityOutputs(boolean value)
public java.lang.String getRootName()
getRootName in interface TransitionsExtensionInput@Deprecated public static LayoutState createTestInstance(ComponentContext c)