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

Method measureLayout

valdi/src/valdi/android/NativeBridge.cpp:1096–1126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1094 auto viewNode = getViewNode(viewNodeHandle);
1095 if (viewNode == nullptr) {
1096 return static_cast<jboolean>(false);
1097 }
1098
1099 if (viewNode->getViewNodeTree() == nullptr) {
1100 return static_cast<jboolean>(false);
1101 }
1102
1103 bool invalidated = false;
1104
1105 viewNode->getViewNodeTree()->withLock([&]() { invalidated = viewNode->invalidateMeasuredSize(); });
1106
1107 return static_cast<jboolean>(invalidated);
1108}
1109
1110jlong ValdiAndroid::NativeBridge::measureLayout( // NOLINT
1111 fbjni::alias_ref<fbjni::JClass> /* clazz */, // NOLINT
1112 jlong runtimeHandle,
1113 jlong contextHandle,
1114 jint maxWidth,
1115 jint widthMode,
1116 jint maxHeight,
1117 jint heightMode,
1118 jboolean isRTL) {
1119 auto viewNodeTree = getViewNodeTree(contextHandle);
1120 auto* runtimeWrapper = getRuntimeWrapper(runtimeHandle);
1121
1122 if (viewNodeTree == nullptr || runtimeWrapper == nullptr) {
1123 return 0;
1124 }
1125
1126 auto pointScale = runtimeWrapper->getPointScale();
1127
1128 auto resolvedWidthMode = static_cast<Valdi::MeasureMode>(widthMode);
1129 auto resolvedHeightMode = static_cast<Valdi::MeasureMode>(heightMode);

Callers 3

TESTFunction · 0.45
measureAsyncMethod · 0.45
calculateLayoutMethod · 0.45

Calls 5

getViewNodeTreeFunction · 0.85
getRuntimeWrapperFunction · 0.85
pointsToPackedPixelsFunction · 0.85
getPointScaleMethod · 0.45
lockMethod · 0.45

Tested by 1

TESTFunction · 0.36