Make RCTEventDispatcher TurboModule-compatible

Summary:
This diff ended up being a bit more complicated than I anticipated, since the source files in `ReactInternal` were depending on `RCTEventDispatcher`. I made the following changes:
1. Make `RCTEventDispatcher` a `protocol`, keep it in `ReactInternal`.
2. Rename the `RCTEventDispatcher` NativeModule to `RCTEventDispatcherModule`, make it conform to the `RCTEventEmitter` `protocol`, and move it to `CoreModules`.
3. Where necessary, replace categories of `RCTEventDispatcher` with functions.

Changelog:
[iOS][Added] - Make RCTEventDispatcher TurboModule-comaptible

Reviewed By: fkgozali

Differential Revision: D18439488

fbshipit-source-id: b3da15c29459fddf884519f33b0c3b8c036b5539
This commit is contained in:
Lulu Wu
2020-10-14 02:40:10 -07:00
committed by Facebook GitHub Bot
parent d5076c6c8f
commit ea93151f21
46 changed files with 301 additions and 284 deletions
@@ -9,7 +9,7 @@
#import <React/RCTBridge.h>
#import <React/RCTConvert.h>
#import <React/RCTEventDispatcher.h>
#import <React/RCTEventDispatcherProtocol.h>
#import <React/RCTUIManager.h>
#import <React/RCTUtils.h>
#import <React/UIView+React.h>
@@ -21,7 +21,7 @@
@implementation RCTBaseTextInputView {
__weak RCTBridge *_bridge;
__weak RCTEventDispatcher *_eventDispatcher;
__weak id<RCTEventDispatcherProtocol> _eventDispatcher;
BOOL _hasInputAccesoryView;
NSString *_Nullable _predictedText;
BOOL _didMoveToWindow;