| 396 | } |
| 397 | |
| 398 | jobject ValdiAndroid::NativeBridge::createContext( // NOLINT |
| 399 | fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT |
| 400 | jlong handle, |
| 401 | jstring componentPath, |
| 402 | jobject viewModel, |
| 403 | jobject componentContext, |
| 404 | jboolean useSnapDrawing) { |
| 405 | auto* wrapper = getRuntimeWrapper(handle); |
| 406 | if (wrapper == nullptr) { |
| 407 | return nullptr; |
| 408 | } |
| 409 | |
| 410 | auto* runtime = &wrapper->getRuntime(); |
| 411 | |
| 412 | auto javaEnv = ValdiAndroid::JavaEnv(); |
| 413 | |
| 414 | auto cppComponentPath = ValdiAndroid::toInternedString(javaEnv, componentPath); |
| 415 | auto viewModelRetainedJava = ValdiAndroid::javaObjectToLazyValueConvertible(javaEnv, viewModel, "ViewModel"); |
| 416 | auto componentContextRetainedJava = |
| 417 | ValdiAndroid::javaObjectToLazyValueConvertible(javaEnv, componentContext, "ComponentContext"); |
| 418 | |
| 419 | Valdi::Ref<Valdi::ViewManagerContext> viewManagerContext; |
| 420 | if (useSnapDrawing != 0) { |
| 421 | viewManagerContext = wrapper->getRuntimeManagerWrapper()->getOrCreateSnapDrawingViewManagerContext(); |
| 422 | } else { |
| 423 | viewManagerContext = wrapper->getRuntimeManagerWrapper()->getAndroidViewManagerContext(); |
| 424 | } |
| 425 | |
| 426 | auto context = runtime->createContext( |
| 427 | viewManagerContext, cppComponentPath, viewModelRetainedJava, componentContextRetainedJava); |
| 428 | |
| 429 | auto javaContext = ValdiAndroid::fromValdiContextUserData(context->getUserData()); |
| 430 | return javaContext.releaseObject(); |
| 431 | } |
| 432 | |
| 433 | void ValdiAndroid::NativeBridge::contextOnCreate( // NOLINT |
| 434 | fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT |
nothing calls this directly
no test coverage detected