MCPcopy Create free account
hub / github.com/bytedance/Fastbot_Android / mergeWidgetAndStoreMergedOnes

Method mergeWidgetAndStoreMergedOnes

native/desc/State.cpp:31–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29 }
30
31 int State::mergeWidgetAndStoreMergedOnes(WidgetPtrSet &mergeWidgets) {
32 int mergedWidgetCount = 0;
33 if (STATE_MERGE_DETAIL_TEXT && !this->_widgets.empty()) {
34 for (const auto &widgetPtr: this->_widgets) {
35 auto noMerged = mergeWidgets.emplace(widgetPtr).second;
36 if (!noMerged) {
37 uintptr_t h = widgetPtr->hash();
38 mergedWidgetCount++;
39 if (this->_mergedWidgets.find(h) == this->_mergedWidgets.end()) {
40 WidgetPtrVec tempWidgetVector;
41 tempWidgetVector.emplace_back(widgetPtr);
42 this->_mergedWidgets.emplace(h, tempWidgetVector);
43 } else {
44 this->_mergedWidgets.at(h).emplace_back(widgetPtr);
45 }
46 }
47 }
48 }
49 return mergedWidgetCount;
50 }
51
52 StatePtr State::create(ElementPtr elem, stringPtr activityName) {
53 StatePtr sharedPtr = std::shared_ptr<State>(new State(std::move(activityName)));

Callers 1

createMethod · 0.80

Calls 3

emptyMethod · 0.80
hashMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected