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

Method walkViewNode

valdi/src/valdi/android/AccessibilityBridge.cpp:8–21  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6namespace ValdiAndroid {
7
8void AccessibilityBridge::walkViewNode(Valdi::ViewNode* viewNode, std::vector<Valdi::Value>& values, float pointScale) {
9 // If the view node is an accessibility leaf, its children must not be fetched
10 if (viewNode->isAccessibilityLeaf()) {
11 AccessibilityBridge::writeInt32(0, values);
12 return;
13 }
14 // Otherwise, treat the current node as a container, and recurse
15 auto childrenViewNode = viewNode->getAccessibilityChildrenRecursive();
16 AccessibilityBridge::writeInt32(static_cast<int32_t>(childrenViewNode.size()), values);
17 for (Valdi::ViewNode* childViewNode : childrenViewNode) {
18 AccessibilityBridge::writeViewNode(childViewNode, values, pointScale);
19 AccessibilityBridge::walkViewNode(childViewNode, values, pointScale);
20 }
21}
22
23void AccessibilityBridge::writeInt64(int64_t value, std::vector<Valdi::Value>& values) {
24 values.emplace_back(value);

Callers

nothing calls this directly

Calls 4

writeInt32Function · 0.85
isAccessibilityLeafMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected