From 19a99dd0882d786daea3db486fd3aed3c10419b5 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Sat, 9 Aug 2025 04:39:35 -0700 Subject: [PATCH] Deprecate JavaMethodWrapper (#53124) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53124 Deprecate LegacyArchitecture class JavaMethodWrapperchagelog: changelog: [Android][Changed] Deprecate LegacyArchitecture class JavaMethodWrapper Reviewed By: mlord93 Differential Revision: D79672296 fbshipit-source-id: 05432263c4452294c667226cb8e062c50f036931 --- .../main/java/com/facebook/react/bridge/JavaMethodWrapper.kt | 3 +++ .../main/java/com/facebook/react/bridge/JavaModuleWrapper.kt | 1 + 2 files changed, 4 insertions(+) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt index a4427e61a8d..b0d1d7091fc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt @@ -17,6 +17,9 @@ import com.facebook.systrace.SystraceMessage import java.lang.reflect.InvocationTargetException import java.lang.reflect.Method +@Deprecated( + message = "This class is part of Legacy Architecture and will be removed in a future release", + level = DeprecationLevel.WARNING) @LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR) internal class JavaMethodWrapper( private val moduleWrapper: JavaModuleWrapper, diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt index 8f230012dc6..2f271174f5e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt @@ -74,6 +74,7 @@ internal class JavaModuleWrapper( targetMethod.getAnnotation(ReactMethod::class.java)?.let { annotation -> val methodName = targetMethod.name val md = MethodDescriptor() + @Suppress("DEPRECATION") val method = JavaMethodWrapper(this, targetMethod, annotation.isBlockingSynchronousMethod) md.name = methodName md.type = method.type