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

Method callOnJsThread

valdi/src/valdi/android/NativeBridge.cpp:1178–1196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1176}
1177
1178void ValdiAndroid::NativeBridge::callOnJsThread( // NOLINT
1179 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1180 jlong runtimeHandle,
1181 jboolean sync,
1182 jobject runnable) {
1183 auto* runtimeWrapper = getRuntimeWrapper(runtimeHandle);
1184
1185 if (runtimeWrapper == nullptr) {
1186 return;
1187 }
1188
1189 auto runnableRef = Valdi::makeShared<ValdiAndroid::JavaRunnable>(ValdiAndroid::JavaEnv(), runnable);
1190
1191 runtimeWrapper->getRuntime().getJavaScriptRuntime()->dispatchOnJsThread(
1192 nullptr,
1193 (sync != 0u) ? Valdi::JavaScriptTaskScheduleTypeAlwaysSync : Valdi::JavaScriptTaskScheduleTypeDefault,
1194 0,
1195 [runnableRef = std::move(runnableRef)](auto& /*jsEntry*/) { (*runnableRef)(); });
1196}
1197
1198void ValdiAndroid::NativeBridge::enqueueLoadOperation( // NOLINT
1199 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT

Callers

nothing calls this directly

Calls 5

getRuntimeWrapperFunction · 0.85
getJavaScriptRuntimeMethod · 0.80
JavaEnvClass · 0.50
dispatchOnJsThreadMethod · 0.45
getRuntimeMethod · 0.45

Tested by

no test coverage detected