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

Method RuntimeManagerWrapper

valdi/src/valdi/android/RuntimeManagerWrapper.cpp:47–174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45namespace ValdiAndroid {
46
47RuntimeManagerWrapper::RuntimeManagerWrapper(JavaEnv env,
48 jobject mainThreadDispatcher,
49 jobject snapDrawingFrameScheduler,
50 jobject viewManager,
51 jobject logger,
52 jobject contextManager,
53 jobject localResourceResolver,
54 jobject assetManager,
55 jobject keychain,
56 jstring cacheRootDir,
57 jstring applicationId,
58 float pointScale,
59 jint longPressTimeoutMs,
60 jint doubleTapTimeoutMs,
61 jint dragTouchSlopPixels,
62 jint touchTolerancePixels,
63 jfloat scrollFriction,
64 jboolean debugTouchEvents,
65 jboolean keepDebuggerServiceOnPause,
66 jobject javaScriptEngineType,
67 uint64_t maxCacheSizeInBytes,
68 jint jsThreadQoS,
69 jint anrTimeoutMs)
70 : _mainThreadDispatcher(Valdi::makeShared<MainThreadDispatcher>(env, mainThreadDispatcher)),
71 _logger(Valdi::makeShared<Logger>(env, logger)),
72 _contextManager(env, contextManager, "ContextManager"),
73 _applicationId(ValdiAndroid::toInternedString(env, applicationId)),
74 _pointScale(pointScale) {
75 _resourceLoader = Valdi::makeShared<ResourceLoader>(env, localResourceResolver, assetManager, false);
76
77 Valdi::DispatchQueue::setMain(Valdi::makeShared<AndroidDispatchQueue>(_mainThreadDispatcher));
78
79 auto keychainCpp = Valdi::makeShared<AndroidKeychain>(keychain);
80 auto cacheRootDirCpp = ValdiAndroid::toInternedString(env, cacheRootDir);
81 auto diskCache = Valdi::makeShared<Valdi::DiskCacheImpl>(cacheRootDirCpp);
82 diskCache->setAllowedReadPath(STRING_LITERAL("/"));
83 _diskCache = std::move(diskCache);
84
85 _viewManager = Valdi::makeShared<ViewManager>(env, viewManager, pointScale, *_logger);
86
87 auto jsEngineType = djinni_generated_client::valdi_core::NativeJavaScriptEngineType::toCpp(
88 ValdiAndroid::JavaEnv::getUnsafeEnv(), javaScriptEngineType);
89 {
90 if (jsEngineType == snap::valdi_core::JavaScriptEngineType::JSCore) {
91 // Fallback to auto as we disabled JSCore support in debug builds
92 jsEngineType = snap::valdi_core::JavaScriptEngineType::Auto;
93 VALDI_WARN(*_logger, "JSCore is no longer supported on Android.");
94 }
95
96 VALDI_TRACE("Valdi.createNativeRuntimeManager");
97 _runtimeManager = Valdi::makeShared<Valdi::RuntimeManager>(_mainThreadDispatcher,
98 Valdi::JavaScriptBridge::get(jsEngineType),
99 _diskCache,
100 keychainCpp,
101 _viewManager.toShared(),
102 Valdi::PlatformTypeAndroid,
103 static_cast<Valdi::ThreadQoSClass>(jsThreadQoS),
104 _logger,

Callers

nothing calls this directly

Calls 15

toInternedStringFunction · 0.85
pixelsToPointsFunction · 0.85
setAllowedReadPathMethod · 0.80
toSharedMethod · 0.80
setPreloadingPausedMethod · 0.80
setFactoryMethod · 0.80
registerAssetLoadersMethod · 0.80

Tested by

no test coverage detected