Skip to content

Commit c7a3c8e

Browse files
cortinicofacebook-github-bot
authored andcommitted
Migrate to Kotlin - DevSupportManagerBase.kt
Summary: This diff migrates the following file to Kotlin - DevSupportManagerBase.kt as part of our ongoing effort of migrating the codebase to Kotlin This file was 1000LOC+ so its migration is quite involved. I had to look into nullability of various parameters. Most notably the `Array<StackFrame?>` -> `Array<StackFrame>`. This also is the last file left in the devsupport package that needs to be migrated to Kotlin. Changelog: [Android] [Breaking] - DevSupportManagerBase is now converted to Kotlin. If you're subclassing this class, you will have to adjust some of the parameters as types have changed during the migration. Differential Revision: D72637098
1 parent 3367954 commit c7a3c8e

File tree

6 files changed

+992
-1229
lines changed

6 files changed

+992
-1229
lines changed

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2016,35 +2016,35 @@ public abstract interface class com/facebook/react/devsupport/DevServerHelper$Pa
20162016
}
20172017

20182018
public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/facebook/react/devsupport/interfaces/DevSupportManager {
2019-
protected final field mReactInstanceDevHelper Lcom/facebook/react/devsupport/ReactInstanceDevHelper;
2019+
public static final field Companion Lcom/facebook/react/devsupport/DevSupportManagerBase$Companion;
20202020
public fun <init> (Landroid/content/Context;Lcom/facebook/react/devsupport/ReactInstanceDevHelper;Ljava/lang/String;ZLcom/facebook/react/devsupport/interfaces/RedBoxHandler;Lcom/facebook/react/devsupport/interfaces/DevBundleDownloadListener;ILjava/util/Map;Lcom/facebook/react/common/SurfaceDelegateFactory;Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;Lcom/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager;)V
20212021
public fun addCustomDevOption (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/DevOptionHandler;)V
20222022
public fun createRootView (Ljava/lang/String;)Landroid/view/View;
20232023
public fun createSurfaceDelegate (Ljava/lang/String;)Lcom/facebook/react/common/SurfaceDelegate;
20242024
public fun destroyRootView (Landroid/view/View;)V
20252025
public fun downloadBundleResourceFromUrlSync (Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
2026-
public fun fetchSplitBundleAndCreateBundleLoader (Ljava/lang/String;Lcom/facebook/react/devsupport/DevSupportManagerBase$CallbackWithBundleLoader;)V
2027-
protected fun getApplicationContext ()Landroid/content/Context;
2026+
public final fun fetchSplitBundleAndCreateBundleLoader (Ljava/lang/String;Lcom/facebook/react/devsupport/DevSupportManagerBase$CallbackWithBundleLoader;)V
2027+
protected final fun getApplicationContext ()Landroid/content/Context;
20282028
public fun getCurrentActivity ()Landroid/app/Activity;
2029-
public fun getCurrentReactContext ()Lcom/facebook/react/bridge/ReactContext;
2030-
public fun getDevLoadingViewManager ()Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;
2031-
public fun getDevServerHelper ()Lcom/facebook/react/devsupport/DevServerHelper;
2032-
public fun getDevSettings ()Lcom/facebook/react/modules/debug/interfaces/DeveloperSettings;
2033-
public fun getDevSupportEnabled ()Z
2029+
public final fun getCurrentReactContext ()Lcom/facebook/react/bridge/ReactContext;
2030+
public final fun getDevLoadingViewManager ()Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;
2031+
public final fun getDevServerHelper ()Lcom/facebook/react/devsupport/DevServerHelper;
2032+
public final fun getDevSettings ()Lcom/facebook/react/modules/debug/interfaces/DeveloperSettings;
2033+
public final fun getDevSupportEnabled ()Z
20342034
public fun getDownloadedJSBundleFile ()Ljava/lang/String;
2035-
public fun getJSAppBundleName ()Ljava/lang/String;
2036-
public fun getLastErrorCookie ()I
2037-
public fun getLastErrorStack ()[Lcom/facebook/react/devsupport/interfaces/StackFrame;
2038-
public fun getLastErrorTitle ()Ljava/lang/String;
2039-
public fun getLastErrorType ()Lcom/facebook/react/devsupport/interfaces/ErrorType;
2040-
public fun getReactInstanceDevHelper ()Lcom/facebook/react/devsupport/ReactInstanceDevHelper;
2035+
public final fun getJSAppBundleName ()Ljava/lang/String;
2036+
public final fun getLastErrorCookie ()I
2037+
public final fun getLastErrorStack ()[Lcom/facebook/react/devsupport/interfaces/StackFrame;
2038+
public final fun getLastErrorTitle ()Ljava/lang/String;
2039+
public final fun getLastErrorType ()Lcom/facebook/react/devsupport/interfaces/ErrorType;
2040+
public final fun getReactInstanceDevHelper ()Lcom/facebook/react/devsupport/ReactInstanceDevHelper;
20412041
public fun getRedBoxHandler ()Lcom/facebook/react/devsupport/interfaces/RedBoxHandler;
20422042
public fun getSourceMapUrl ()Ljava/lang/String;
20432043
public fun getSourceUrl ()Ljava/lang/String;
20442044
protected abstract fun getUniqueTag ()Ljava/lang/String;
20452045
public fun handleException (Ljava/lang/Exception;)V
20462046
public fun hasUpToDateJSBundleInCache ()Z
2047-
protected fun hideDevLoadingView ()V
2047+
protected final fun hideDevLoadingView ()V
20482048
public fun hidePausedInDebuggerOverlay ()V
20492049
public fun hideRedboxDialog ()V
20502050
public fun isPackagerRunning (Lcom/facebook/react/devsupport/interfaces/PackagerStatusCallback;)V
@@ -2056,11 +2056,16 @@ public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/
20562056
public fun reloadJSFromServer (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/BundleLoadCallback;)V
20572057
public fun reloadSettings ()V
20582058
public fun setAdditionalOptionForPackager (Ljava/lang/String;Ljava/lang/String;)V
2059-
public fun setDevSupportEnabled (Z)V
2059+
public final fun setDevLoadingViewManager (Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;)V
2060+
public final fun setDevSupportEnabled (Z)V
20602061
public fun setFpsDebugEnabled (Z)V
20612062
public fun setHotModuleReplacementEnabled (Z)V
2063+
public final fun setLastErrorCookie (I)V
2064+
public final fun setLastErrorStack ([Lcom/facebook/react/devsupport/interfaces/StackFrame;)V
2065+
public final fun setLastErrorTitle (Ljava/lang/String;)V
2066+
public final fun setLastErrorType (Lcom/facebook/react/devsupport/interfaces/ErrorType;)V
20622067
public fun setPackagerLocationCustomizer (Lcom/facebook/react/devsupport/interfaces/DevSupportManager$PackagerLocationCustomizer;)V
2063-
protected fun showDevLoadingViewForRemoteJSEnabled ()V
2068+
protected final fun showDevLoadingViewForRemoteJSEnabled ()V
20642069
public fun showDevOptionsDialog ()V
20652070
public fun showNewJSError (Ljava/lang/String;Lcom/facebook/react/bridge/ReadableArray;I)V
20662071
public fun showNewJavaError (Ljava/lang/String;Ljava/lang/Throwable;)V
@@ -2075,6 +2080,9 @@ public abstract interface class com/facebook/react/devsupport/DevSupportManagerB
20752080
public abstract fun onSuccess (Lcom/facebook/react/bridge/JSBundleLoader;)V
20762081
}
20772082

2083+
public final class com/facebook/react/devsupport/DevSupportManagerBase$Companion {
2084+
}
2085+
20782086
public abstract interface class com/facebook/react/devsupport/DevSupportManagerFactory {
20792087
public abstract fun create (Landroid/content/Context;Lcom/facebook/react/devsupport/ReactInstanceDevHelper;Ljava/lang/String;ZLcom/facebook/react/devsupport/interfaces/RedBoxHandler;Lcom/facebook/react/devsupport/interfaces/DevBundleDownloadListener;ILjava/util/Map;Lcom/facebook/react/common/SurfaceDelegateFactory;Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;Lcom/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager;)Lcom/facebook/react/devsupport/interfaces/DevSupportManager;
20802088
public abstract fun create (Landroid/content/Context;Lcom/facebook/react/devsupport/ReactInstanceDevHelper;Ljava/lang/String;ZLcom/facebook/react/devsupport/interfaces/RedBoxHandler;Lcom/facebook/react/devsupport/interfaces/DevBundleDownloadListener;ILjava/util/Map;Lcom/facebook/react/common/SurfaceDelegateFactory;Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;Lcom/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager;Z)Lcom/facebook/react/devsupport/interfaces/DevSupportManager;

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class BridgeDevSupportManager(
5656
redBoxHandler: RedBoxHandler?,
5757
devBundleDownloadListener: DevBundleDownloadListener?,
5858
minNumShakes: Int,
59-
customPackagerCommandHandlers: Map<String?, RequestHandler?>?,
59+
customPackagerCommandHandlers: Map<String, RequestHandler>?,
6060
surfaceDelegateFactory: SurfaceDelegateFactory?,
6161
devLoadingViewManager: DevLoadingViewManager?,
6262
pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager?
@@ -74,7 +74,7 @@ public class BridgeDevSupportManager(
7474
devLoadingViewManager,
7575
pausedInDebuggerOverlayManager) {
7676

77-
override fun getUniqueTag(): String = "Bridge"
77+
override val uniqueTag: String = "Bridge"
7878

7979
override fun loadSplitBundleFromServer(bundlePath: String, callback: DevSplitBundleCallback) {
8080
fetchSplitBundleAndCreateBundleLoader(

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,17 +71,17 @@ internal class BridgelessDevSupportManager(
7171
devLoadingViewManager = null,
7272
pausedInDebuggerOverlayManager = null)
7373

74-
override fun getUniqueTag(): String = "Bridgeless"
74+
override val uniqueTag: String = "Bridgeless"
7575

7676
override fun loadSplitBundleFromServer(bundlePath: String, callback: DevSplitBundleCallback) {
7777
fetchSplitBundleAndCreateBundleLoader(
7878
bundlePath,
7979
object : CallbackWithBundleLoader {
8080
override fun onSuccess(bundleLoader: JSBundleLoader) {
8181
try {
82-
mReactInstanceDevHelper.loadBundle(bundleLoader).waitForCompletion()
82+
reactInstanceDevHelper.loadBundle(bundleLoader).waitForCompletion()
8383
val bundleURL = devServerHelper.getDevServerSplitBundleURL(bundlePath)
84-
val reactContext = mReactInstanceDevHelper.currentReactContext
84+
val reactContext = reactInstanceDevHelper.currentReactContext
8585
reactContext?.getJSModule(HMRClient::class.java)?.registerBundle(bundleURL)
8686
callback.onSuccess()
8787
} catch (e: InterruptedException) {
@@ -99,6 +99,6 @@ internal class BridgelessDevSupportManager(
9999
UiThreadUtil.assertOnUiThread()
100100
// dismiss redbox if exists
101101
hideRedboxDialog()
102-
mReactInstanceDevHelper.reload("BridgelessDevSupportManager.handleReloadJS()")
102+
reactInstanceDevHelper.reload("BridgelessDevSupportManager.handleReloadJS()")
103103
}
104104
}

0 commit comments

Comments
 (0)