Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#pragma once

#include <react/cxxstableapi/FrameworksGuard.h>
#include <react/cxxstableapi/PrivateGuard.h>

#include <React/RendererCore.h>
#include <React/View.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#pragma once

#include <react/cxxstableapi/FrameworksGuard.h>
#include <react/cxxstableapi/PrivateGuard.h>

#include <folly/dynamic.h>
#include "AnimatedProps.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#include "AnimationBackend.h"
#include "AnimatedPropsRegistry.h"
#include "AnimationBackendCommitHook.h"

#include <react/debug/react_native_assert.h>
#include <react/featureflags/ReactNativeFeatureFlags.h>
Expand Down Expand Up @@ -53,7 +54,10 @@ AnimationBackend::AnimationBackend(
std::shared_ptr<UIManager> uiManager)
: animatedPropsRegistry_(std::make_shared<AnimatedPropsRegistry>()),
animationChoreographer_(std::move(animationChoreographer)),
commitHook_(*uiManager, animatedPropsRegistry_),
commitHook_(
std::make_unique<AnimationBackendCommitHook>(
*uiManager,
animatedPropsRegistry_)),
uiManager_(std::move(uiManager)) {
react_native_assert(uiManager_.expired() == false);

Expand All @@ -75,6 +79,8 @@ AnimationBackend::AnimationBackend(
}
}

AnimationBackend::~AnimationBackend() = default;

void AnimationBackend::unpackMutations(
AnimationMutations& mutations,
std::unordered_map<SurfaceId, SurfaceUpdates>& surfaceUpdates,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@
#include <react/renderer/uimanager/UIManagerAnimationBackend.h>
#include <functional>
#include <memory>
#include <mutex>
#include <set>
#include <unordered_map>
#include <vector>
#include "AnimatedProps.h"
#include "AnimatedPropsRegistry.h"
#include "AnimationBackendCommitHook.h"
#include "AnimationChoreographer.h"

namespace facebook::react {

class AnimationBackend;
class AnimationBackendCommitHook;
class AnimatedPropsRegistry;
struct SurfaceUpdates;

struct AnimationMutation {
Tag tag;
Expand Down Expand Up @@ -53,7 +56,7 @@ class AnimationBackend : public UIManagerAnimationBackend {
AnimationBackend(
std::shared_ptr<AnimationChoreographer> animationChoreographer,
std::shared_ptr<UIManager> uiManager);
void commitUpdates(SurfaceId surfaceId, SurfaceUpdates &surfaceUpdates);
~AnimationBackend() override;
void synchronouslyUpdateProps(const std::unordered_map<Tag, AnimatedProps> &updates);
void requestAsyncFlushForSurfaces(const std::set<SurfaceId> &surfaces);
void clearRegistry(SurfaceId surfaceId) override;
Expand All @@ -67,6 +70,7 @@ class AnimationBackend : public UIManagerAnimationBackend {
void stop(CallbackId callbackId) override;

private:
void commitUpdates(SurfaceId surfaceId, SurfaceUpdates &surfaceUpdates);
void unpackMutations(
AnimationMutations &mutations,
std::unordered_map<SurfaceId, SurfaceUpdates> &surfaceUpdates,
Expand All @@ -78,7 +82,7 @@ class AnimationBackend : public UIManagerAnimationBackend {
std::vector<CallbackWithId> callbacks;
std::shared_ptr<AnimatedPropsRegistry> animatedPropsRegistry_;
std::shared_ptr<AnimationChoreographer> animationChoreographer_;
AnimationBackendCommitHook commitHook_;
std::unique_ptr<AnimationBackendCommitHook> commitHook_;
std::weak_ptr<UIManager> uiManager_;
std::shared_ptr<CallInvoker> jsInvoker_;
bool isRenderCallbackStarted_{false};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#pragma once

#include <react/cxxstableapi/FrameworksGuard.h>
#include <react/cxxstableapi/PrivateGuard.h>

#include <React/RendererCore.h>
#include <react/renderer/uimanager/UIManager.h>
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -1568,9 +1568,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -1563,9 +1563,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -1567,9 +1567,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -4118,9 +4118,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -4106,9 +4106,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -4117,9 +4117,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -893,9 +893,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -889,9 +889,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
2 changes: 1 addition & 1 deletion scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api
Original file line number Diff line number Diff line change
Expand Up @@ -892,9 +892,9 @@ class facebook::react::AnimationBackend : public facebook::react::UIManagerAnima
public virtual void registerJSInvoker(std::shared_ptr<facebook::react::CallInvoker> jsInvoker) override;
public virtual void stop(facebook::react::CallbackId callbackId) override;
public virtual void trigger() override;
public void commitUpdates(facebook::react::SurfaceId surfaceId, facebook::react::SurfaceUpdates& surfaceUpdates);
public void requestAsyncFlushForSurfaces(const std::set<facebook::react::SurfaceId>& surfaces);
public void synchronouslyUpdateProps(const std::unordered_map<facebook::react::Tag, facebook::react::AnimatedProps>& updates);
public ~AnimationBackend() override;
}

class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook {
Expand Down
Loading