From e4babdd224ee4c80b32a7d68cd0957854bcff41a Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Tue, 4 Feb 2025 09:17:14 -0800 Subject: [PATCH] Make ReactYogaConfigProvider internal (#49170) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49170 This makes the `ReactYogaConfigProvider` class internal. I've verified that there are no meaningful usages in OSS: https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+com.facebook.react.uimanager.ReactYogaConfigProvider Changelog: [Internal] [Changed] - Reviewed By: fabriziocucci Differential Revision: D69120491 fbshipit-source-id: 3de342364897c09747ca724d26db437c81e235a1 --- .../ReactAndroid/api/ReactAndroid.api | 5 ----- .../react/uimanager/ReactShadowNodeImpl.java | 2 +- .../react/uimanager/ReactYogaConfigProvider.kt | 17 ++++++----------- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index f3404273bd5..102eada4951 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -4718,11 +4718,6 @@ public class com/facebook/react/uimanager/ReactStylesDiffMap { public fun toString ()Ljava/lang/String; } -public final class com/facebook/react/uimanager/ReactYogaConfigProvider { - public static final field INSTANCE Lcom/facebook/react/uimanager/ReactYogaConfigProvider; - public static final fun get ()Lcom/facebook/yoga/YogaConfig; -} - public abstract interface class com/facebook/react/uimanager/ReactZIndexedViewGroup { public abstract fun getZIndexMappedChildIndex (I)I public abstract fun updateDrawingOrder ()V diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java index 193fee66947..7e764a4ec33 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java @@ -59,7 +59,7 @@ public class ReactShadowNodeImpl implements ReactShadowNode private static final YogaConfig sYogaConfig; static { - sYogaConfig = ReactYogaConfigProvider.get(); + sYogaConfig = ReactYogaConfigProvider.INSTANCE.getYogaConfig(); } private int mReactTag; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt index bcfdbc81b2c..e04c0d9edd6 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt @@ -11,18 +11,13 @@ import com.facebook.yoga.YogaConfig import com.facebook.yoga.YogaConfigFactory import com.facebook.yoga.YogaErrata -public object ReactYogaConfigProvider { +internal object ReactYogaConfigProvider { - private val yogaConfig: YogaConfig by + val yogaConfig: YogaConfig by lazy(LazyThreadSafetyMode.NONE) { - val config = YogaConfigFactory.create() - config.setPointScaleFactor(0f) - config.setErrata(YogaErrata.ALL) - config + YogaConfigFactory.create().apply { + setPointScaleFactor(0f) + setErrata(YogaErrata.ALL) + } } - - @JvmStatic - public fun get(): YogaConfig { - return yogaConfig - } }