diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index d233e647963..f916c4f2f09 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -4753,9 +4753,9 @@ public class com/facebook/react/uimanager/ReactStylesDiffMap { public fun toString ()Ljava/lang/String; } -public class com/facebook/react/uimanager/ReactYogaConfigProvider { - public fun ()V - public static fun get ()Lcom/facebook/yoga/YogaConfig; +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 { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java deleted file mode 100644 index 67c80d2c80f..00000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.react.uimanager; - -import com.facebook.infer.annotation.Nullsafe; -import com.facebook.yoga.YogaConfig; -import com.facebook.yoga.YogaConfigFactory; -import com.facebook.yoga.YogaErrata; - -@Nullsafe(Nullsafe.Mode.LOCAL) -public class ReactYogaConfigProvider { - - private static YogaConfig YOGA_CONFIG; - - public static YogaConfig get() { - if (YOGA_CONFIG == null) { - YOGA_CONFIG = YogaConfigFactory.create(); - YOGA_CONFIG.setPointScaleFactor(0f); - YOGA_CONFIG.setErrata(YogaErrata.ALL); - } - return YOGA_CONFIG; - } -} 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 new file mode 100644 index 00000000000..bcfdbc81b2c --- /dev/null +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt @@ -0,0 +1,28 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.react.uimanager + +import com.facebook.yoga.YogaConfig +import com.facebook.yoga.YogaConfigFactory +import com.facebook.yoga.YogaErrata + +public object ReactYogaConfigProvider { + + private val yogaConfig: YogaConfig by + lazy(LazyThreadSafetyMode.NONE) { + val config = YogaConfigFactory.create() + config.setPointScaleFactor(0f) + config.setErrata(YogaErrata.ALL) + config + } + + @JvmStatic + public fun get(): YogaConfig { + return yogaConfig + } +}