Skip to content

Commit 702ce5e

Browse files
Bartlomiej Bloniarzfacebook-github-bot
authored andcommitted
Make the test pass again
Differential Revision: D81138134
1 parent 2348ffc commit 702ce5e

4 files changed

Lines changed: 18 additions & 21 deletions

File tree

packages/react-native/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,11 @@ void NativeAnimatedNodesManager::schedulePropsCommit(
851851
const folly::dynamic& props,
852852
bool layoutStyleUpdated,
853853
bool forceFabricCommit) noexcept {
854+
if (ReactNativeFeatureFlags::useSharedAnimatedBackend()) {
855+
mergeObjects(updateViewProps_[viewTag], props);
856+
return;
857+
}
858+
854859
// When fabricCommitCallback_ & directManipulationCallback_ are both
855860
// available, we commit layout props via Fabric and the other using direct
856861
// manipulation. If only fabricCommitCallback_ is available, we commit all
@@ -906,6 +911,7 @@ AnimationMutations NativeAnimatedNodesManager::pullAnimationMutations() {
906911
auto timestamp = static_cast<double>(microseconds) / 1000.0;
907912
bool containsChange = false;
908913
{
914+
// copied from onAnimationFrame
909915
// Run all active animations
910916
auto hasFinishedAnimations = false;
911917
std::set<int> finishedAnimationValueNodes;
@@ -948,11 +954,6 @@ AnimationMutations NativeAnimatedNodesManager::pullAnimationMutations() {
948954
AnimationMutation{tag, props["opacity"].asDouble()});
949955
containsChange = true;
950956
}
951-
for (auto& [tag, props] : updateViewPropsDirect_) {
952-
mutations.emplace_back(
953-
AnimationMutation{tag, props["opacity"].asDouble()});
954-
containsChange = true;
955-
}
956957
}
957958

958959
if (!containsChange) {
@@ -981,10 +982,6 @@ AnimationMutations NativeAnimatedNodesManager::pullAnimationMutations() {
981982
mutations.emplace_back(
982983
AnimationMutation{tag, props["opacity"].asDouble()});
983984
}
984-
for (auto& [tag, props] : updateViewPropsDirect_) {
985-
mutations.emplace_back(
986-
AnimationMutation{tag, props["opacity"].asDouble()});
987-
}
988985
}
989986
} else {
990987
// There is no active animation. Stop the render callback.

packages/react-native/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ NativeAnimatedNodesManagerProvider::getOrCreate(
6767

6868
if (ReactNativeFeatureFlags::useSharedAnimatedBackend()) {
6969
animationBackend_ = std::make_shared<AnimationBackend>(
70-
startOnRenderCallback_,
71-
stopOnRenderCallback_,
72-
directManipulationCallback);
70+
std::move(startOnRenderCallback_),
71+
std::move(stopOnRenderCallback_),
72+
std::move(directManipulationCallback));
7373

7474
nativeAnimatedNodesManager_ =
7575
std::make_shared<NativeAnimatedNodesManager>(animationBackend_);

packages/react-native/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
namespace facebook::react {
1111

1212
AnimationBackend::AnimationBackend(
13-
const StartOnRenderCallback& startOnRenderCallback,
14-
const StopOnRenderCallback& stopOnRenderCallback,
15-
const DirectManipulationCallback& directManipulationCallback)
13+
StartOnRenderCallback&& startOnRenderCallback,
14+
StopOnRenderCallback&& stopOnRenderCallback,
15+
DirectManipulationCallback&& directManipulationCallback)
1616
: startOnRenderCallback_(startOnRenderCallback),
1717
stopOnRenderCallback_(stopOnRenderCallback),
1818
directManipulationCallback_(directManipulationCallback) {}

packages/react-native/ReactCommon/react/renderer/animationbackend/AnimationBackend.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ using DirectManipulationCallback =
2929
class AnimationBackend {
3030
public:
3131
std::vector<Callback> callbacks;
32-
const StartOnRenderCallback& startOnRenderCallback_;
33-
const StopOnRenderCallback& stopOnRenderCallback_;
34-
const DirectManipulationCallback& directManipulationCallback_;
32+
const StartOnRenderCallback startOnRenderCallback_;
33+
const StopOnRenderCallback stopOnRenderCallback_;
34+
const DirectManipulationCallback directManipulationCallback_;
3535

3636
AnimationBackend(
37-
const StartOnRenderCallback& startOnRenderCallback,
38-
const StopOnRenderCallback& stopOnRenderCallback,
39-
const DirectManipulationCallback& directManipulationCallback);
37+
StartOnRenderCallback&& startOnRenderCallback,
38+
StopOnRenderCallback&& stopOnRenderCallback,
39+
DirectManipulationCallback&& directManipulationCallback);
4040
void onAnimationFrame(double timestamp);
4141
void start(const Callback& callback);
4242
void stop();

0 commit comments

Comments
 (0)