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

Method dispatchSnapDrawingTouchEvent

valdi/src/valdi/android/NativeBridge.cpp:2153–2181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2151 auto moduleNameCpp = ValdiAndroid::toInternedString(ValdiAndroid::JavaEnv(), moduleName);
2152 auto pathCpp = ValdiAndroid::toInternedString(ValdiAndroid::JavaEnv(), path);
2153 auto bundle = runtimeWrapper->getRuntime().getResourceManager().getBundle(moduleNameCpp);
2154 auto entry = bundle->getEntry(pathCpp);
2155 if (!entry) {
2156 return nullptr;
2157 }
2158
2159 if (saveToDisk != 0) {
2160 Valdi::Path path(".valdi_extracted_module");
2161 path.append(moduleNameCpp.toStringView()).append(pathCpp.toStringView());
2162 const auto& diskCache = runtimeWrapper->getRuntime().getDiskCache();
2163 auto result = diskCache->store(path, entry.value());
2164 if (!result) {
2165 ValdiAndroid::throwJavaValdiException(fbjni::Environment::current(), result.error());
2166 return nullptr;
2167 }
2168
2169 auto filePath = diskCache->getAbsoluteURL(path).substring(std::string_view("file://").length());
2170 return newJavaStringUTF8(filePath.toStringView()).release();
2171 } else {
2172 return newJavaByteArray(entry.value().data(), entry.value().size()).release();
2173 }
2174}
2175
2176// NOLINTNEXTLINE
2177jdouble ValdiAndroid::NativeBridge::getCurrentEventTime(fbjni::alias_ref<fbjni::JClass> /*clazz*/) {
2178 return static_cast<jdouble>(Valdi::TimePoint::now().getTime());
2179}
2180
2181void ValdiAndroid::NativeBridge::startProfiling( // NOLINT
2182 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
2183 jlong runtimeHandle) {
2184 auto* runtime = getRuntime(runtimeHandle);

Callers

nothing calls this directly

Calls 3

getSnapDrawingRootFunction · 0.85
dispatchTouchEventMethod · 0.65
JavaEnvClass · 0.50

Tested by

no test coverage detected