diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 585734f3b5a..c0d2ec9e7c9 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -3869,7 +3869,7 @@ public abstract interface class com/facebook/react/touch/ReactInterceptingViewGr public abstract fun setOnInterceptTouchEventListener (Lcom/facebook/react/touch/OnInterceptTouchEventListener;)V } -public class com/facebook/react/turbomodule/core/CallInvokerHolderImpl : com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder { +public final class com/facebook/react/turbomodule/core/CallInvokerHolderImpl : com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder { } public class com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl : com/facebook/react/turbomodule/core/interfaces/NativeMethodCallInvokerHolder { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt index 4d6509f01e6..9dd54b55a5f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt @@ -9,13 +9,13 @@ package com.facebook.react.internal.turbomodule.core import com.facebook.soloader.SoLoader -internal class NativeModuleSoLoader { - companion object { +public class NativeModuleSoLoader { + public companion object { private var isSoLibraryLoaded = false @Synchronized @JvmStatic - fun maybeLoadSoLibrary() { + public fun maybeLoadSoLibrary() { if (!isSoLibraryLoaded) { SoLoader.loadLibrary("turbomodulejsijni") isSoLibraryLoaded = true diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt similarity index 53% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt index 455eeb84077..c354f468911 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt @@ -5,31 +5,25 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.turbomodule.core; +package com.facebook.react.turbomodule.core -import com.facebook.infer.annotation.Nullsafe; -import com.facebook.jni.HybridData; -import com.facebook.proguard.annotations.DoNotStrip; -import com.facebook.react.common.annotations.FrameworkAPI; -import com.facebook.react.internal.turbomodule.core.NativeModuleSoLoader; -import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder; +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.facebook.react.common.annotations.FrameworkAPI +import com.facebook.react.internal.turbomodule.core.NativeModuleSoLoader +import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder /** * JSCallInvoker is created at a different time/place (i.e: in CatalystInstance) than * TurboModuleManager. Therefore, we need to wrap JSCallInvoker within a hybrid class so that we may * pass it from CatalystInstance, through Java, to TurboModuleManager::initHybrid. */ -@Nullsafe(Nullsafe.Mode.LOCAL) @FrameworkAPI -public class CallInvokerHolderImpl implements CallInvokerHolder { - - @DoNotStrip private final HybridData mHybridData; - - static { - NativeModuleSoLoader.maybeLoadSoLibrary(); - } - - private CallInvokerHolderImpl(HybridData hd) { - mHybridData = hd; +public class CallInvokerHolderImpl +private constructor(@field:DoNotStrip private val mHybridData: HybridData) : CallInvokerHolder { + private companion object { + init { + NativeModuleSoLoader.maybeLoadSoLibrary() + } } }