Skip to content

Commit 54db5f2

Browse files
cortinicofacebook-github-bot
authored andcommitted
Expose UIManager from Scheduler (#33545)
Summary: Pull Request resolved: #33545 Exposes `UIManager` instance for access from third-party modules. Changelog: [Changed] Exposes `UIManager` instance for third-party access. Reviewed By: javache Differential Revision: D35314058 fbshipit-source-id: 1922c2afc37b105b153a82f45e5bac9c0b0cdfae
1 parent 614aa86 commit 54db5f2

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

React/Fabric/RCTScheduler.h

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#import <react/renderer/mounting/MountingCoordinator.h>
1717
#import <react/renderer/scheduler/SchedulerToolbox.h>
1818
#import <react/renderer/scheduler/SurfaceHandler.h>
19+
#import <react/renderer/uimanager/UIManager.h>
1920
#import <react/utils/ContextContainer.h>
2021

2122
NS_ASSUME_NONNULL_BEGIN
@@ -48,6 +49,7 @@ NS_ASSUME_NONNULL_BEGIN
4849
@interface RCTScheduler : NSObject
4950

5051
@property (atomic, weak, nullable) id<RCTSchedulerDelegate> delegate;
52+
@property (readonly) std::shared_ptr<facebook::react::UIManager> const uiManager;
5153

5254
- (instancetype)initWithToolbox:(facebook::react::SchedulerToolbox)toolbox;
5355

React/Fabric/RCTScheduler.mm

+5
Original file line numberDiff line numberDiff line change
@@ -203,4 +203,9 @@ - (void)removeEventListener:(std::shared_ptr<EventListener> const &)listener
203203
return _scheduler->removeEventListener(listener);
204204
}
205205

206+
- (std::shared_ptr<facebook::react::UIManager> const)uiManager
207+
{
208+
return _scheduler->getUIManager();
209+
}
210+
206211
@end

ReactCommon/react/renderer/scheduler/Scheduler.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ ContextContainer::Shared Scheduler::getContextContainer() const {
368368
return contextContainer_;
369369
}
370370

371+
std::shared_ptr<UIManager> Scheduler::getUIManager() const {
372+
return uiManager_;
373+
}
374+
371375
void Scheduler::addEventListener(
372376
const std::shared_ptr<EventListener const> &listener) {
373377
if (eventDispatcher_->has_value()) {

ReactCommon/react/renderer/scheduler/Scheduler.h

+3
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ class Scheduler final : public UIManagerDelegate {
108108
#pragma mark - ContextContainer
109109
ContextContainer::Shared getContextContainer() const;
110110

111+
#pragma mark - UIManager
112+
std::shared_ptr<UIManager> getUIManager() const;
113+
111114
#pragma mark - Event listeners
112115
void addEventListener(const std::shared_ptr<EventListener const> &listener);
113116
void removeEventListener(

0 commit comments

Comments
 (0)