From cbbe4b511042ae269d434c16b6670384d040c4ba Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 18 Feb 2025 04:09:34 -0800 Subject: [PATCH] Remove `RecyclerCollectionComponent::canMeasureRecycler` Summary: After resolving all call site issues with codemode and manual fixes, we're now able to get rid of the old API, `canMeasureRecycler`, which should be replaced by `CrossAxisWrapMode`. Reviewed By: zielinskimz Differential Revision: D69755915 fbshipit-source-id: f75dae1b464093a641915d071c58c97cb3036386 --- .../sections/widget/RecyclerCollectionComponentSpec.java | 3 --- .../litho/sections/widget/RecyclerCollectionComponent.kt | 2 -- .../src/main/java/com/facebook/litho/widget/Recycler.kt | 7 ++----- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/litho-sections-widget/src/main/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpec.java b/litho-sections-widget/src/main/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpec.java index 0e8cabe7933..3b4ac7161d7 100644 --- a/litho-sections-widget/src/main/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpec.java +++ b/litho-sections-widget/src/main/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpec.java @@ -200,7 +200,6 @@ public class RecyclerCollectionComponentSpec { LithoRecyclerView.OnBeforeLayoutListener onBeforeLayoutListener, @Prop(optional = true) @Nullable LithoRecyclerView.OnAfterLayoutListener onAfterLayoutListener, - @Prop(optional = true) boolean canMeasureRecycler, @State(canUpdateLazily = true) boolean hasSetSectionTreeRoot, @State RecyclerCollectionEventsController internalEventsController, @State LayoutInfo layoutInfo, @@ -252,7 +251,6 @@ public class RecyclerCollectionComponentSpec { boolean shouldNotWrapContent = !recyclerBinderConfig.wrapContent - && !canMeasureRecycler && (recyclerBinderConfig.crossAxisWrapMode == CrossAxisWrapMode.NoWrap); /* @@ -312,7 +310,6 @@ public class RecyclerCollectionComponentSpec { listenersToUse, snapHelper, canPTR, - canMeasureRecycler, touchInterceptor, itemTouchListener, canPTR diff --git a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/sections/widget/RecyclerCollectionComponent.kt b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/sections/widget/RecyclerCollectionComponent.kt index 65fd4649014..3b62bb60869 100644 --- a/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/sections/widget/RecyclerCollectionComponent.kt +++ b/litho-widget-kotlin/src/main/kotlin/com/facebook/litho/sections/widget/RecyclerCollectionComponent.kt @@ -46,7 +46,6 @@ inline fun ResourcesScope.RecyclerCollectionComponent( RecyclerCollectionComponentSpec.recyclerConfiguration, itemAnimator: ItemAnimator? = RecyclerCollectionComponentSpec.itemAnimator, itemDecoration: ItemDecoration? = null, - canMeasureRecycler: Boolean = false, loadingComponent: Component? = null, emptyComponent: Component? = null, errorComponent: Component? = null, @@ -77,7 +76,6 @@ inline fun ResourcesScope.RecyclerCollectionComponent( .recyclerConfiguration(recyclerConfiguration) .itemAnimator(itemAnimator) .itemDecoration(itemDecoration) - .canMeasureRecycler(canMeasureRecycler) .loadingComponent(loadingComponent) .emptyComponent(emptyComponent) .errorComponent(errorComponent) diff --git a/litho-widget/src/main/java/com/facebook/litho/widget/Recycler.kt b/litho-widget/src/main/java/com/facebook/litho/widget/Recycler.kt index cde4746f430..2178eb64387 100644 --- a/litho-widget/src/main/java/com/facebook/litho/widget/Recycler.kt +++ b/litho-widget/src/main/java/com/facebook/litho/widget/Recycler.kt @@ -83,7 +83,6 @@ constructor( private val onScrollListeners: List? = null, private val snapHelper: SnapHelper? = null, private val isPullToRefreshEnabled: Boolean = true, - private val canMeasureRecycler: Boolean = false, private val touchInterceptor: LithoRecyclerView.TouchInterceptor? = null, private val onItemTouchListener: RecyclerView.OnItemTouchListener? = null, private val onRefresh: (() -> Unit)? = null, @@ -142,8 +141,7 @@ constructor( startPadding = leftPadding, endPadding = rightPadding, topPadding = topPadding, - bottomPadding = bottomPadding, - canMeasureRecycler = canMeasureRecycler) { + bottomPadding = bottomPadding) { measureVersion.update { v -> v + 1 } }, mountBehavior = mountBehavior, @@ -457,7 +455,6 @@ private class RecyclerLayoutBehavior( private val endPadding: Int, private val topPadding: Int, private val bottomPadding: Int, - private val canMeasureRecycler: Boolean = false, private val onRemeasure: () -> Unit ) : LayoutBehavior { override fun LayoutScope.layout(sizeConstraints: SizeConstraints): PrimitiveLayoutResult { @@ -467,7 +464,7 @@ private class RecyclerLayoutBehavior( size, maybeGetSpecWithPadding(sizeConstraints.toWidthSpec(), startPadding + endPadding), maybeGetSpecWithPadding(sizeConstraints.toHeightSpec(), topPadding + bottomPadding), - if (binder.isCrossAxisWrapContent || binder.isMainAxisWrapContent || canMeasureRecycler) + if (binder.isCrossAxisWrapContent || binder.isMainAxisWrapContent) eventHandler { onRemeasure() } else null) return PrimitiveLayoutResult(