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

Method getAsset

valdi/src/valdi/android/NativeBridge.cpp:1980–2006  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1978}
1979
1980jobject ValdiAndroid::NativeBridge::getAsset( // NOLINT
1981 fbjni::alias_ref<fbjni::JClass> /*clazz*/, // NOLINT
1982 jlong runtimeHandle,
1983 jstring moduleName,
1984 jstring pathOrUrl) {
1985 auto* runtimeWrapper = getRuntimeWrapper(runtimeHandle);
1986 if (runtimeWrapper == nullptr) {
1987 return nullptr;
1988 }
1989
1990 const auto& assetsManager = runtimeWrapper->getRuntime().getResourceManager().getAssetsManager();
1991
1992 auto pathCpp = ValdiAndroid::toInternedString(ValdiAndroid::JavaEnv(), pathOrUrl);
1993
1994 Valdi::Ref<Valdi::Asset> asset;
1995 if (moduleName != nullptr) {
1996 auto moduleNameCpp = ValdiAndroid::toInternedString(ValdiAndroid::JavaEnv(), moduleName);
1997 auto bundle = runtimeWrapper->getRuntime().getResourceManager().getBundle(moduleNameCpp);
1998 asset = assetsManager->getAsset(Valdi::AssetKey(bundle, pathCpp));
1999 } else {
2000 asset = assetsManager->getAsset(Valdi::AssetKey(pathCpp));
2001 }
2002
2003 return djinni_generated_client::valdi_core::NativeAsset::fromCpp(ValdiAndroid::JavaEnv::getUnsafeEnv(),
2004 asset.toShared())
2005 .release();
2006}
2007
2008jobject ValdiAndroid::NativeBridge::getModuleEntry( // NOLINT
2009 fbjni::alias_ref<fbjni::JClass> /*clazz*/, // NOLINT

Callers 4

getSrcAssetFromNodeFunction · 0.45
TEST_PFunction · 0.45
loadAssetSyncMethod · 0.45
TESTFunction · 0.45

Calls 10

getRuntimeWrapperFunction · 0.85
toInternedStringFunction · 0.85
AssetKeyClass · 0.85
getBundleMethod · 0.80
toSharedMethod · 0.80
JavaEnvClass · 0.50
fromCppFunction · 0.50
getAssetsManagerMethod · 0.45
getRuntimeMethod · 0.45
releaseMethod · 0.45

Tested by 4

getSrcAssetFromNodeFunction · 0.36
TEST_PFunction · 0.36
loadAssetSyncMethod · 0.36
TESTFunction · 0.36