diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js index 5b20a1d70aede2..955686b8b87270 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js @@ -129,15 +129,14 @@ function getCommandArgJavaType(param) { } function getCommandArguments(command: CommandTypeShape): string { - const commandArgs = command.typeAnnotation.params - .map((param, index) => { + return [ + 'view', + ...command.typeAnnotation.params.map((param, index) => { const commandArgJavaType = getCommandArgJavaType(param); return `args.${commandArgJavaType}(${index})`; - }) - .join(', '); - - return `view, ${commandArgs}`; + }), + ].join(', '); } function generateCommandCasesString( diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js index ce9aa7306be675..e662477c08b6ac 100644 --- a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js +++ b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaInterface.js @@ -107,15 +107,14 @@ function getCommandArguments( command: CommandTypeShape, componentName: string, ): string { - const commandArgs = command.typeAnnotation.params - .map(param => { + return [ + 'T view', + ...command.typeAnnotation.params.map(param => { const commandArgJavaType = getCommandArgJavaType(param); return `${commandArgJavaType} ${param.name}`; - }) - .join(', '); - - return `T view, ${commandArgs}`; + }), + ].join(', '); } function generateCommandsString( diff --git a/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js b/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js index 025825de9e7061..e1d36d9ecbaf88 100644 --- a/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js +++ b/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js @@ -921,6 +921,14 @@ const COMMANDS: SchemaType = { events: [], props: [], commands: [ + { + name: 'flashScrollIndicators', + optional: false, + typeAnnotation: { + type: 'FunctionTypeAnnotation', + params: [], + }, + }, { name: 'hotspotUpdate', optional: false, diff --git a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaDelegate-test.js.snap b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaDelegate-test.js.snap index b9003c2f4ec567..7da4aefc11a108 100644 --- a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaDelegate-test.js.snap +++ b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaDelegate-test.js.snap @@ -96,6 +96,9 @@ public class CommandNativeComponentViewManagerDelegate { } public void receiveCommand(CommandNativeComponentInterface viewManager, T view, String commandName, ReadableArray args) { + case \\"flashScrollIndicators\\": + viewManager.flashScrollIndicators(view); + break; case \\"hotspotUpdate\\": viewManager.hotspotUpdate(view, args.getInt(0), args.getInt(1)); break; diff --git a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaInterface-test.js.snap b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaInterface-test.js.snap index da606e801b0639..c61813c93964bc 100644 --- a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaInterface-test.js.snap +++ b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GeneratePropsJavaInterface-test.js.snap @@ -61,6 +61,7 @@ import android.view.View; public interface CommandNativeComponentViewManagerInterface { // No props + void flashScrollIndicators(T view); void hotspotUpdate(T view, int x, int y); void scrollTo(T view, int y, boolean animated); } diff --git a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GenerateViewConfigJs-test.js.snap b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GenerateViewConfigJs-test.js.snap index 565e9750ce54d7..11d15d3c5714ac 100644 --- a/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GenerateViewConfigJs-test.js.snap +++ b/packages/react-native-codegen/src/generators/components/__tests__/__snapshots__/GenerateViewConfigJs-test.js.snap @@ -144,6 +144,14 @@ export const __INTERNAL_VIEW_CONFIG = CommandNativeComponentViewConfig; export default nativeComponentName; export const Commands = { + flashScrollIndicators(ref) { + UIManager.dispatchViewCommand( + findNodeHandle(ref), + UIManager.getViewManagerConfig(\\"CommandNativeComponent\\").Commands.flashScrollIndicators, + [] + ); + }, + hotspotUpdate(ref, x, y) { UIManager.dispatchViewCommand( findNodeHandle(ref),