From 233da7dde762f1adada8a8e86a72417baf3d88f6 Mon Sep 17 00:00:00 2001 From: Moti Zilberman Date: Wed, 17 Apr 2024 05:22:09 -0700 Subject: [PATCH] Style pause overlay to be similar to Chrome's (#44081) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/44081 Changelog: [Internal] Migrates the Fusebox "pause in debugger" on Android from `AlertDialog` to a custom dialog, with a look and feel based closely on the equivalent Chrome feature. I've adapted the layout slightly to be mobile-appropriate (touch target sizes etc) and drawn new icon assets that are effectively hand-upscaled versions of the Chrome ones. Reviewed By: hoxyq Differential Revision: D56105051 fbshipit-source-id: 42d7472c8dd8f842c0dbd82c12eba102bcf59b87 --- .../devsupport/DevSupportManagerBase.java | 30 +++++++---- .../devsupport/drawable-hdpi/ic_resume.png | Bin 0 -> 493 bytes .../devsupport/drawable-hdpi/ic_step_over.png | Bin 0 -> 764 bytes .../devsupport/drawable-mdpi/ic_resume.png | Bin 0 -> 341 bytes .../devsupport/drawable-mdpi/ic_step_over.png | Bin 0 -> 439 bytes .../devsupport/drawable-xhdpi/ic_resume.png | Bin 0 -> 598 bytes .../drawable-xhdpi/ic_step_over.png | Bin 0 -> 908 bytes .../devsupport/drawable-xxhdpi/ic_resume.png | Bin 0 -> 950 bytes .../drawable-xxhdpi/ic_step_over.png | Bin 0 -> 1670 bytes .../devsupport/drawable-xxxhdpi/ic_resume.png | Bin 0 -> 1376 bytes .../drawable-xxxhdpi/ic_step_over.png | Bin 0 -> 2059 bytes .../res/devsupport/drawable/ripple_effect.xml | 10 ++++ .../layout/paused_in_debugger_view.xml | 50 ++++++++++++++++++ 13 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_step_over.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_step_over.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_step_over.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_step_over.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_step_over.png create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/drawable/ripple_effect.xml create mode 100644 packages/react-native/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml 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 0000000000000000000000000000000000000000..36add7f936a881cf923f3a34bc16fa76c219df6c GIT binary patch literal 493 zcmVPx$r%6OXRA@u(mpw}ZK@f)LJ%bjaM9}yFc6R;&3yWyy53v+03&EJvB83*(34&l} zD_F)v3(-PU40b6cP5i<_#kkoKKMqvH<+9mJ7Wc{p!|8GH)fPfQitDjl8i zTqaQ_0&C0sM}p7}j4xb$D+s`?2RV{WC5pj5NxwYgfilFrn)iDTtpgZayczbG3ru`X zB-h%xy0qgDJemM8;=mgKSYCV zM+rNJIjhI%roPZvf2CA)rKsbfM~SElRPE;gR0^4nI|ocFtjg~kP$^_O?i?_!uqwZE jK&6oBxO2d?!m9kQ3omFu%;?%;00000NkvXXu0mjfSSiyr literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5fd364d79d5576a7db3f6ef8da0781666e35dd74 GIT binary patch literal 764 zcmVPx%wn;=mRA@u(*G-6(WfTYS-)LkCVUdx7Nb4j>l%VKC1))V$w9zD8Qm1eVL20%Zz|7c>Qm1eVLk zOM&T_jfGf&r|~HM!7n(5Z}A)cE_dB?!FT|ei&wA?&*H)VY49Qr;4}P`;L2F402W~j zUc;>H=6W)H88a~l4{`g)Q+#%!Q|lvqfvZ&n6#&m*M`w@an1(-b1P5_8t@1!xYZ=xj znCSUj*ZfxOpDX}jn_zKeGJ6T{;w$`%n|+PNjD#8iF4PL*uHkw7SOGDN0>SEM@bjSODSV0-Q-#g>_n`H6 zJU0x0mpkdd$+Y=0)##7Lxc9l7gP*g}-WSI_Y{$bmjJJ}E2!g-Hf@Bx~A9QK*KK{e1 zF7pFKujdzFcb783bfnIq9QN1&qh~&j<4K&!XJUuMuK0MO0fc>C&m?)X&-+2hKD?cS zI@-(X%>NkXh}0$6ivSx57IgtI{(ows0eqed>ohhYEHZk+5=Zm%-ad9^j7FSp!{WY$ z7Ygp|qWHaxqVqdeBBt+nFs*k^H_Ajbj0ir zxPTjdorU+~3t!mkN)GUt*pK@r0>GFUtUlZTR2i(+HwCH;R_mJrRR*i|O@S(d)%vDD umBDI#Q=rOVwZ17(Ww2V`6sR&-t-l3xQf)DnmXqcH0000Px$4@pEpR9Hu2WEfz;IKcKZj5=U61V%$(@P~jy!y64)S;5WD@^WjXz}b z9%yjPx$aY;l$R9Hvt)W1tsQ5?tdmx_q!pbjDm27wMaWs6e|;iBLo7|jjh=Ah8fmJn!d zx#*BnQ;4GY7X*PgGz3CFAP9031rY^N&w(>Mi258gc@XZM?mhS3@8|PU9W2;c2`?>p8JQtYQNHu45$EKqHngkUCw) zHyoe~qv#0c{^A*a=9y~1002ovPDHLkV1mTPy37Co literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4154d5316650af847fd18483947ecf3a83fe7d89 GIT binary patch literal 598 zcmV-c0;&CpP)Px%5J^NqRCr$PnY&5@Q4oe_Hi?}ehTx^K(MRwFk{9r0?7Xa2wjzRHVWnV#R&Y80a%pYW~9|V9nfH?sv z0pD4dY77g8tr;4 zo#qxs>Om*KcL^kC9?44tB3wIDiD9pI$=QcPBwT!rSo`}E@w*@)1Owm$8kG^P6;x`Y z35nyPjkO>^1PI_u?geA9|kDBwXiJ#-c69{Hpu)S#Plf4dl+Im4s*W{;d&*;`BK!RYjO5JM)c0_ z;f?Y=4Te{m-pT}k9w&37!~y2!R!^BYK#!BTQQ`n|bE~IJ9H7U^+$eE?xw+L-CJxZ! kWNwr=z}(#GDP!+|cTw+-Q07GF=l}o!07*qoM6N<$f_cCHGynhq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5a1b26c72a425cbf0b3db979da3aaff15d3e7afa GIT binary patch literal 908 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V0QC#aSW-5 zdppDXgm0k8@%s6DPHDg2BkU=1s-cmGqjQRoFx!+Qm8B~EJQF4|Iw`T8a1c^u(@0uj z!{#KXC{#J+$=g3SpKqRf?&rIm-`7>|_e)a89vdbQ0$f;tZa#26ZPLXIre)0S4HFyk_D|Z&uE(&N z@$cS;*EE=ZF}pWZn!0_kQp%Cuu>9EHo!d>D8a^J-OvvHtT0fB|j?urt|A0b5gh5fl{iE_AFSNtKMUGjl z`u7z{wQCPnKe`yk^5U3W#qz&Q)0ot?lsw`u@a|yo`DizvQS90a{o>i8jK5=Eckx?s z>8uxilki}s^o*o%;Rfr{Uw`v=vofxFkZ-eo)t6T+{Jaf$3}qE{D!r*}bv^#Bko97yew_Iy-tkhL)+@tUj>pJ8<=jqY>Z%-bDF_a zddG}UzQT{U_SpJ2K74okd56K@myiG13h%gck41(ptU^JJ**w_clzBlsX>H=;9-Q zD;YhQvJxK$nb|P8E%k6{zN+S+YiM>>LTgXvRu%ne*GkW-IJB?oU!C!@e}4bPe66NS zCDUGd>SmVoFFPxKvBGvy+}q>qrn4F5t_}>}{8wiA!&uAz!Y)UHFE5Y_oiwv^D?8&? zhW_qFZMwqRQjBVjzx|jPpG^@vlX#+`DRzeCoe5;}E~OvHXJ*QB4BW$Y8<@QqJYD@< J);T3K0RV9HjQ#)s literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..8982f12865e69384e5c1b5a4ec41b02939424e84 GIT binary patch literal 950 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>U@q`8Z;A0L0YXfJ)$Iow z&-MJdx0W$ERG8_Qms`n$ml^LISLbqHpWb%mMWpGopqsYebdG#KRyR3?Q)2ZlB_l1R z)r+cv>wgJvHveURbY4++y}?SRrr1@TC-zuXsaG#qAF^vjwx`I%6vo+mLZ|g!Jn7S4 zyw&E)?l~r$C&e!)>{D14_r@w?UiHyGSwSu(lNuU+nui)|-n|*Ud3t}HM^lTRuz)avrN9MM_I@gV++-ojh>ZV`3eJ|s_bs+C%nZB41cJ3Q#J0GmLQ~d3> zaN!*3O9~1Rnv$kQb1gT#Zwl|Z9$8|=k~7sYRLphm#GJIhfiF*e%zE5;8aGXVm-bEiEEk84BiZ?EEKx-97%UQ(i-GrI^C1eH}9cgQe|rKYi9qI5{hi zvHls`#G|_mFW=Sv>X>hHYjXzI4a09MPI#}p%2sv%S-h_=>)Q?g7dF&OUawmp9b5RP zy;%A0`&{h>4bNI?LqBgkU3l&+&-1t&QydsYHaIHW(LH%g)^IkvYWsq_FT`}XAE?}U zw``9p&t$I9Tx58|U86z#@vO5OCvrS^`r@v5e;MnCHlN$6yL}n= zsNNLYKULW9-jw?f;%=O7FFrh%{lms7bKPr>F#SllcK@(%3)7E`q|F=e?P^%tUflcB zE~e1Gj@R)1k*vuo@qN!8zf9y)_2zxREtUA-{ZFlq^%|{5@7?Irf4Ma+t(Naced^0! n+*}O5mr*rEq9pRm60LQoanay2MvFTYcBy-E?B+9KUv8Bu`zkaM;Fi{(o`XQ(hY9X3r;>x`i<4e1h41J+#O5A-7m?3onW+Xa zOKtOT%&$%POq}j6nU-(lOZ8XB^NbBwecp$v)&8%+bUs2v2)MXJE z2wnp_@P~dFNl%JNVtw&FCJ8m&e*!>Eu7fPF&uMVct#wL}VMVusX2_K(0Hrg9F%>>Y zQK4{pQ>1*-%FD`JZ4Yn?#A2PaPIOZP>n_8+$oWO3zi@h*_;f#kt2Ew` zrGth|8rpc!G9f+pnv1d~G#CCF&ows7x+9dXf$?+#e;pKIJ_g`{{Dz?9+6VpzBx+yG zQY9Pnb+lz(fbKxskO_jaC0Ucw>@90fwENbL`3!aBi@Q|Gst4IqgX0ds^=CR5H8_Jo%YD^l@Dm66_GLw% zyT6pS^3m4W`8kcrKDP4w42$YK78NJGrQydggENDU!P1^(Z@m?teQ0m}GVGy%nlhpT z=4Y9qmslnUjx4a8R&k}&}O%I3yrrz)*vQVFiMe2)$9^oCd4mme=Ac7>D5k}owT#4yh6V6m_74O6$*-sif zTJO`8S9{~S_w4M;e?H=i`w`0?McPfv^rLeya0s00(hehYY*^@h%)Z!z0z9K2u-aw5f=72Wd(mrcYmXt zUPi^O;+SWnD^3oxTtQtoy7-kaE2zcM*Fi0e#ux&-B|1t6z^Bg+!~A m-M_i1N|U_*L!kd^;0*{-JRRD33QONS76`$^$GyQdB=c`0>;HlP literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c69f2b701e6bdae4c11957ac721139779952144a GIT binary patch literal 1376 zcmc&!=~Gh&9Q?f(0!Y9FQi-A|V6C*}sz>DzlLrQ3DiVkaQm!bmCF(d3VywlJ(2PeD1Be)d0wy&5A3DlcqIm|GSs205ez`L;+p_}rO$Ih}dHpP8$x5v1Y;q3c} zbu}xg!aIo7Whl>JiixR!LlBT!`5~w^$fXZd4 zsz1)o>gEZOyMx6bkcf@%2N4^w5MNu>GS>rYy|tZ%xqxUB5#8%1oIU6q0{v5{7zD=2 z_f8r9`v_VW&e4(W&NhUW32sPl&Awdnn76QQ-z`z|*+3(ID(dHvBeY7Qye`4B@m{%L z-{=KX_7WMNn>U>fDU8$9W~T~&FPZdSsu|Qa0|JU?VQOr!EN!48wSN3s_2Qc6Kk~X^ zOZ4qgHyH+tabFH3(N^w&UGoDxO+rz zo-TNuLQeekX#?uf@PqAVvg4U@&c*Am@0>9;SB~&Kzy-aw{nIZCx_!bQtk#wHo$0SH zFSrO9%vn2P)o8@_iQ(h^rsCk~$^q#L>dT*yQzr~P335iGSN@7@4Fe7MXOMIfgnb%eG%kfwZbI(OoO*I=Lb$6)d$ zb37iKaibO4DtbK28tb?%=_bGPpkD$;VSs3%nTOb=NoHHeM;<(0ZmKE;eFzwxm1(}W zMZI16LBdR1+bR-hQ0_974{2^yPxJWI*r^$7D<6@Jw@gP{rAcyVRh=h&qjl5b2KhE+ z3BPN8>#;y8CxVWwKah(PyOyvmv>?EWZD~yvu5O^Q&$qN>gd*x@tuBF1KQ9LT*660c zDUPsaZq&BVy-!MWfM*|nVoEj+&s?O5&k4J~T2~YHyq#Wr6yp)t3e(rZSD8-dC~G;Z z=*%qWa(je~w-vi%{s;H;O(y!Fru;nJ*!|(f(RPd+g-Pj$<}xCy#_mVjsXb$oM3$}C zbbX05FLJ0-An4>YuB?A0oBE_7U)jId9eYa#>b#jNiYXL37(P3Gd4LGPewM={ZZw!a z==>+%iwZkU4yqKJKAZ$KK%)801H82yK8lK)=xaLQT!MT91_IM%CIxZ`H|N-c#PUIp ziup(Yg2)H!zf1zPuXd>i+?;-RfdC!&AsZWrE6&eBuy%2c7_N}+|qvl>p5C} literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f708d64dd37bc5b271df59346945fde475e791cb GIT binary patch literal 2059 zcmdUw`6Js01IE8elQ`DU2x?Nto4A@eH#Ah+Op_*#W)g`~FH&n)ty|sZm9JIRO_|Y3 zQH;dBRx_rWDXK;0zUqit(IVw_1)*=>KVv^U&*$^o^W&4^LZcuRH5CB>Ksr!KjL+o! zKk|sr{o?GEp3i{XVo>aXI?;*u03g@tK>C&$?Y+v4SPCQ`dwK3Ji6lrBgj{#(vVqPd)FVZc5JVNT#{q%l-L>6Vtn* zonDbh6cdav^}w0q{FkSri-5vhp@JCJeFE(5+mZig3RMZ5;ADU%;1;OH(Fc>j7|6k) z^4jS&+?v&z#TtGMwkE$899EU5k>?02fRC$=qsMjJZvt|MkSXXC+zu|Y7P=2q(`+FN zh^IghJbwvT4TeH!5DDZz61J>S+2$2&-1fFK4un%Uj~=x{gwwbJ|8iGnEM#+ZRxZGG zWw8vl^3FFcCNM8I(q^n2MU0bek?qIyO4W#GxuAl3Aq;;j|0Fzn82y1?$`>UyKINcUfdEI41Th+^rU$|6{<;hBy;Yfd(hC<1yy(!Hj ztYROG)X$x0sX@_;Hl0G%xNfYl<`Ul*Am+*I)Bsq2=*o+1naO1^^WK?2RLe6=lQGgx zTcYh&UFa^z`70|nG=J9@C$tix)b98dPs5}8eOI!>t$~LMWS$MaYl!>j%=!EELsxvU z!W!Z6(xu1INu7>e;cYsC6PNSKt4B+XDr`x^Drkt3LLcT7vt-L*U+udzKzg4iT?SnPU^KkhiY-^&=c;ep067iWLm`Dw^t{`4bNgVsZ3IAn9w${ zu5!fI?ausxFi1bmt9KOd47&h`XqYv_kLTbtR6o( z5WZi9p`-+1E}4FixBb_WI{l&vc5Yk`0bL?&UB4*3@vnWX$o~N2A5Ulb>T)FSBH}#_KEMeg&OM=yIW(H0OCQp5crk)z8gFiZ68n9tMoU! zR7Uk=Y}I@A;Xj;BwKoQkadV18ieuNX4U>`5D(~QFpYN8Ir7TPO?Ln^ukAX_0LCdns z7(-R%2!v@`3+=E6M&@c?UKrWEz8ym$oGfH!y0E0YTl~zV!K_~s%n{IG@P}Qm_;|(n ziz>ezu1AE+>aH>}Dsi*=WRU# z9tL90RvQc>F|7wf$jY$#1;%Cpjj1-={AuHk|CbZr^U%bxp1ttay3>mj{q0R?bLuyh zPqnxoBLw|E7=oFs41GPLx7x(Okqac+r#zVKW@gRS)LWN8bI%&k&m_3dN_oZW<8Lt# zt9$r)AB!g~@uTf#xHwBW=w>3%yoThwxVvK?HzB8mt@X`2`vdE78coS7USOWB(2Qd1 zHl)99Cpa$lXd7|{s(Dp55XO4>fRZ5x^*eL82;fBz`X!@<^8d!)q;Z&bH=evuV8cw+ ztPF|xhnACbFmvcHsrS*kYTs$DhCnqyCvu-ccB)}UBmt5xta!8lqju(AI9&u>5Hskv mpyh8J%Cu+zF65s%vwbe9W&reCiZA~B?tlZCMyj)CC;ks)Si$@N literal 0 HcmV?d00001 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 @@ + + + + + + + + +