Migrate RCTNativeAnimatedTurboModule to initialize
Summary: Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D28595948 fbshipit-source-id: a12207f8e0c11e1e105225404450ff335242aba7
This commit is contained in:
Родитель
8aa85241a4
Коммит
a2ab3fccd0
|
@ -15,7 +15,7 @@
|
|||
|
||||
@interface RCTNativeAnimatedNodesManager : NSObject
|
||||
|
||||
- (nonnull instancetype)initWithBridge:(nonnull RCTBridge *)bridge
|
||||
- (nonnull instancetype)initWithBridge:(RCTBridge *)bridge
|
||||
surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
|
||||
|
||||
- (void)updateAnimations;
|
||||
|
|
|
@ -55,7 +55,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
|
|||
CADisplayLink *_displayLink;
|
||||
}
|
||||
|
||||
- (instancetype)initWithBridge:(nonnull RCTBridge *)bridge surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
|
||||
- (instancetype)initWithBridge:(RCTBridge *)bridge surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
|
||||
{
|
||||
if ((self = [super init])) {
|
||||
_bridge = bridge;
|
||||
|
|
|
@ -12,12 +12,13 @@
|
|||
#import <React/RCTUIManager.h>
|
||||
#import <React/RCTUIManagerObserverCoordinator.h>
|
||||
#import <React/RCTUIManagerUtils.h>
|
||||
#import <React/RCTInitializing.h>
|
||||
|
||||
#import "RCTValueAnimatedNode.h"
|
||||
|
||||
// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
|
||||
// NOTE: This module is temporarily forked (see RCTNativeAnimatedModule).
|
||||
// When making any changes, be sure to apply them to the fork as well.
|
||||
@interface RCTNativeAnimatedTurboModule: RCTEventEmitter <RCTBridgeModule, RCTValueAnimatedNodeObserver, RCTEventDispatcherObserver, RCTUIManagerObserver, RCTSurfacePresenterObserver>
|
||||
@interface RCTNativeAnimatedTurboModule: RCTEventEmitter <RCTBridgeModule, RCTValueAnimatedNodeObserver, RCTEventDispatcherObserver, RCTUIManagerObserver, RCTSurfacePresenterObserver, RCTInitializing>
|
||||
|
||||
@end
|
||||
|
|
|
@ -45,6 +45,21 @@ RCT_EXPORT_MODULE();
|
|||
return self;
|
||||
}
|
||||
|
||||
- (void)initialize
|
||||
{
|
||||
if (self.bridge) {
|
||||
_surfacePresenter = self.bridge.surfacePresenter;
|
||||
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:self.bridge surfacePresenter:_surfacePresenter];
|
||||
[self.bridge.uiManager.observerCoordinator addObserver:self];
|
||||
} else {
|
||||
// _surfacePresenter set in setSurfacePresenter:
|
||||
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:nil surfacePresenter:_surfacePresenter];
|
||||
}
|
||||
|
||||
[_surfacePresenter addObserver:self];
|
||||
[[self.moduleRegistry moduleForName:"EventDispatcher"] addDispatchObserver:self];
|
||||
}
|
||||
|
||||
- (void)invalidate
|
||||
{
|
||||
[super invalidate];
|
||||
|
@ -62,21 +77,6 @@ RCT_EXPORT_MODULE();
|
|||
return RCTGetUIManagerQueue();
|
||||
}
|
||||
|
||||
- (void)setBridge:(RCTBridge *)bridge
|
||||
{
|
||||
[super setBridge:bridge];
|
||||
_surfacePresenter = bridge.surfacePresenter;
|
||||
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:self.bridge surfacePresenter:_surfacePresenter];
|
||||
[bridge.uiManager.observerCoordinator addObserver:self];
|
||||
[_surfacePresenter addObserver:self];
|
||||
}
|
||||
|
||||
- (void)setModuleRegistry:(RCTModuleRegistry *)moduleRegistry
|
||||
{
|
||||
[super setModuleRegistry:moduleRegistry];
|
||||
[[moduleRegistry moduleForName:"EventDispatcher"] addDispatchObserver:self];
|
||||
}
|
||||
|
||||
/*
|
||||
* In bridgeless mode, `setBridge` is never called during initializtion. Instead this selector is invoked via
|
||||
* BridgelessTurboModuleSetup.
|
||||
|
@ -84,8 +84,6 @@ RCT_EXPORT_MODULE();
|
|||
- (void)setSurfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
|
||||
{
|
||||
_surfacePresenter = surfacePresenter;
|
||||
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:self.bridge surfacePresenter:_surfacePresenter];
|
||||
[_surfacePresenter addObserver:self];
|
||||
}
|
||||
|
||||
#pragma mark -- API
|
||||
|
|
Загрузка…
Ссылка в новой задаче