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

Method getViewInContextForId

valdi/src/valdi/android/NativeBridge.cpp:596–618  ·  view source on GitHub ↗

* Class: snapchat_valdi_nativebridge_ValdiNativeBridge * Method: getViewInContextForId * Signature: (JLjava/lang/String;)Ljava/lang/Object; */

Source from the content-addressed store, hash-verified

594 * Signature: (JLjava/lang/String;)Ljava/lang/Object;
595 */
596jobject ValdiAndroid::NativeBridge::getViewInContextForId( // NOLINT
597 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
598 jlong contextHandle,
599 jstring viewId) {
600 auto viewNodeTree = getViewNodeTree(contextHandle);
601
602 if (viewNodeTree == nullptr) {
603 return nullptr;
604 }
605 auto* env = fbjni::Environment::current();
606 auto javaEnv = ValdiAndroid::JavaEnv();
607
608 auto viewIdCpp = ValdiAndroid::toInternedString(javaEnv, viewId);
609 auto nodePathResult = Valdi::ViewNodePath::parse(viewIdCpp.toStringView());
610 if (!nodePathResult) {
611 ValdiAndroid::throwJavaValdiException(env, nodePathResult.error());
612 return nullptr;
613 }
614
615 auto view = viewNodeTree->getViewForNodePath(nodePathResult.value());
616
617 return ValdiAndroid::fromValdiView(view).releaseObject();
618}
619
620jlong ValdiAndroid::NativeBridge::getRetainedViewNodeInContext( // NOLINT
621 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT

Callers

nothing calls this directly

Calls 11

getViewNodeTreeFunction · 0.85
toInternedStringFunction · 0.85
throwJavaValdiExceptionFunction · 0.85
fromValdiViewFunction · 0.85
getViewForNodePathMethod · 0.80
errorMethod · 0.65
valueMethod · 0.65
releaseObjectMethod · 0.65
JavaEnvClass · 0.50
parseFunction · 0.50
toStringViewMethod · 0.45

Tested by

no test coverage detected