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

Method createViewFactory

valdi/src/valdi/android/NativeBridge.cpp:1845–1890  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1843 builder.append(Valdi::Value(bundleNameAndHash));
1844 }
1845 }
1846 retval = builder.build();
1847 }
1848 return ValdiAndroid::toJavaObject(ValdiAndroid::JavaEnv(), retval).releaseObject();
1849}
1850
1851jobject ValdiAndroid::NativeBridge::dumpMemoryStatistics( // NOLINT
1852 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1853 jlong runtimeManagerHandle) {
1854 auto* runtimeManagerWrapper = getRuntimeManagerWrapper(runtimeManagerHandle);
1855 auto retval = Valdi::ValueArray::make(2);
1856 if (runtimeManagerWrapper != nullptr) {
1857 Valdi::JavaScriptContextMemoryStatistics stats =
1858 runtimeManagerWrapper->getRuntimeManager().dumpMemoryStatistics();
1859
1860 retval->emplace(0, Valdi::Value(static_cast<int64_t>(stats.memoryUsageBytes)));
1861 retval->emplace(1, Valdi::Value(static_cast<int64_t>(stats.objectsCount)));
1862 } else {
1863 retval->emplace(0, Valdi::Value(static_cast<int64_t>(-1)));
1864 retval->emplace(1, Valdi::Value(static_cast<int64_t>(-1)));
1865 }
1866
1867 return ValdiAndroid::toJavaObject(ValdiAndroid::JavaEnv(), retval).releaseObject();
1868}
1869
1870void ValdiAndroid::NativeBridge::forceBindAttributes( // NOLINT
1871 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1872 jlong runtimeManagerHandle,
1873 jstring className) {
1874 auto* wrapper = getRuntimeManagerWrapper(runtimeManagerHandle);
1875 if (wrapper == nullptr) {
1876 return;
1877 }
1878 auto cppClassName = ValdiAndroid::toInternedString(ValdiAndroid::JavaEnv(), className);
1879
1880 wrapper->getRuntimeManager().forceBindAttributes(cppClassName);
1881}
1882
1883static Valdi::Ref<ValdiAndroid::AttributesBindingContextWrapper> getBindingContextWrapper(jlong bindingContextHandle) {
1884 return Valdi::unsafeBridge<ValdiAndroid::AttributesBindingContextWrapper>(
1885 reinterpret_cast<void*>(bindingContextHandle));
1886}
1887
1888jint ValdiAndroid::NativeBridge::bindAttribute(fbjni::alias_ref<fbjni::JClass> clazz, // NOLINT
1889 jlong bindingContextHandle,
1890 jint type,
1891 jstring name,
1892 jboolean invalidateLayoutOnChange,
1893 jobject delegate,

Callers

nothing calls this directly

Calls 13

getRuntimeManagerWrapperFunction · 0.85
toInternedStringFunction · 0.85
unsafeBridgeCastFunction · 0.85
getLoggerMethod · 0.80
toObjectMethod · 0.80
scrollAttributesBoundMethod · 0.80
getMethod · 0.65
callMethod · 0.65
JavaEnvClass · 0.50
getAttributesForClassMethod · 0.45
getColorPaletteMethod · 0.45

Tested by

no test coverage detected