Skip to content

Commit 0486604

Browse files
javachefacebook-github-bot
authored andcommitted
Use delegate to handle commands when available (#51769)
Summary: Pull Request resolved: #51769 Generated delegate has this ``` Override public void receiveCommand(T view, String commandName, Nullable ReadableArray args) { switch (commandName) { case "highlightTraceUpdates": mViewManager.highlightTraceUpdates(view, args.getArray(0)); break; case "highlightElements": mViewManager.highlightElements(view, args.getArray(0)); break; case "clearElementsHighlights": mViewManager.clearElementsHighlights(view); break; } } ```` Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D75797948 fbshipit-source-id: c05f09f0afbc41b83b759e62ae020b6a7ebc6f0f
1 parent ab2c81f commit 0486604

7 files changed

Lines changed: 28 additions & 53 deletions

File tree

packages/react-native/Libraries/Debugging/DebuggingOverlay.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@
1111
import type {
1212
ElementRectangle,
1313
TraceUpdate,
14-
} from './DebuggingOverlayNativeComponent';
14+
} from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
1515

16+
import DebuggingOverlayNativeComponent, {
17+
Commands,
18+
} from '../../src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent';
1619
import View from '../Components/View/View';
1720
import UIManager from '../ReactNative/UIManager';
1821
import StyleSheet from '../StyleSheet/StyleSheet';
19-
import DebuggingOverlayNativeComponent, {
20-
Commands,
21-
} from './DebuggingOverlayNativeComponent';
2222
import * as React from 'react';
2323

2424
const {useRef, useImperativeHandle} = React;
2525
const isNativeComponentReady =
2626
UIManager.hasViewManagerConfig('DebuggingOverlay');
2727

2828
type DebuggingOverlayHandle = {
29-
highlightTraceUpdates(updates: TraceUpdate[]): void,
30-
highlightElements(elements: ElementRectangle[]): void,
29+
highlightTraceUpdates(updates: $ReadOnlyArray<TraceUpdate>): void,
30+
highlightElements(elements: $ReadOnlyArray<ElementRectangle>): void,
3131
clearElementsHighlight(): void,
3232
};
3333

packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4136,8 +4136,8 @@ declare export default typeof registerCallableModule;
41364136

