Remove RCTUIManagerObserver from RCTNativeAnimatedTurboModule
Reviewed By: philIip Differential Revision: D32115902 fbshipit-source-id: 27a35ff4b4dad5f6364af6b91a6de9e467c068d0
This commit is contained in:
Родитель
b7b59aee84
Коммит
e9ed115bab
|
@ -9,8 +9,6 @@
|
||||||
#import <React/RCTEventDispatcherProtocol.h>
|
#import <React/RCTEventDispatcherProtocol.h>
|
||||||
#import <React/RCTEventEmitter.h>
|
#import <React/RCTEventEmitter.h>
|
||||||
#import <React/RCTSurfacePresenterStub.h>
|
#import <React/RCTSurfacePresenterStub.h>
|
||||||
#import <React/RCTUIManager.h>
|
|
||||||
#import <React/RCTUIManagerObserverCoordinator.h>
|
|
||||||
#import <React/RCTUIManagerUtils.h>
|
#import <React/RCTUIManagerUtils.h>
|
||||||
|
|
||||||
#import "RCTValueAnimatedNode.h"
|
#import "RCTValueAnimatedNode.h"
|
||||||
|
@ -18,6 +16,6 @@
|
||||||
// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
|
// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.
|
||||||
// NOTE: This module is temporarily forked (see RCTNativeAnimatedModule).
|
// NOTE: This module is temporarily forked (see RCTNativeAnimatedModule).
|
||||||
// When making any changes, be sure to apply them to the fork as well.
|
// 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, RCTSurfacePresenterObserver>
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -29,7 +29,6 @@ typedef void (^AnimatedOperation)(RCTNativeAnimatedNodesManager *nodesManager);
|
||||||
NSMutableDictionary<NSNumber *, NSNumber *> *_animIdIsManagedByFabric;
|
NSMutableDictionary<NSNumber *, NSNumber *> *_animIdIsManagedByFabric;
|
||||||
// A set of nodeIDs managed by Fabric.
|
// A set of nodeIDs managed by Fabric.
|
||||||
NSMutableSet<NSNumber *> *_nodeIDsManagedByFabric;
|
NSMutableSet<NSNumber *> *_nodeIDsManagedByFabric;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RCT_EXPORT_MODULE();
|
RCT_EXPORT_MODULE();
|
||||||
|
@ -52,15 +51,8 @@ RCT_EXPORT_MODULE();
|
||||||
|
|
||||||
- (void)initialize
|
- (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:
|
// _surfacePresenter set in setSurfacePresenter:
|
||||||
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:nil surfacePresenter:_surfacePresenter];
|
_nodesManager = [[RCTNativeAnimatedNodesManager alloc] initWithBridge:nil surfacePresenter:_surfacePresenter];
|
||||||
}
|
|
||||||
|
|
||||||
[_surfacePresenter addObserver:self];
|
[_surfacePresenter addObserver:self];
|
||||||
[[self.moduleRegistry moduleForName:"EventDispatcher"] addDispatchObserver:self];
|
[[self.moduleRegistry moduleForName:"EventDispatcher"] addDispatchObserver:self];
|
||||||
}
|
}
|
||||||
|
@ -70,7 +62,6 @@ RCT_EXPORT_MODULE();
|
||||||
[super invalidate];
|
[super invalidate];
|
||||||
[_nodesManager stopAnimationLoop];
|
[_nodesManager stopAnimationLoop];
|
||||||
[[self.moduleRegistry moduleForName:"EventDispatcher"] removeDispatchObserver:self];
|
[[self.moduleRegistry moduleForName:"EventDispatcher"] removeDispatchObserver:self];
|
||||||
[self.bridge.uiManager.observerCoordinator removeObserver:self];
|
|
||||||
[_surfacePresenter removeObserver:self];
|
[_surfacePresenter removeObserver:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,8 +187,8 @@ RCT_EXPORT_METHOD(connectAnimatedNodeToView:(double)nodeTag
|
||||||
if (RCTUIManagerTypeForTagIsFabric(@(viewTag))) {
|
if (RCTUIManagerTypeForTagIsFabric(@(viewTag))) {
|
||||||
[_nodeIDsManagedByFabric addObject:@(nodeTag)];
|
[_nodeIDsManagedByFabric addObject:@(nodeTag)];
|
||||||
}
|
}
|
||||||
NSString *viewName = [self.bridge.uiManager viewNameForReactTag:[NSNumber numberWithDouble:viewTag]];
|
|
||||||
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
|
[self addOperationBlock:^(RCTNativeAnimatedNodesManager *nodesManager) {
|
||||||
|
NSString *viewName; // Not used when node is managed by Fabric. Nodes are always managed by Fabric in Bridgeless.
|
||||||
[nodesManager connectAnimatedNodeToView:[NSNumber numberWithDouble:nodeTag] viewTag:[NSNumber numberWithDouble:viewTag] viewName:viewName];
|
[nodesManager connectAnimatedNodeToView:[NSNumber numberWithDouble:nodeTag] viewTag:[NSNumber numberWithDouble:viewTag] viewName:viewName];
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
@ -336,33 +327,6 @@ RCT_EXPORT_METHOD(getValue:(double)nodeTag saveValueCallback:(RCTResponseSenderB
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - RCTUIManagerObserver
|
|
||||||
|
|
||||||
- (void)uiManagerWillPerformMounting:(RCTUIManager *)uiManager
|
|
||||||
{
|
|
||||||
if (_preOperations.count == 0 && _operations.count == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
NSArray<AnimatedOperation> *preOperations = _preOperations;
|
|
||||||
NSArray<AnimatedOperation> *operations = _operations;
|
|
||||||
_preOperations = [NSMutableArray new];
|
|
||||||
_operations = [NSMutableArray new];
|
|
||||||
|
|
||||||
[uiManager prependUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
||||||
for (AnimatedOperation operation in preOperations) {
|
|
||||||
operation(self->_nodesManager);
|
|
||||||
}
|
|
||||||
}];
|
|
||||||
[uiManager addUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
||||||
for (AnimatedOperation operation in operations) {
|
|
||||||
operation(self->_nodesManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
[self->_nodesManager updateAnimations];
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma mark -- Events
|
#pragma mark -- Events
|
||||||
|
|
||||||
- (NSArray<NSString *> *)supportedEvents
|
- (NSArray<NSString *> *)supportedEvents
|
||||||
|
|
Загрузка…
Ссылка в новой задаче