diff --git a/Libraries/Animated/__tests__/Animated-test.js b/Libraries/Animated/__tests__/Animated-test.js index d5b05cc49a6..f7a8bb05ace 100644 --- a/Libraries/Animated/__tests__/Animated-test.js +++ b/Libraries/Animated/__tests__/Animated-test.js @@ -11,9 +11,14 @@ import TestRenderer from 'react-test-renderer'; import * as React from 'react'; -jest.mock('../NativeAnimatedHelper', () => { - return jest.requireActual('../NativeAnimatedHelper'); -}); +jest.mock('../../BatchedBridge/NativeModules', () => ({ + NativeAnimatedModule: {}, + PlatformConstants: { + getConstants() { + return {}; + }, + }, +})); let Animated = require('../Animated'); describe('Animated tests', () => { diff --git a/Libraries/Animated/__tests__/AnimatedNative-test.js b/Libraries/Animated/__tests__/AnimatedNative-test.js index 8466b15483c..e5ecec1fb7d 100644 --- a/Libraries/Animated/__tests__/AnimatedNative-test.js +++ b/Libraries/Animated/__tests__/AnimatedNative-test.js @@ -10,9 +10,15 @@ jest .clearAllMocks() - .mock('../NativeAnimatedHelper', () => { - return jest.requireActual('../NativeAnimatedHelper'); - }) + .mock('../../BatchedBridge/NativeModules', () => ({ + NativeAnimatedModule: {}, + PlatformConstants: { + getConstants() { + return {}; + }, + }, + })) + .mock('../NativeAnimatedModule') .mock('../../EventEmitter/NativeEventEmitter') // findNodeHandle is imported from ReactNative so mock that whole module. .setMock('../../Renderer/shims/ReactNative', {findNodeHandle: () => 1}); diff --git a/Libraries/Animated/createAnimatedComponent.js b/Libraries/Animated/createAnimatedComponent.js index c86e63cd88c..596c6cfc75c 100644 --- a/Libraries/Animated/createAnimatedComponent.js +++ b/Libraries/Animated/createAnimatedComponent.js @@ -121,15 +121,19 @@ function createAnimatedComponent( }; _waitForUpdate = (): void => { - NativeAnimatedHelper.API.setWaitingForIdentifier( - this._animatedComponentId, - ); + if (this._isFabric()) { + NativeAnimatedHelper.API.setWaitingForIdentifier( + this._animatedComponentId, + ); + } }; _markUpdateComplete = (): void => { - NativeAnimatedHelper.API.unsetWaitingForIdentifier( - this._animatedComponentId, - ); + if (this._isFabric()) { + NativeAnimatedHelper.API.unsetWaitingForIdentifier( + this._animatedComponentId, + ); + } }; // The system is best designed when setNativeProps is implemented. It is diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java index b12d75c86a6..9d6f4299db2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java @@ -174,7 +174,7 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec } private void addOperation(UIThreadOperation operation) { - operation.setBatchNumber(getCurrentBatchNumber()); + operation.setBatchNumber(mIsInBatch ? mCurrentBatchNumber : -1); mOperations.add(operation); } @@ -184,7 +184,7 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec } private void addPreOperation(UIThreadOperation operation) { - operation.setBatchNumber(getCurrentBatchNumber()); + operation.setBatchNumber(mIsInBatch ? mCurrentBatchNumber : -1); mPreOperations.add(operation); } @@ -342,13 +342,6 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec ReactChoreographer.CallbackType.NATIVE_ANIMATED_MODULE, mAnimatedFrameCallback); } - private long getCurrentBatchNumber() { - if (mBatchingControlledByJS && !mIsInBatch) { - return -1; - } - return mCurrentBatchNumber; - } - @VisibleForTesting public void setNodesManager(NativeAnimatedNodesManager nodesManager) { mNodesManager.set(nodesManager); @@ -433,9 +426,6 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec @Override public void startOperationBatch() { - if (ANIMATED_MODULE_DEBUG) { - FLog.d(NAME, "Start JS operation batch " + mCurrentBatchNumber); - } mBatchingControlledByJS = true; mIsInBatch = true; mCurrentBatchNumber++; @@ -443,9 +433,6 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec @Override public void finishOperationBatch() { - if (ANIMATED_MODULE_DEBUG) { - FLog.d(NAME, "Finish JS operation batch " + mCurrentBatchNumber); - } mBatchingControlledByJS = true; mIsInBatch = false; mCurrentBatchNumber++; diff --git a/jest/setup.js b/jest/setup.js index a37cbb3865e..c759924d23c 100644 --- a/jest/setup.js +++ b/jest/setup.js @@ -332,30 +332,6 @@ jest doLeftAndRightSwapInRTL: true, }), }, - NativeAnimatedModule: { - startOperationBatch: jest.fn(), - finishOperationBatch: jest.fn(), - createAnimatedNode: jest.fn(), - getValue: jest.fn(), - startListeningToAnimatedNodeValue: jest.fn(), - stopListeningToAnimatedNodeValue: jest.fn(), - connectAnimatedNodes: jest.fn(), - disconnectAnimatedNodes: jest.fn(), - startAnimatingNode: jest.fn(), - stopAnimation: jest.fn(), - setAnimatedNodeValue: jest.fn(), - setAnimatedNodeOffset: jest.fn(), - flattenAnimatedNodeOffset: jest.fn(), - extractAnimatedNodeOffset: jest.fn(), - connectAnimatedNodeToView: jest.fn(), - disconnectAnimatedNodeFromView: jest.fn(), - restoreDefaultValues: jest.fn(), - dropAnimatedNode: jest.fn(), - addAnimatedEventToView: jest.fn(), - removeAnimatedEventFromView: jest.fn(), - addListener: jest.fn(), - removeListeners: jest.fn(), - }, })) .mock('../Libraries/NativeComponent/NativeComponentRegistry', () => { return { @@ -389,13 +365,4 @@ jest __esModule: true, default: Component, }; - }) - .mock('../Libraries/Animated/NativeAnimatedHelper.js', () => { - const NativeAnimatedHelper = jest.requireActual( - '../Libraries/Animated/NativeAnimatedHelper.js', - ); - return { - ...NativeAnimatedHelper, - shouldUseNativeDriver: jest.fn(false), - }; });