Add config flag for RuntimeScheduler

Summary:
Changelog: [internal]

Add config flags for RuntimeScheduler. Even with the flags, React will not be using it. Further changes on React side will be required.

Reviewed By: mdvacca

Differential Revision: D27616916

fbshipit-source-id: 296a040c2b6dd936dd9582e937e6db75e28f31a4
This commit is contained in:
Samuel Susla
2021-04-08 10:29:07 -07:00
committed by Facebook GitHub Bot
parent 49b6c60bc0
commit 0b8731d40d
2 changed files with 13 additions and 0 deletions
@@ -60,6 +60,7 @@ rn_xplat_cxx_library(
react_native_xplat_target("react/renderer/core:core"),
react_native_xplat_target("react/renderer/mounting:mounting"),
react_native_xplat_target("react/renderer/uimanager:uimanager"),
react_native_xplat_target("react/renderer/runtimescheduler:runtimescheduler"),
react_native_xplat_target("react/renderer/templateprocessor:templateprocessor"),
react_native_xplat_target("react/renderer/componentregistry:componentregistry"),
react_native_xplat_target("react/renderer/debug:debug"),
@@ -17,6 +17,7 @@
#include <react/renderer/debug/SystraceSection.h>
#include <react/renderer/mounting/MountingOverrideDelegate.h>
#include <react/renderer/mounting/ShadowViewMutation.h>
#include <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
#include <react/renderer/templateprocessor/UITemplateProcessor.h>
#include <react/renderer/uimanager/UIManager.h>
#include <react/renderer/uimanager/UIManagerBinding.h>
@@ -86,9 +87,20 @@ Scheduler::Scheduler(
uiManager->setDelegate(this);
uiManager->setComponentDescriptorRegistry(componentDescriptorRegistry_);
#ifdef ANDROID
auto enableRuntimeScheduler = reactNativeConfig_->getBool(
"react_fabric:enable_runtime_scheduler_android");
#else
auto enableRuntimeScheduler =
reactNativeConfig_->getBool("react_fabric:enable_runtime_scheduler_ios");
#endif
runtimeExecutor_([=](jsi::Runtime &runtime) {
auto uiManagerBinding = UIManagerBinding::createAndInstallIfNeeded(runtime);
uiManagerBinding->attach(uiManager);
if (enableRuntimeScheduler) {
RuntimeSchedulerBinding::createAndInstallIfNeeded(runtime);
}
});
auto componentDescriptorRegistryKey =