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

Method createContext

valdi/src/valdi/android/NativeBridge.cpp:398–431  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

396 if (completionConverted.getFunction() == nullptr) {
397 ValdiAndroid::throwJavaValdiException(env, "completion should be a function");
398 return;
399 }
400
401 runtime->getResourceManager().loadModuleAsync(
402 cppModuleName, Valdi::ResourceManagerLoadModuleType::Sources, [=](const auto& result) {
403 Valdi::Value parameter;
404 if (!result) {
405 parameter = Valdi::Value(result.error());
406 }
407
408 (*completionConverted.getFunction())(&parameter, 1);
409 });
410}
411
412jobject ValdiAndroid::NativeBridge::createContext( // NOLINT
413 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
414 jlong handle,
415 jstring componentPath,
416 jobject viewModel,
417 jobject componentContext,
418 jboolean useSnapDrawing) {
419 auto* wrapper = getRuntimeWrapper(handle);
420 if (wrapper == nullptr) {
421 return nullptr;
422 }
423
424 auto* runtime = &wrapper->getRuntime();
425
426 auto javaEnv = ValdiAndroid::JavaEnv();
427
428 auto cppComponentPath = ValdiAndroid::toInternedString(javaEnv, componentPath);
429 auto viewModelRetainedJava = ValdiAndroid::javaObjectToLazyValueConvertible(javaEnv, viewModel, "ViewModel");
430 auto componentContextRetainedJava =
431 ValdiAndroid::javaObjectToLazyValueConvertible(javaEnv, componentContext, "ComponentContext");
432
433 Valdi::Ref<Valdi::ViewManagerContext> viewManagerContext;
434 if (useSnapDrawing != 0) {

Callers

nothing calls this directly

Calls 10

getRuntimeWrapperFunction · 0.85
toInternedStringFunction · 0.85
fromValdiContextUserDataFunction · 0.85
getUserDataMethod · 0.80
createContextMethod · 0.65
releaseObjectMethod · 0.65
JavaEnvClass · 0.50
getRuntimeMethod · 0.45

Tested by

no test coverage detected