diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java
index 160a5006163..897c4ed8651 100644
--- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java
+++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java
@@ -10,6 +10,7 @@ package com.facebook.react.devsupport;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
+import android.app.Dialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
@@ -22,8 +23,10 @@ import android.hardware.SensorManager;
import android.os.Build;
import android.util.Pair;
import android.view.Gravity;
+import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.LinearLayout;
@@ -1165,7 +1168,7 @@ public abstract class DevSupportManagerBase implements DevSupportManager {
mCurrentContext, mApplicationContext.getString(R.string.catalyst_open_debugger_error));
}
- private @Nullable AlertDialog mPausedInDebuggerDialog;
+ private @Nullable Dialog mPausedInDebuggerDialog;
@Override
public void showPausedInDebuggerOverlay(
@@ -1179,15 +1182,22 @@ public abstract class DevSupportManagerBase implements DevSupportManager {
if (context == null || context.isFinishing()) {
return;
}
- mPausedInDebuggerDialog =
- new AlertDialog.Builder(context)
- .setMessage(message)
- .setCancelable(false)
- .setNeutralButton(
- "Step Over", (DialogInterface dialog, int id) -> listener.onStepOver())
- .setPositiveButton(
- "Resume", (DialogInterface dialog, int id) -> listener.onResume())
- .create();
+ View dialogView =
+ LayoutInflater.from(context).inflate(R.layout.paused_in_debugger_view, null);
+ mPausedInDebuggerDialog = new Dialog(context);
+ mPausedInDebuggerDialog.setContentView(dialogView);
+ mPausedInDebuggerDialog.setCancelable(false);
+ TextView pausedText = Assertions.assertNotNull(dialogView.findViewById(R.id.paused_text));
+ pausedText.setText(message);
+ View resumeButton = Assertions.assertNotNull(dialogView.findViewById(R.id.resume_button));
+ resumeButton.setOnClickListener((v) -> listener.onResume());
+ View stepOverButton =
+ Assertions.assertNotNull(dialogView.findViewById(R.id.step_over_button));
+ stepOverButton.setOnClickListener((v) -> listener.onStepOver());
+ Window dialogWindow = mPausedInDebuggerDialog.getWindow();
+ if (dialogWindow != null) {
+ dialogWindow.setGravity(Gravity.TOP);
+ }
mPausedInDebuggerDialog.show();
});
}
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png
new file mode 100644
index 00000000000..36add7f936a
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_step_over.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_step_over.png
new file mode 100644
index 00000000000..5fd364d79d5
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_step_over.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png
new file mode 100644
index 00000000000..023964a58bc
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_step_over.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_step_over.png
new file mode 100644
index 00000000000..781df20a9ac
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_step_over.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png
new file mode 100644
index 00000000000..4154d531665
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_step_over.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_step_over.png
new file mode 100644
index 00000000000..5a1b26c72a4
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_step_over.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png
new file mode 100644
index 00000000000..8982f12865e
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_step_over.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_step_over.png
new file mode 100644
index 00000000000..fa30e23a241
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_step_over.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png
new file mode 100644
index 00000000000..c69f2b701e6
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_step_over.png b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_step_over.png
new file mode 100644
index 00000000000..f708d64dd37
Binary files /dev/null and b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_step_over.png differ
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable/ripple_effect.xml b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable/ripple_effect.xml
new file mode 100644
index 00000000000..a972afdb5ee
--- /dev/null
+++ b/packages/react-native/ReactAndroid/src/main/res/devsupport/drawable/ripple_effect.xml
@@ -0,0 +1,10 @@
+
+
+ -
+
+
+
diff --git a/packages/react-native/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml b/packages/react-native/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml
new file mode 100644
index 00000000000..ce9ca674565
--- /dev/null
+++ b/packages/react-native/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+