From 65975fe37b391c938aaab6c3ef5028643ba36d90 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Thu, 11 Jul 2024 07:45:55 -0700 Subject: [PATCH] Undo breaking change on `getJsCallInvokerHolder` (#45376) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/45376 This reduces one breaking change users are seeing on `CatalystInstance.getJsCallInvokerHolder`. I had to specify: ``` Suppress("INAPPLICABLE_JVM_NAME") get:JvmName("getJSCallInvokerHolder") ``` as the Kotlin compiler is unhappy with me setting a JvmName on a interface property. More on this here: https://youtrack.jetbrains.com/issue/KT-31420 Changelog: [Android] [Fixed] - Undo breaking change on `CatalystInstance.getJsCallInvokerHolder` Reviewed By: javache Differential Revision: D59631640 fbshipit-source-id: 4d5b3499e4e0e0bec1d380c4b7942ea28ae35465 --- .../main/java/com/facebook/react/bridge/CatalystInstance.kt | 5 ++++- .../com/facebook/react/runtime/BridgelessCatalystInstance.kt | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt index 3ef2970b2ce..a2325c6b95c 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt @@ -106,7 +106,10 @@ public interface CatalystInstance : MemoryPressureListener, JSInstance, JSBundle * Returns a hybrid object that contains a pointer to a JS CallInvoker, which is used to schedule * work on the JS Thread. Required for TurboModuleManager initialization. */ - @get:Deprecated("") public val jSCallInvokerHolder: CallInvokerHolder + @get:Deprecated("Use ReactContext.getJSCallInvokerHolder instead") + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getJSCallInvokerHolder") // This is needed to keep backward compatibility + public val jsCallInvokerHolder: CallInvokerHolder /** * Returns a hybrid object that contains a pointer to a NativeMethodCallInvoker, which is used to diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt index 86cdcf513fd..4bf0b77429a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt @@ -90,7 +90,9 @@ public class BridgelessCatalystInstance(private val reactHost: ReactHostImpl) : override public val javaScriptContextHolder: JavaScriptContextHolder get() = reactHost.getJavaScriptContextHolder()!! - override public val jSCallInvokerHolder: CallInvokerHolder + @Suppress("INAPPLICABLE_JVM_NAME") + @get:JvmName("getJSCallInvokerHolder") // This is needed to keep backward compatibility + override public val jsCallInvokerHolder: CallInvokerHolder get() = reactHost.getJSCallInvokerHolder()!! override public val nativeMethodCallInvokerHolder: NativeMethodCallInvokerHolder