From acd0e97e633608cf90a732fbee40256fc43e755f Mon Sep 17 00:00:00 2001 From: Nick Lefever Date: Wed, 15 Oct 2025 23:21:57 -0700 Subject: [PATCH] Add fadingEdgeLength prop android scroll view props Summary: Adding `fadingEdgeLength` prop to the Android scroll view props together with prop diffing support for Props 2.0. Changelog: [Internal] Differential Revision: D84788963 --- .../scrollview/HostPlatformScrollViewProps.cpp | 16 +++++++++++++++- .../scrollview/HostPlatformScrollViewProps.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp index 802ef8265a7b9b..873b481c4ff76c 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp @@ -38,7 +38,16 @@ HostPlatformScrollViewProps::HostPlatformScrollViewProps( rawProps, "nestedScrollEnabled", sourceProps.nestedScrollEnabled, - true)) + true)), + fadingEdgeLength( + ReactNativeFeatureFlags::enableCppPropsIteratorSetter() + ? sourceProps.fadingEdgeLength + : convertRawProp( + context, + rawProps, + "fadingEdgeLength", + sourceProps.fadingEdgeLength, + nullptr)) {} @@ -57,6 +66,7 @@ void HostPlatformScrollViewProps::setProp( switch (hash) { RAW_SET_PROP_SWITCH_CASE_BASIC(sendMomentumEvents); RAW_SET_PROP_SWITCH_CASE_BASIC(nestedScrollEnabled); + RAW_SET_PROP_SWITCH_CASE_BASIC(fadingEdgeLength); } } @@ -348,6 +358,10 @@ folly::dynamic HostPlatformScrollViewProps::getDiffProps( result["nestedScrollEnabled"] = nestedScrollEnabled; } + if (fadingEdgeLength != oldProps->fadingEdgeLength) { + result["fadingEdgeLength"] = fadingEdgeLength; + } + return result; } diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h b/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h index 8ffa0e0253f074..ce584b383fc327 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h @@ -32,6 +32,7 @@ class HostPlatformScrollViewProps : public BaseScrollViewProps { bool sendMomentumEvents{}; bool nestedScrollEnabled{}; + folly::dynamic fadingEdgeLength{}; #pragma mark - DebugStringConvertible