From 0bd0635be6b9102a02e62d2be430b1dba218cd36 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Mon, 7 Apr 2025 11:26:54 -0700 Subject: [PATCH] Migrate to Kotlin - DevSupportManagerFactory (#50516) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50516 This diff migrates the following file to Kotlin - DevSupportManagerFactory as part of our ongoing effort of migrating the codebase to Kotlin Changelog: [Android] [Changed] - Migrate to Kotlin - DevSupportManagerFactory - We couldn't find any implementation of this class in OSS. Some Kotlin implementers might have to change the method signatures. However this interface is not supposed to be extended in OSS. Reviewed By: javache Differential Revision: D72556310 fbshipit-source-id: 35d1ed3c332296d3be5244fdab92a890d7ea3c40 --- .../DefaultDevSupportManagerFactory.kt | 2 +- .../devsupport/DevSupportManagerFactory.java | 56 ------------------ .../devsupport/DevSupportManagerFactory.kt | 57 +++++++++++++++++++ 3 files changed, 58 insertions(+), 57 deletions(-) delete mode 100644 packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java create mode 100644 packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt index df5724d8083..bb03454ac27 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt @@ -95,7 +95,7 @@ internal class DefaultDevSupportManagerFactory : DevSupportManagerFactory { redBoxHandler: RedBoxHandler?, devBundleDownloadListener: DevBundleDownloadListener?, minNumShakes: Int, - customPackagerCommandHandlers: MutableMap?, + customPackagerCommandHandlers: Map?, surfaceDelegateFactory: SurfaceDelegateFactory?, devLoadingViewManager: DevLoadingViewManager?, pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager?, diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java deleted file mode 100644 index 29d9f7e3053..00000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +++ /dev/null @@ -1,56 +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.devsupport; - -import android.content.Context; -import androidx.annotation.Nullable; -import com.facebook.react.common.SurfaceDelegateFactory; -import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener; -import com.facebook.react.devsupport.interfaces.DevLoadingViewManager; -import com.facebook.react.devsupport.interfaces.DevSupportManager; -import com.facebook.react.devsupport.interfaces.PausedInDebuggerOverlayManager; -import com.facebook.react.devsupport.interfaces.RedBoxHandler; -import com.facebook.react.packagerconnection.RequestHandler; -import java.util.Map; - -public interface DevSupportManagerFactory { - /** - * Factory used by the Old Architecture flow to create a {@link DevSupportManager} and a {@link - * com.facebook.react.runtime.BridgeDevSupportManager} - */ - DevSupportManager create( - Context applicationContext, - ReactInstanceDevHelper reactInstanceManagerHelper, - @Nullable String packagerPathForJSBundleName, - boolean enableOnCreate, - @Nullable RedBoxHandler redBoxHandler, - @Nullable DevBundleDownloadListener devBundleDownloadListener, - int minNumShakes, - @Nullable Map customPackagerCommandHandlers, - @Nullable SurfaceDelegateFactory surfaceDelegateFactory, - @Nullable DevLoadingViewManager devLoadingViewManager, - @Nullable PausedInDebuggerOverlayManager pausedInDebuggerOverlayManager); - - /** - * Factory used by the New Architecture/Bridgeless flow to create a {@link DevSupportManager} and - * a {@link BridgelessDevSupportManager} - */ - DevSupportManager create( - Context applicationContext, - ReactInstanceDevHelper reactInstanceManagerHelper, - @Nullable String packagerPathForJSBundleName, - boolean enableOnCreate, - @Nullable RedBoxHandler redBoxHandler, - @Nullable DevBundleDownloadListener devBundleDownloadListener, - int minNumShakes, - @Nullable Map customPackagerCommandHandlers, - @Nullable SurfaceDelegateFactory surfaceDelegateFactory, - @Nullable DevLoadingViewManager devLoadingViewManager, - @Nullable PausedInDebuggerOverlayManager pausedInDebuggerOverlayManager, - boolean useDevSupport); -} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt new file mode 100644 index 00000000000..c006de2d7ba --- /dev/null +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt @@ -0,0 +1,57 @@ +/* + * 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.devsupport + +import android.content.Context +import com.facebook.react.common.SurfaceDelegateFactory +import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener +import com.facebook.react.devsupport.interfaces.DevLoadingViewManager +import com.facebook.react.devsupport.interfaces.DevSupportManager +import com.facebook.react.devsupport.interfaces.PausedInDebuggerOverlayManager +import com.facebook.react.devsupport.interfaces.RedBoxHandler +import com.facebook.react.packagerconnection.RequestHandler + +public interface DevSupportManagerFactory { + + /** + * Factory used by the Old Architecture flow to create a [DevSupportManager] and a + * [BridgeDevSupportManager] + */ + public fun create( + applicationContext: Context, + reactInstanceManagerHelper: ReactInstanceDevHelper, + packagerPathForJSBundleName: String?, + enableOnCreate: Boolean, + redBoxHandler: RedBoxHandler?, + devBundleDownloadListener: DevBundleDownloadListener?, + minNumShakes: Int, + customPackagerCommandHandlers: Map?, + surfaceDelegateFactory: SurfaceDelegateFactory?, + devLoadingViewManager: DevLoadingViewManager?, + pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager? + ): DevSupportManager + + /** + * Factory used by the New Architecture/Bridgeless flow to create a [DevSupportManager] and a + * [BridgelessDevSupportManager] + */ + public fun create( + applicationContext: Context, + reactInstanceManagerHelper: ReactInstanceDevHelper, + packagerPathForJSBundleName: String?, + enableOnCreate: Boolean, + redBoxHandler: RedBoxHandler?, + devBundleDownloadListener: DevBundleDownloadListener?, + minNumShakes: Int, + customPackagerCommandHandlers: Map?, + surfaceDelegateFactory: SurfaceDelegateFactory?, + devLoadingViewManager: DevLoadingViewManager?, + pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager?, + useDevSupport: Boolean + ): DevSupportManager +}