MCPcopy Create free account
hub / github.com/CyanogenMod/android_frameworks_base / addSymbols

Method addSymbols

tools/aapt/ResourceTable.cpp:2533–2583  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2531}
2532
2533status_t ResourceTable::addSymbols(const sp<AaptSymbols>& outSymbols) {
2534 const size_t N = mOrderedPackages.size();
2535 size_t pi;
2536
2537 for (pi=0; pi<N; pi++) {
2538 sp<Package> p = mOrderedPackages.itemAt(pi);
2539 if (p->getTypes().size() == 0) {
2540 // Empty, skip!
2541 continue;
2542 }
2543
2544 const size_t N = p->getOrderedTypes().size();
2545 size_t ti;
2546
2547 for (ti=0; ti<N; ti++) {
2548 sp<Type> t = p->getOrderedTypes().itemAt(ti);
2549 if (t == NULL) {
2550 continue;
2551 }
2552 const size_t N = t->getOrderedConfigs().size();
2553 sp<AaptSymbols> typeSymbols;
2554 typeSymbols = outSymbols->addNestedSymbol(String8(t->getName()), t->getPos());
2555 for (size_t ci=0; ci<N; ci++) {
2556 sp<ConfigList> c = t->getOrderedConfigs().itemAt(ci);
2557 if (c == NULL) {
2558 continue;
2559 }
2560 uint32_t rid = getResId(p, t, ci);
2561 if (rid == 0) {
2562 return UNKNOWN_ERROR;
2563 }
2564 if (Res_GETPACKAGE(rid) == (size_t)(p->getAssignedId()-1)) {
2565 typeSymbols->addSymbol(String8(c->getName()), rid, c->getPos());
2566
2567 String16 comment(c->getComment());
2568 typeSymbols->appendComment(String8(c->getName()), comment, c->getPos());
2569 //printf("Type symbol [%08x] %s comment: %s\n", rid,
2570 // String8(c->getName()).string(), String8(comment).string());
2571 comment = c->getTypeComment();
2572 typeSymbols->appendTypeComment(String8(c->getName()), comment);
2573 } else {
2574#if 0
2575 printf("**** NO MATCH: 0x%08x vs 0x%08x\n",
2576 Res_GETPACKAGE(rid), p->getAssignedId());
2577#endif
2578 }
2579 }
2580 }
2581 }
2582 return NO_ERROR;
2583}
2584
2585
2586void

Callers 1

buildResourcesFunction · 0.80

Calls 9

addNestedSymbolMethod · 0.80
getAssignedIdMethod · 0.80
addSymbolMethod · 0.80
sizeMethod · 0.65
getNameMethod · 0.65
getPosMethod · 0.45
getCommentMethod · 0.45
appendCommentMethod · 0.45
appendTypeCommentMethod · 0.45

Tested by

no test coverage detected