Add openDebugger overload with target panel name (#53485)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53485

Adds new `openDebugger(panel)` overload on `DevSupportManager` (following D79329081).

Changelog:
[Android][Added] - `DevSupportManager::openDebugger` now supports an optional `panel` param

Reviewed By: hoxyq

Differential Revision: D81138169

fbshipit-source-id: 282da9fbc055fa4ce94cd2d0790ca4d29c55bfa8
This commit is contained in:
Alex Hunt
2025-08-27 10:38:42 -07:00
committed by Facebook GitHub Bot
parent 1618a8ed4f
commit 7eb3536728
4 changed files with 18 additions and 0 deletions
@@ -1963,6 +1963,7 @@ public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/
public fun onNewReactContextCreated (Lcom/facebook/react/bridge/ReactContext;)V
public fun onReactInstanceDestroyed (Lcom/facebook/react/bridge/ReactContext;)V
public fun openDebugger ()V
public fun openDebugger (Lcom/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName;)V
public fun processErrorCustomizers (Landroid/util/Pair;)Landroid/util/Pair;
public fun registerErrorCustomizer (Lcom/facebook/react/devsupport/interfaces/ErrorCustomizer;)V
public fun reloadJSFromServer (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/BundleLoadCallback;)V
@@ -2052,6 +2053,7 @@ public class com/facebook/react/devsupport/ReleaseDevSupportManager : com/facebo
public fun onNewReactContextCreated (Lcom/facebook/react/bridge/ReactContext;)V
public fun onReactInstanceDestroyed (Lcom/facebook/react/bridge/ReactContext;)V
public fun openDebugger ()V
public fun openDebugger (Lcom/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName;)V
public fun processErrorCustomizers (Landroid/util/Pair;)Landroid/util/Pair;
public fun registerErrorCustomizer (Lcom/facebook/react/devsupport/interfaces/ErrorCustomizer;)V
public fun reloadJSFromServer (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/BundleLoadCallback;)V
@@ -2161,6 +2163,7 @@ public abstract interface class com/facebook/react/devsupport/interfaces/DevSupp
public abstract fun onNewReactContextCreated (Lcom/facebook/react/bridge/ReactContext;)V
public abstract fun onReactInstanceDestroyed (Lcom/facebook/react/bridge/ReactContext;)V
public abstract fun openDebugger ()V
public abstract fun openDebugger (Lcom/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName;)V
public abstract fun processErrorCustomizers (Landroid/util/Pair;)Landroid/util/Pair;
public abstract fun registerErrorCustomizer (Lcom/facebook/react/devsupport/interfaces/ErrorCustomizer;)V
public abstract fun reloadJSFromServer (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/BundleLoadCallback;)V
@@ -52,6 +52,7 @@ import com.facebook.react.devsupport.InspectorFlags.getFuseboxEnabled
import com.facebook.react.devsupport.StackTraceHelper.convertJavaStackTrace
import com.facebook.react.devsupport.StackTraceHelper.convertJsStackTrace
import com.facebook.react.devsupport.interfaces.BundleLoadCallback
import com.facebook.react.devsupport.interfaces.DebuggerFrontendPanelName
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener
import com.facebook.react.devsupport.interfaces.DevLoadingViewManager
import com.facebook.react.devsupport.interfaces.DevOptionHandler
@@ -927,6 +928,14 @@ public abstract class DevSupportManagerBase(
)
}
override fun openDebugger(panel: DebuggerFrontendPanelName) {
devServerHelper.openDebugger(
currentReactContext,
applicationContext.getString(R.string.catalyst_open_debugger_error),
panel,
)
}
override fun showPausedInDebuggerOverlay(
message: String,
listener: PausedInDebuggerOverlayCommandListener,
@@ -16,6 +16,7 @@ import com.facebook.react.bridge.ReactContext
import com.facebook.react.bridge.ReadableArray
import com.facebook.react.common.SurfaceDelegate
import com.facebook.react.devsupport.interfaces.BundleLoadCallback
import com.facebook.react.devsupport.interfaces.DebuggerFrontendPanelName
import com.facebook.react.devsupport.interfaces.DevOptionHandler
import com.facebook.react.devsupport.interfaces.DevSupportManager
import com.facebook.react.devsupport.interfaces.DevSupportManager.PackagerLocationCustomizer
@@ -144,6 +145,8 @@ public open class ReleaseDevSupportManager : DevSupportManager {
public override fun openDebugger(): Unit = Unit
public override fun openDebugger(panel: DebuggerFrontendPanelName): Unit = Unit
public override fun showPausedInDebuggerOverlay(
message: String,
listener: PausedInDebuggerOverlayCommandListener,
@@ -97,6 +97,9 @@ public interface DevSupportManager : JSExceptionHandler {
/** Attempt to open the JS debugger on the host machine. */
public fun openDebugger()
/** Attempt to open the JS debugger on the host machine, providing a destination panel name. */
public fun openDebugger(panel: DebuggerFrontendPanelName)
/** Shows the "paused in debugger" overlay with the given message. */
public fun showPausedInDebuggerOverlay(
message: String,