| 104 | std::atomic_bool _shouldCrashOnANR = false; |
| 105 | }; |
| 106 | |
| 107 | RuntimeManager::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 | |
| 145 | RuntimeManager::~RuntimeManager() { |
nothing calls this directly
no test coverage detected