Migrate RCTNativeAnimatedTurboModule to initialize

Summary: Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D28595948

fbshipit-source-id: a12207f8e0c11e1e105225404450ff335242aba7
This commit is contained in:
Ramanpreet Nara 2021-05-21 14:48:26 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 8aa85241a4
Коммит a2ab3fccd0
4 изменённых файлов: 19 добавлений и 20 удалений

Просмотреть файл

@ -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