From e0da72ab68cf0e8477f12fce4ac8fa7b7448b613 Mon Sep 17 00:00:00 2001 From: empyrical Date: Tue, 14 Apr 2020 12:09:16 -0700 Subject: [PATCH] Update RNTester AppDelegate for changes made to SurfacePresenter API (#28580) Summary: This pull request updates RNTester's AppDelegate's Fabric mode to reflect changes made to the SurfacePresenter APIs. It now makes use of `RCTSurfacePresenterBridgeAdapter` to create its `SurfacePresenter`. ## Changelog [Internal] [Fixed] - Fixed outdated API usage in RNTester's AppDelegate Pull Request resolved: https://github.com/facebook/react-native/pull/28580 Test Plan: `RNTester/RNTester/AppDelegate.mm` now compiles without error when `RN_FABRIC_ENABLED` is enabled. Reviewed By: hramos Differential Revision: D20966067 Pulled By: mdvacca fbshipit-source-id: 8d0168d468240cff61554f2f2df799aaf5d876c1 --- RNTester/RNTester/AppDelegate.mm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/RNTester/RNTester/AppDelegate.mm b/RNTester/RNTester/AppDelegate.mm index c8f14cad8e1..a6898762311 100644 --- a/RNTester/RNTester/AppDelegate.mm +++ b/RNTester/RNTester/AppDelegate.mm @@ -30,7 +30,10 @@ #ifdef RN_FABRIC_ENABLED #import +#import #import + +#import #endif @@ -53,7 +56,9 @@ @interface AppDelegate() { #ifdef RN_FABRIC_ENABLED - RCTSurfacePresenter *_surfacePresenter; + RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; + std::shared_ptr _reactNativeConfig; + facebook::react::ContextContainer::Shared _contextContainer; #endif RCTTurboModuleManager *_turboModuleManager; @@ -77,14 +82,15 @@ } #ifdef RN_FABRIC_ENABLED - _surfacePresenter = [[RCTSurfacePresenter alloc] initWithBridge:_bridge - config:nil - imageLoader:RCTTurboModuleEnabled() ? - [_bridge moduleForName:@"RCTImageLoader" - lazilyLoadIfNecessary:YES] : nil - runtimeExecutor:nullptr]; + _contextContainer = std::make_shared(); + _reactNativeConfig = std::make_shared(); - _bridge.surfacePresenter = _surfacePresenter; + _contextContainer->insert("ReactNativeConfig", _reactNativeConfig); + + _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:_bridge + contextContainer:_contextContainer]; + + _bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; UIView *rootView = [[RCTFabricSurfaceHostingProxyRootView alloc] initWithBridge:_bridge moduleName:@"RNTesterApp" initialProperties:initProps]; #else