From 091eb2ea11e848812780cbbbf41cec7af2fb265e Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Wed, 28 May 2025 14:18:24 -0700 Subject: [PATCH] clean up interface of AnimationDriver (#51663) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51663 changelog: [internal] mark getters as noexcept const and use `get` prefix. Reviewed By: christophpurrer Differential Revision: D75531202 fbshipit-source-id: d66132ee3ec459e73ab3dc33c726c73d5afb6e72 --- .../renderer/animated/NativeAnimatedNodesManager.cpp | 10 +++++----- .../react/renderer/animated/drivers/AnimationDriver.h | 10 +++------- .../renderer/animated/drivers/FrameAnimationDriver.cpp | 4 ---- .../renderer/animated/drivers/FrameAnimationDriver.h | 2 -- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/NativeAnimatedNodesManager.cpp b/packages/react-native/ReactCxxPlatform/react/renderer/animated/NativeAnimatedNodesManager.cpp index dfd10075fe2..e08dadfaa96 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/NativeAnimatedNodesManager.cpp +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/NativeAnimatedNodesManager.cpp @@ -243,7 +243,7 @@ void NativeAnimatedNodesManager::stopAnimationsForNode(Tag nodeTag) { std::vector discardedAnimIds{}; for (const auto& [animationId, driver] : activeAnimations_) { - if (driver->animatedValueTag() == nodeTag) { + if (driver->getAnimatedValueTag() == nodeTag) { discardedAnimIds.emplace_back(animationId); } } @@ -612,9 +612,9 @@ bool NativeAnimatedNodesManager::onAnimationFrame(uint64_t timestamp) { for (const auto& [_id, driver] : activeAnimations_) { driver->runAnimationStep(timestamp); - if (driver->isComplete()) { + if (driver->getIsComplete()) { hasFinishedAnimations = true; - finishedAnimationValueNodes.insert(driver->animatedValueTag()); + finishedAnimationValueNodes.insert(driver->getAnimatedValueTag()); } } @@ -625,8 +625,8 @@ bool NativeAnimatedNodesManager::onAnimationFrame(uint64_t timestamp) { if (hasFinishedAnimations) { std::vector finishedAnimations; for (const auto& [animationId, driver] : activeAnimations_) { - if (driver->isComplete()) { - if (getAnimatedNode(driver->animatedValueTag())) { + if (driver->getIsComplete()) { + if (getAnimatedNode(driver->getAnimatedValueTag())) { driver->stopAnimation(); } finishedAnimations.emplace_back(animationId); diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h index bb37488c20b..900efb44918 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h @@ -34,11 +34,11 @@ class AnimationDriver { void startAnimation(); void stopAnimation(bool ignoreCompletedHandlers = false); - inline constexpr int Id() { + inline int getId() const noexcept { return id_; } - inline constexpr Tag animatedValueTag() { + inline Tag getAnimatedValueTag() const noexcept { return animatedValueTag_; } @@ -46,11 +46,7 @@ class AnimationDriver { return endCallback_; } - virtual double toValue() const noexcept { - return 0; - } - - bool isComplete() const noexcept { + bool getIsComplete() const noexcept { return isComplete_; } diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp index 73cc0f1cd38..12409b58237 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp @@ -35,10 +35,6 @@ FrameAnimationDriver::FrameAnimationDriver( onConfigChanged(); } -double FrameAnimationDriver::toValue() const noexcept { - return toValue_; -} - void FrameAnimationDriver::updateConfig(folly::dynamic config) { AnimationDriver::updateConfig(config); onConfigChanged(); diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h index f1bab6ccb0a..50e6271f409 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h @@ -24,8 +24,6 @@ class FrameAnimationDriver : public AnimationDriver { const folly::dynamic& config, NativeAnimatedNodesManager* manager); - double toValue() const noexcept override; - protected: bool update(double timeDeltaMs, bool restarting) override;