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 @@ + + + + + + + + +