| 1843 | builder.append(Valdi::Value(bundleNameAndHash)); |
| 1844 | } |
| 1845 | } |
| 1846 | retval = builder.build(); |
| 1847 | } |
| 1848 | return ValdiAndroid::toJavaObject(ValdiAndroid::JavaEnv(), retval).releaseObject(); |
| 1849 | } |
| 1850 | |
| 1851 | jobject 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 | |
| 1870 | void 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 | |
| 1883 | static Valdi::Ref<ValdiAndroid::AttributesBindingContextWrapper> getBindingContextWrapper(jlong bindingContextHandle) { |
| 1884 | return Valdi::unsafeBridge<ValdiAndroid::AttributesBindingContextWrapper>( |
| 1885 | reinterpret_cast<void*>(bindingContextHandle)); |
| 1886 | } |
| 1887 | |
| 1888 | jint 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, |
nothing calls this directly
no test coverage detected