in litho-core/src/main/java/com/facebook/litho/PreloadingUtils.java [37:205]
public static void preloadLithoClasses(final @Nullable Set<Class> additionalClasses) {
final Runnable r =
new Runnable() {
@Override
public void run() {
final Set<Class> classes =
new HashSet<Class>(
Arrays.asList(
SpecGeneratedComponent.class,
Component.class,
EventDispatcher.class,
HasEventDispatcher.class,
Equivalence.class,
EventTriggerTarget.class,
HasEventTrigger.class,
LithoYogaMeasureFunction.class,
Size.class,
ComponentTree.class,
LithoLifecycleListener.class,
DefaultErrorEventHandler.class,
ErrorEventHandler.class,
EventHandler.class,
LayoutState.class,
HostComponent.class,
DrawableComponent.class,
StateContainer.class,
CommonProps.class,
LayoutProps.class,
NodeInfo.class,
DelegatingEventHandler.class,
StateValue.class,
Output.class,
LithoLifecycleProviderDelegate.class,
LithoLifecycleProvider.class,
Diff.class,
LayoutThreadPoolConfigurationImpl.class,
WorkingRange.class,
LithoNode.class,
LithoLayoutResult.class,
ComponentLayout.class,
NodeConfig.class,
LithoRenderContext.class,
LayoutResultHolder.class,
DefaultDiffNode.class,
ViewNodeInfo.class,
LithoRenderUnit.class,
LithoLayoutData.class,
LayoutStateOutputIdCalculator.class,
Column.class,
Edges.class,
Row.class,
InterStagePropsContainer.class,
Border.class,
FastMath.class,
LithoView.class,
ComponentHost.class,
MountState.class,
DynamicPropsManager.class,
AnimationsDebug.class,
Wrapper.class,
MountContentPool.class,
DefaultMountContentPool.class,
LayoutSpecAttachable.class,
Attachable.class,
Touchable.class,
ImageContent.class,
AttachDetachHandler.class,
DisabledMountContentPool.class,
ComponentClickListener.class,
CommonUtils.class,
MatrixDrawable.class,
VisibleEvent.class,
FullImpressionVisibleEvent.class,
HasLithoViewChildren.class,
ComponentLongClickListener.class,
FocusedVisibleEvent.class,
RenderState.class,
LithoViewAttributesExtension.class,
DynamicPropsExtension.class,
VisibilityChangedEvent.class,
InvisibleEvent.class,
TouchEvent.class,
ComponentsSystrace.class,
WorkContinuationInstrumenter.class,
EventDispatcherInstrumenter.class,
ComponentContext.class,
ResourceCache.class,
LruResourceCache.class,
ResourceResolver.class,
DynamicValue.class,
InitialStateContainer.class,
RenderUnitIdMap.class,
EventHandlersController.class,
EventTriggersContainer.class,
WorkingRangeStatusHandler.class,
StateHandler.class,
IncrementalMountHelper.class,
DefaultComponentsSystrace.class,
LayoutStateContext.class,
AccessibilityUtils.class,
Layout.class,
TreeProps.class,
ThreadUtils.class,
RenderResult.class,
ComponentKeyUtils.class,
ThreadPoolLayoutHandler.class,
LayoutThreadPoolExecutor.class,
LayoutThreadFactory.class,
InternalNodeUtils.class,
SizeSpec.class,
TransitionId.class,
LayoutOutput.class,
OutputUnitsAffinityGroup.class,
LithoAnimtableItem.class,
WorkingRangeContainer.class,
MeasureComparisonUtils.class,
Handle.class,
DrawableMatrix.class,
LithoMountData.class,
TransitionsExtension.class,
ContextUtils.class,
ComponentUtils.class,
MountItemsPool.class,
LogTreePopulator.class,
DoubleMeasureFixUtil.class,
TouchExpansionDelegate.class,
ComponentTouchListener.class,
EventTrigger.class,
Transition.class,
ComponentHostUtils.class,
DelayTransitionSet.class,
ParallelTransitionSet.class,
TransitionManager.class,
TransitionIdMap.class,
ThreadTracingRunnable.class,
TransitionSet.class,
ReThrownException.class,
TextContent.class,
LithoGestureDetector.class,
LithoHostListenerCoordinator.class,
EndToEndTestingExtension.class,
ComponentAccessibilityDelegate.class,
ScopedComponentInfo.class,
KStateContainer.class,
EventDispatcherUtils.class,
LithoViewTestHelper.class,
DebugComponent.class,
UnfocusedVisibleEvent.class,
LithoTooltip.class,
ComponentsReporter.class,
InterceptTouchEvent.class,
ComponentFocusChangeListener.class,
FocusChangedEvent.class,
ClickEvent.class,
ComponentTreeDumpingHelper.class,
BoundaryWorkingRange.class,
RenderCompleteEvent.class,
InterceptTouchEvent.class));
if (additionalClasses != null) {
classes.addAll(additionalClasses);
}
for (Class clazz : classes) {
clazz.hashCode();
}
}
};
preloadClassHandler.post(r);
}