diff --git a/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js b/packages/react-native-codegen/src/generators/components/GeneratePropsJavaDelegate.js index 5b20a1d70ae..955686b8b87 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 ce9aa7306be..e662477c08b 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 025825de9e7..e1d36d9ecba 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 b9003c2f4ec..7da4aefc11a 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 da606e801b0..c61813c9396 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 565e9750ce5..11d15d3c571 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),