From c08e16afee8b916a6c407cbfcd6bcbac853a80b8 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Thu, 6 Mar 2025 11:58:36 -0800 Subject: [PATCH] Correctly propagate prepareToRecycleView return value (#49858) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49858 `prepareToRecycleView` returns nullable, since we may decide a view is not recyclable. We should respect that and return the view returned by super. Changelog: [Internal] bypass-github-export-checks Reviewed By: fabriziocucci Differential Revision: D70696246 fbshipit-source-id: a8e12320611a3b6a3d05353e4b7556c4da416aea --- .../com/facebook/react/views/text/ReactTextViewManager.java | 2 +- .../java/com/facebook/react/views/view/ReactViewManager.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index 83d7f3cf34a..a16cc2ff5ec 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -74,7 +74,7 @@ public class ReactTextViewManager // Defaults from ReactTextAnchorViewManager setSelectionColor(preparedView, null); } - return view; + return preparedView; } @Override diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt index c17d7627442..233be99a71e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt @@ -72,11 +72,11 @@ public open class ReactViewManager : ReactClippingViewManager() override fun prepareToRecycleView( reactContext: ThemedReactContext, view: ReactViewGroup - ): ReactViewGroup { + ): ReactViewGroup? { // BaseViewManager val preparedView = super.prepareToRecycleView(reactContext, view) preparedView?.recycleView() - return view + return preparedView } @ReactProp(name = "accessible")