Skip to content

Commit 9220a15

Browse files
committed
Redesign paused in debugger overlay (Android)
1 parent 19724ac commit 9220a15

16 files changed

Lines changed: 269 additions & 181 deletions

File tree

‎packages/react-native/ReactAndroid/api/ReactAndroid.api‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,8 +1838,10 @@ public final class com/facebook/react/devsupport/DefaultDevLoadingViewImplementa
18381838
public static final field Companion Lcom/facebook/react/devsupport/DefaultDevLoadingViewImplementation$Companion;
18391839
public fun <init> (Lcom/facebook/react/devsupport/ReactInstanceDevHelper;)V
18401840
public fun hide ()V
1841+
public final fun hidePausedInDebuggerMessage ()V
18411842
public fun showMessage (Ljava/lang/String;)V
18421843
public fun showMessage (Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Boolean;)V
1844+
public final fun showPausedInDebuggerMessage (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V
18431845
public fun updateProgress (Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
18441846
}
18451847

‎packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt‎

Lines changed: 211 additions & 30 deletions
Large diffs are not rendered by default.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
package com.facebook.react.devsupport
9+
10+
import com.facebook.react.devsupport.interfaces.DevSupportManager
11+
import com.facebook.react.devsupport.interfaces.PausedInDebuggerOverlayManager
12+
13+
internal class DefaultPausedInDebuggerOverlayManager(
14+
reactInstanceDevHelper: ReactInstanceDevHelper,
15+
) : PausedInDebuggerOverlayManager {
16+
// A dedicated banner, so the paused state neither replaces nor is replaced by the loading
17+
// messages.
18+
private val banner = DefaultDevLoadingViewImplementation(reactInstanceDevHelper)
19+
20+
override fun showPausedInDebuggerOverlay(
21+
message: String,
22+
listener: DevSupportManager.PausedInDebuggerOverlayCommandListener,
23+
) {
24+
banner.showPausedInDebuggerMessage(message) { listener.onResume() }
25+
}
26+
27+
override fun hidePausedInDebuggerOverlay() {
28+
banner.hidePausedInDebuggerMessage()
29+
}
30+
}

‎packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt‎

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import android.widget.ListAdapter
3232
import android.widget.TextView
3333
import android.widget.Toast
3434
import androidx.annotation.UiThread
35-
import androidx.core.util.Supplier
3635
import com.facebook.common.logging.FLog
3736
import com.facebook.react.R
3837
import com.facebook.react.bridge.DefaultJSExceptionHandler
@@ -221,16 +220,7 @@ public abstract class DevSupportManagerBase(
221220
devLoadingViewManager = DefaultDevLoadingViewImplementation(reactInstanceDevHelper)
222221
}
223222
if (pausedInDebuggerOverlayManager == null) {
224-
pausedInDebuggerOverlayManager =
225-
PausedInDebuggerOverlayDialogManager(
226-
Supplier {
227-
val context = reactInstanceDevHelper.currentActivity
228-
if (context == null || context.isFinishing) {
229-
return@Supplier null
230-
}
231-
context
232-
},
233-
)
223+
pausedInDebuggerOverlayManager = DefaultPausedInDebuggerOverlayManager(reactInstanceDevHelper)
234224
}
235225
if (
236226
ReactNativeNewArchitectureFeatureFlags.enableBridgelessArchitecture() &&

‎packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt‎

Lines changed: 0 additions & 70 deletions
This file was deleted.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)