MCPcopy Create free account
hub / github.com/Snapchat/Valdi / RuntimeManager

Method RuntimeManager

valdi/src/valdi/runtime/RuntimeManager.cpp:106–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104 std::atomic_bool _shouldCrashOnANR = false;
105};
106
107RuntimeManager::RuntimeManager(const Ref<IMainThreadDispatcher>& mainThreadDispatcher,
108 IJavaScriptBridge* jsBridge,
109 const Ref<IDiskCache>& diskCache,
110 Shared<snap::valdi::Keychain> keychain,
111 const Shared<snap::valdi::RuntimeMessageHandler>& runtimeMessageHandler,
112 PlatformType platformType,
113 ThreadQoSClass jsThreadQoS,
114 const Ref<ILogger>& logger,
115 bool enableDebuggerService,
116 bool disableHotReloader,
117 bool isStandalone)
118 : _initStopWatch(std::make_shared<MetricsStopWatch>()),
119 _yogaConfig(Valdi::Yoga::createConfig(0)),
120 _debuggerService(createDebuggerService(
121 enableDebuggerService, disableHotReloader, isStandalone, platformType, runtimeMessageHandler, logger)),
122 _deferredGCTask(DispatchQueue::TaskIDNull),
123 _mainThreadManager(makeShared<MainThreadManager>(mainThreadDispatcher)),
124 _assetLoaderManager(makeShared<AssetLoaderManager>()),
125 _innerLogger(_debuggerService != nullptr ? _debuggerService->getBridgeLogger() : logger),
126 _logger(makeShared<BridgeLogger>(_innerLogger)),
127 _jsBridge(jsBridge),
128 _diskCache(diskCache),
129 _keychain(std::move(keychain)),
130 _runtimeMessageHandler(runtimeMessageHandler),
131 _colorPalette(makeShared<ColorPalette>()),
132 _platformType(platformType),
133 _jsThreadQoS(jsThreadQoS),
134 _debuggerServiceEnabled(_debuggerService != nullptr) {
135 _mainThreadManager->postInit();
136 _workerQueue = DispatchQueue::create(STRING_LITERAL("Valdi Worker Thread"), ThreadQoSClassHigh);
137 _anrDetector = makeShared<JavaScriptANRDetector>(_logger);
138 if (runtimeMessageHandler != nullptr) {
139 _anrDetector->setListener(makeShared<ANRDetectorListener>(runtimeMessageHandler));
140 }
141
142 _colorPalette->setListener(this);
143}
144
145RuntimeManager::~RuntimeManager() {

Callers

nothing calls this directly

Calls 5

createDebuggerServiceFunction · 0.85
getBridgeLoggerMethod · 0.80
setListenerMethod · 0.65
createFunction · 0.50
postInitMethod · 0.45

Tested by

no test coverage detected