diff --git a/packages/react-native/ReactAndroid/api/ReactAndroid.api b/packages/react-native/ReactAndroid/api/ReactAndroid.api index 6671bb0daa0..b92182b313c 100644 --- a/packages/react-native/ReactAndroid/api/ReactAndroid.api +++ b/packages/react-native/ReactAndroid/api/ReactAndroid.api @@ -3237,12 +3237,17 @@ public class com/facebook/react/modules/deviceinfo/DeviceInfoModule : com/facebo public fun onHostResume ()V } -public class com/facebook/react/modules/devloading/DevLoadingModule : com/facebook/fbreact/specs/NativeDevLoadingViewSpec { +public final class com/facebook/react/modules/devloading/DevLoadingModule : com/facebook/fbreact/specs/NativeDevLoadingViewSpec { + public static final field Companion Lcom/facebook/react/modules/devloading/DevLoadingModule$Companion; + public static final field NAME Ljava/lang/String; public fun (Lcom/facebook/react/bridge/ReactApplicationContext;)V public fun hide ()V public fun showMessage (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;)V } +public final class com/facebook/react/modules/devloading/DevLoadingModule$Companion { +} + public final class com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule : com/facebook/fbreact/specs/NativeDevToolsSettingsManagerSpec { public fun (Lcom/facebook/react/bridge/ReactApplicationContext;)V public fun getConsolePatchSettings ()Ljava/lang/String; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java deleted file mode 100644 index 8bd3731584d..00000000000 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.java +++ /dev/null @@ -1,63 +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.modules.devloading; - -import androidx.annotation.Nullable; -import com.facebook.fbreact.specs.NativeDevLoadingViewSpec; -import com.facebook.react.bridge.JSExceptionHandler; -import com.facebook.react.bridge.NativeModule; -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.UiThreadUtil; -import com.facebook.react.devsupport.DevSupportManagerBase; -import com.facebook.react.devsupport.interfaces.DevLoadingViewManager; -import com.facebook.react.module.annotations.ReactModule; - -/** {@link NativeModule} that allows JS to show dev loading view. */ -@ReactModule(name = NativeDevLoadingViewSpec.NAME) -public class DevLoadingModule extends NativeDevLoadingViewSpec { - - private final JSExceptionHandler mJSExceptionHandler; - private @Nullable DevLoadingViewManager mDevLoadingViewManager; - - public DevLoadingModule(ReactApplicationContext reactContext) { - super(reactContext); - mJSExceptionHandler = reactContext.getJSExceptionHandler(); - if (mJSExceptionHandler != null && mJSExceptionHandler instanceof DevSupportManagerBase) { - mDevLoadingViewManager = - ((DevSupportManagerBase) mJSExceptionHandler).getDevLoadingViewManager(); - } - } - - @Override - public void showMessage(final String message, final Double color, final Double backgroundColor) { - - UiThreadUtil.runOnUiThread( - new Runnable() { - @Override - public void run() { - if (mDevLoadingViewManager != null) { - mDevLoadingViewManager.showMessage(message); - } - } - }); - } - - @Override - public void hide() { - - UiThreadUtil.runOnUiThread( - new Runnable() { - @Override - public void run() { - if (mDevLoadingViewManager != null) { - mDevLoadingViewManager.hide(); - } - } - }); - } -} diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt new file mode 100644 index 00000000000..3457b3ae78c --- /dev/null +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt @@ -0,0 +1,44 @@ +/* + * 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.modules.devloading + +import com.facebook.fbreact.specs.NativeDevLoadingViewSpec +import com.facebook.react.bridge.JSExceptionHandler +import com.facebook.react.bridge.NativeModule +import com.facebook.react.bridge.ReactApplicationContext +import com.facebook.react.bridge.UiThreadUtil +import com.facebook.react.devsupport.DevSupportManagerBase +import com.facebook.react.devsupport.interfaces.DevLoadingViewManager +import com.facebook.react.module.annotations.ReactModule + +/** [NativeModule] that allows JS to show dev loading view. */ +@ReactModule(name = NativeDevLoadingViewSpec.NAME) +public class DevLoadingModule(reactContext: ReactApplicationContext) : + NativeDevLoadingViewSpec(reactContext) { + + private val jsExceptionHandler: JSExceptionHandler? = reactContext.jsExceptionHandler + private var devLoadingViewManager: DevLoadingViewManager? = null + + init { + if (jsExceptionHandler != null && jsExceptionHandler is DevSupportManagerBase) { + devLoadingViewManager = jsExceptionHandler.devLoadingViewManager + } + } + + public override fun showMessage(message: String, color: Double?, backgroundColor: Double?) { + UiThreadUtil.runOnUiThread(Runnable { devLoadingViewManager?.showMessage(message) }) + } + + public override fun hide() { + UiThreadUtil.runOnUiThread(Runnable { devLoadingViewManager?.hide() }) + } + + public companion object { + public const val NAME: String = NativeDevLoadingViewSpec.NAME + } +}