41374137
exports[`public API should not change unintentionally Libraries/Debugging/DebuggingOverlay.js 1`] = `
41384138
"type DebuggingOverlayHandle = {
4139-
highlightTraceUpdates(updates: TraceUpdate[]): void,
4140-
highlightElements(elements: ElementRectangle[]): void,
4139+
highlightTraceUpdates(updates: $ReadOnlyArray<TraceUpdate>): void,
4140+
highlightElements(elements: $ReadOnlyArray<ElementRectangle>): void,
41414141
clearElementsHighlight(): void,
41424142
};
41434143
declare export default component(ref: React.RefSetter<DebuggingOverlayHandle>);

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,13 @@ internal class DebuggingOverlayManager :
3030

3131
override fun getDelegate(): ViewManagerDelegate<DebuggingOverlay> = delegate
3232

33-
override fun receiveCommand(view: DebuggingOverlay, commandId: String, args: ReadableArray?) {
34-
when (commandId) {
35-
"highlightTraceUpdates" -> highlightTraceUpdates(view, args)
36-
"highlightElements" -> highlightElements(view, args)
37-
"clearElementsHighlights" -> clearElementsHighlights(view)
38-
else -> {
39-
ReactSoftExceptionLogger.logSoftException(
40-
REACT_CLASS,
41-
ReactNoCrashSoftException("Received unexpected command in DebuggingOverlayManager"))
42-
}
43-
}
44-
}
33+
override fun receiveCommand(view: DebuggingOverlay, commandId: String, args: ReadableArray?) =
34+
delegate.receiveCommand(view, commandId, args)
4535

46-
override fun highlightTraceUpdates(view: DebuggingOverlay, args: ReadableArray?): Unit {
47-
val providedTraceUpdates = args?.getArray(0) ?: return
36+
override fun highlightTraceUpdates(
37+
view: DebuggingOverlay,
38+
providedTraceUpdates: ReadableArray
39+
): Unit {
4840
val formattedTraceUpdates = mutableListOf<TraceUpdate>()
4941

5042
var successfullyParsedPayload = true
@@ -93,8 +85,7 @@ internal class DebuggingOverlayManager :
9385
}
9486
}
9587

96-
override fun highlightElements(view: DebuggingOverlay, args: ReadableArray?): Unit {
97-
val providedElements = args?.getArray(0) ?: return
88+
override fun highlightElements(view: DebuggingOverlay, providedElements: ReadableArray): Unit {
9889
val elementsRectangles = mutableListOf<RectF>()
9990

10091
var successfullyParsedPayload = true

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -160,26 +160,21 @@ public class ReactDrawerLayoutManager :
160160
"This method is deprecated. Use receiveCommand(ReactDrawerLayout, String, ReadableArray) instead",
161161
replaceWith = ReplaceWith("receiveCommand(ReactDrawerLayout, String, ReadableArray)"))
162162
public override fun receiveCommand(
163-
root: ReactDrawerLayout,
163+
view: ReactDrawerLayout,
164164
commandId: Int,
165165
args: ReadableArray?
166-
) {
166+
): Unit {
167167
when (commandId) {
168-
OPEN_DRAWER -> root.openDrawer()
169-
CLOSE_DRAWER -> root.closeDrawer()
168+
OPEN_DRAWER -> view.openDrawer()
169+
CLOSE_DRAWER -> view.closeDrawer()
170170
}
171171
}
172172

173173
public override fun receiveCommand(
174-
root: ReactDrawerLayout,
174+
view: ReactDrawerLayout,
175175
commandId: String,
176176
args: ReadableArray?
177-
) {
178-
when (commandId) {
179-
COMMAND_OPEN_DRAWER -> root.openDrawer()
180-
COMMAND_CLOSE_DRAWER -> root.closeDrawer()
181-
}
182-
}
177+
): Unit = delegate.receiveCommand(view, commandId, args)
183178

184179
public override fun getExportedViewConstants(): Map<String, Any> =
185180
mapOf(

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,18 +118,10 @@ internal open class SwipeRefreshLayoutManager :
118118
}
119119

120120
override fun receiveCommand(
121-
root: ReactSwipeRefreshLayout,
121+
view: ReactSwipeRefreshLayout,
122122
commandId: String,
123123
args: ReadableArray?
124-
) {
125-
when (commandId) {
126-
"setNativeRefreshing" ->
127-
if (args != null) {
128-
setRefreshing(root, args.getBoolean(0))
129-
}
130-
else -> {}
131-
}
132-
}
124+
) = delegate.receiveCommand(view, commandId, args)
133125

134126
override fun getExportedViewConstants(): MutableMap<String, Any> =
135127
mutableMapOf(

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,8 @@ internal class ReactSwitchManager :
9595
setValueInternal(view, value)
9696
}
9797

98-
override fun receiveCommand(view: ReactSwitch, commandId: String, args: ReadableArray?) {
99-
when (commandId) {
100-
"setNativeValue" -> setValueInternal(view, args?.getBoolean(0) ?: false)
101-
}
102-
}
98+
override fun receiveCommand(view: ReactSwitch, commandId: String, args: ReadableArray?) =
99+
delegate.receiveCommand(view, commandId, args)
103100

104101
override fun addEventEmitters(reactContext: ThemedReactContext, view: ReactSwitch) {
105102
view.setOnCheckedChangeListener(ON_CHECKED_CHANGE_LISTENER)

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ public open class ReactTextInputManager public constructor() :
152152
@Deprecated("Deprecated in Java")
153153
override fun receiveCommand(reactEditText: ReactEditText, commandId: Int, args: ReadableArray?) {
154154
when (commandId) {
155-
FOCUS_TEXT_INPUT -> this.receiveCommand(reactEditText, "focus", args)
156-
BLUR_TEXT_INPUT -> this.receiveCommand(reactEditText, "blur", args)
155+
FOCUS_TEXT_INPUT -> receiveCommand(reactEditText, "focus", args)
156+
BLUR_TEXT_INPUT -> receiveCommand(reactEditText, "blur", args)
157157
SET_MOST_RECENT_EVENT_COUNT -> {}
158-
SET_TEXT_AND_SELECTION -> this.receiveCommand(reactEditText, "setTextAndSelection", args)
158+
SET_TEXT_AND_SELECTION -> receiveCommand(reactEditText, "setTextAndSelection", args)
159159
}
160160
}
161161

0 commit comments

Comments
 (0)