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

Method setValueForAttribute

valdi/src/valdi/android/NativeBridge.cpp:1456–1500  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1454 return;
1455 }
1456 wrapper->applicationIsInLowMemory();
1457}
1458
1459jstring ValdiAndroid::NativeBridge::getViewNodeDebugDescription( // NOLINT
1460 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1461 jlong viewNodeHandle) {
1462 auto viewNode = getViewNode(viewNodeHandle);
1463 if (viewNode == nullptr) {
1464 return nullptr;
1465 }
1466 return reinterpret_cast<jstring>(
1467 ValdiAndroid::toJavaObject(ValdiAndroid::JavaEnv(), viewNode->toXML()).releaseObject());
1468}
1469
1470void ValdiAndroid::NativeBridge::valueChangedForAttribute( // NOLINT
1471 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1472 jlong runtimeHandle,
1473 jlong viewNodeHandle,
1474 jlong attributeNamePtr,
1475 jobject value) {
1476 auto* runtime = getRuntime(runtimeHandle);
1477 auto viewNode = getViewNode(viewNodeHandle);
1478 if (viewNode == nullptr || runtime == nullptr) {
1479 return;
1480 }
1481 auto javaEnv = ValdiAndroid::JavaEnv();
1482
1483 auto attributeName = ValdiAndroid::unwrapInternedString(attributeNamePtr);
1484 auto attributeValue = ValdiAndroid::toValue(javaEnv, ValdiAndroid::JavaEnv::newLocalRef(value));
1485
1486 runtime->updateAttributeState(*viewNode, attributeName, attributeValue);
1487}
1488
1489void ValdiAndroid::NativeBridge::setValueForAttribute( // NOLINT
1490 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1491 jlong viewNodeHandle,
1492 jstring attribute,
1493 jobject value,
1494 jboolean keepAsOverride) {
1495 auto viewNode = getViewNode(viewNodeHandle);
1496 if (viewNode == nullptr) {
1497 return;
1498 }
1499
1500 auto javaEnv = ValdiAndroid::JavaEnv();
1501
1502 auto attributeName = ValdiAndroid::toInternedString(javaEnv, attribute);
1503 auto attributeValue = ValdiAndroid::toValue(javaEnv, ValdiAndroid::JavaEnv::newLocalRef(value));

Callers

nothing calls this directly

Calls 12

getViewNodeFunction · 0.85
toInternedStringFunction · 0.85
toValueFunction · 0.85
getIdForNameMethod · 0.80
getViewNodeTreeMethod · 0.80
withLockMethod · 0.80
getRawIdMethod · 0.80
setAttributeMethod · 0.65
flushMethod · 0.65
JavaEnvClass · 0.50
onAttributeChangeMethod · 0.45
getContextMethod · 0.45

Tested by

no test coverage detected