diff --git a/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java b/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java index 486fbf284c0c22..4ed52bdc123c4d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java @@ -189,7 +189,8 @@ private ArgumentExtractor[] buildArgumentExtractors(Class[] paramTypes) { ArgumentExtractor[] argumentExtractors = new ArgumentExtractor[paramTypes.length - executorTokenOffset]; for (int i = 0; i < paramTypes.length - executorTokenOffset; i += argumentExtractors[i].getJSArgumentsNeeded()) { - Class argumentClass = paramTypes[i + executorTokenOffset]; + int paramIndex = i + executorTokenOffset; + Class argumentClass = paramTypes[paramIndex]; if (argumentClass == Boolean.class || argumentClass == boolean.class) { argumentExtractors[i] = ARGUMENT_EXTRACTOR_BOOLEAN; } else if (argumentClass == Integer.class || argumentClass == int.class) { @@ -205,7 +206,7 @@ private ArgumentExtractor[] buildArgumentExtractors(Class[] paramTypes) { } else if (argumentClass == Promise.class) { argumentExtractors[i] = ARGUMENT_EXTRACTOR_PROMISE; Assertions.assertCondition( - i == paramTypes.length - 1, "Promise must be used as last parameter only"); + paramIndex == paramTypes.length - 1, "Promise must be used as last parameter only"); mType = METHOD_TYPE_REMOTE_ASYNC; } else if (argumentClass == ReadableMap.class) { argumentExtractors[i] = ARGUMENT_EXTRACTOR_MAP; @@ -361,7 +362,7 @@ public void onReactBridgeInitialized(ReactBridge bridge) { public void onCatalystInstanceDestroy() { // do nothing } - + @Override public boolean supportsWebWorkers() { return false;