| 2121 | } |
| 2122 | |
| 2123 | static status_t writeTextSymbolClass( |
| 2124 | FILE* fp, const sp<AaptAssets>& assets, bool includePrivate, |
| 2125 | const sp<AaptSymbols>& symbols, const String8& className) |
| 2126 | { |
| 2127 | size_t i; |
| 2128 | status_t err = NO_ERROR; |
| 2129 | |
| 2130 | size_t N = symbols->getSymbols().size(); |
| 2131 | for (i=0; i<N; i++) { |
| 2132 | const AaptSymbolEntry& sym = symbols->getSymbols().valueAt(i); |
| 2133 | if (sym.typeCode != AaptSymbolEntry::TYPE_INT32) { |
| 2134 | continue; |
| 2135 | } |
| 2136 | |
| 2137 | if (!assets->isJavaSymbol(sym, includePrivate)) { |
| 2138 | continue; |
| 2139 | } |
| 2140 | |
| 2141 | String8 name8(sym.name); |
| 2142 | fprintf(fp, "int %s %s 0x%08x\n", |
| 2143 | className.string(), |
| 2144 | flattenSymbol(name8).string(), (int)sym.int32Val); |
| 2145 | } |
| 2146 | |
| 2147 | N = symbols->getNestedSymbols().size(); |
| 2148 | for (i=0; i<N; i++) { |
| 2149 | sp<AaptSymbols> nsymbols = symbols->getNestedSymbols().valueAt(i); |
| 2150 | String8 nclassName(symbols->getNestedSymbols().keyAt(i)); |
| 2151 | if (nclassName == "styleable") { |
| 2152 | err = writeTextLayoutClasses(fp, assets, nsymbols, includePrivate); |
| 2153 | } else { |
| 2154 | err = writeTextSymbolClass(fp, assets, includePrivate, nsymbols, nclassName); |
| 2155 | } |
| 2156 | if (err != NO_ERROR) { |
| 2157 | return err; |
| 2158 | } |
| 2159 | } |
| 2160 | |
| 2161 | return NO_ERROR; |
| 2162 | } |
| 2163 | |
| 2164 | status_t writeResourceSymbols(Bundle* bundle, const sp<AaptAssets>& assets, |
| 2165 | const String8& package, bool includePrivate) |
no test coverage detected