| 1978 | } |
| 1979 | |
| 1980 | jobject 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 | |
| 2008 | jobject ValdiAndroid::NativeBridge::getModuleEntry( // NOLINT |
| 2009 | fbjni::alias_ref<fbjni::JClass> /*clazz*/, // NOLINT |