diff options
author | Jeff Brown <jeffbrown@google.com> | 2013-04-26 12:06:15 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-26 12:06:15 -0700 |
commit | 5ae02e92e4ea2621ae6be6076e304a972793e2f3 (patch) | |
tree | 2efdc361f1eb6f08aaca456819c6eadad7e1ca0f /tools | |
parent | 65e46420ea0c24f53e36b08f4e927f3d0db3f895 (diff) | |
parent | eb6403e95d601b62be7b4610599e72fd329f2666 (diff) | |
download | frameworks_base-5ae02e92e4ea2621ae6be6076e304a972793e2f3.zip frameworks_base-5ae02e92e4ea2621ae6be6076e304a972793e2f3.tar.gz frameworks_base-5ae02e92e4ea2621ae6be6076e304a972793e2f3.tar.bz2 |
am eb6403e9: resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp
* commit 'eb6403e95d601b62be7b4610599e72fd329f2666':
Generate SDK docs for v7 support library packages.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/aapt/Resource.cpp | 114 |
1 files changed, 55 insertions, 59 deletions
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp index fe5c810..cd6870d 100644 --- a/tools/aapt/Resource.cpp +++ b/tools/aapt/Resource.cpp @@ -1619,11 +1619,37 @@ static const char whitespace[] = return whitespace + sizeof(whitespace) - 1 - indent*4; } -static status_t fixupSymbol(String16* inoutSymbol) -{ - inoutSymbol->replaceAll('.', '_'); - inoutSymbol->replaceAll(':', '_'); - return NO_ERROR; +static String8 flattenSymbol(const String8& symbol) { + String8 result(symbol); + ssize_t first; + if ((first = symbol.find(":", 0)) >= 0 + || (first = symbol.find(".", 0)) >= 0) { + size_t size = symbol.size(); + char* buf = result.lockBuffer(size); + for (size_t i = first; i < size; i++) { + if (buf[i] == ':' || buf[i] == '.') { + buf[i] = '_'; + } + } + result.unlockBuffer(size); + } + return result; +} + +static String8 getSymbolPackage(const String8& symbol, const sp<AaptAssets>& assets, bool pub) { + ssize_t colon = symbol.find(":", 0); + if (colon >= 0) { + return String8(symbol.string(), colon); + } + return pub ? assets->getPackage() : assets->getSymbolsPrivatePackage(); +} + +static String8 getSymbolName(const String8& symbol) { + ssize_t colon = symbol.find(":", 0); + if (colon >= 0) { + return String8(symbol.string() + colon + 1); + } + return symbol; } static String16 getAttributeComment(const sp<AaptAssets>& assets, @@ -1667,12 +1693,8 @@ static status_t writeLayoutClasses( size_t N = symbols->getNestedSymbols().size(); for (i=0; i<N; i++) { sp<AaptSymbols> nsymbols = symbols->getNestedSymbols().valueAt(i); - String16 nclassName16(symbols->getNestedSymbols().keyAt(i)); - String8 realClassName(nclassName16); - if (fixupSymbol(&nclassName16) != NO_ERROR) { - hasErrors = true; - } - String8 nclassName(nclassName16); + String8 realClassName(symbols->getNestedSymbols().keyAt(i)); + String8 nclassName(flattenSymbol(realClassName)); SortedVector<uint32_t> idents; Vector<uint32_t> origOrder; @@ -1762,13 +1784,11 @@ static status_t writeLayoutClasses( } comment = String16(comment.string(), p-comment.string()); } - String16 name(name8); - fixupSymbol(&name); fprintf(fp, "%s <tr><td><code>{@link #%s_%s %s:%s}</code></td><td>%s</td></tr>\n", indentStr, nclassName.string(), - String8(name).string(), - assets->getPackage().string(), - String8(name).string(), + flattenSymbol(name8).string(), + getSymbolPackage(name8, assets, true).string(), + getSymbolName(name8).string(), String8(comment).string()); } } @@ -1782,11 +1802,9 @@ static status_t writeLayoutClasses( if (!publicFlags.itemAt(a) && !includePrivate) { continue; } - String16 name(sym.name); - fixupSymbol(&name); fprintf(fp, "%s @see #%s_%s\n", indentStr, nclassName.string(), - String8(name).string()); + flattenSymbol(sym.name).string()); } } fprintf(fp, "%s */\n", getIndentSpace(indent)); @@ -1829,11 +1847,7 @@ static status_t writeLayoutClasses( } else { getAttributeComment(assets, name8, &typeComment); } - String16 name(name8); - if (fixupSymbol(&name) != NO_ERROR) { - hasErrors = true; - } - + uint32_t typeSpecFlags = 0; String16 name16(sym.name); assets->getIncludedResources().identifierForName( @@ -1859,9 +1873,8 @@ static status_t writeLayoutClasses( "%s <p>This symbol is the offset where the {@link %s.R.attr#%s}\n" "%s attribute's value can be found in the {@link #%s} array.\n", indentStr, - pub ? assets->getPackage().string() - : assets->getSymbolsPrivatePackage().string(), - String8(name).string(), + getSymbolPackage(name8, assets, pub).string(), + getSymbolName(name8).string(), indentStr, nclassName.string()); } if (typeComment.size() > 0) { @@ -1874,18 +1887,19 @@ static status_t writeLayoutClasses( if (comment.size() > 0) { if (pub) { fprintf(fp, - "%s <p>This corresponds to the global attribute" + "%s <p>This corresponds to the global attribute\n" "%s resource symbol {@link %s.R.attr#%s}.\n", indentStr, indentStr, - assets->getPackage().string(), - String8(name).string()); + getSymbolPackage(name8, assets, true).string(), + getSymbolName(name8).string()); } else { fprintf(fp, "%s <p>This is a private symbol.\n", indentStr); } } fprintf(fp, "%s @attr name %s:%s\n", indentStr, - "android", String8(name).string()); + getSymbolPackage(name8, assets, pub).string(), + getSymbolName(name8).string()); fprintf(fp, "%s*/\n", indentStr); if (deprecated) { fprintf(fp, "%s@Deprecated\n", indentStr); @@ -1893,7 +1907,7 @@ static status_t writeLayoutClasses( fprintf(fp, "%spublic static final int %s_%s = %d;\n", indentStr, nclassName.string(), - String8(name).string(), (int)pos); + flattenSymbol(name8).string(), (int)pos); } } } @@ -1916,12 +1930,8 @@ static status_t writeTextLayoutClasses( size_t N = symbols->getNestedSymbols().size(); for (i=0; i<N; i++) { sp<AaptSymbols> nsymbols = symbols->getNestedSymbols().valueAt(i); - String16 nclassName16(symbols->getNestedSymbols().keyAt(i)); - String8 realClassName(nclassName16); - if (fixupSymbol(&nclassName16) != NO_ERROR) { - hasErrors = true; - } - String8 nclassName(nclassName16); + String8 realClassName(symbols->getNestedSymbols().keyAt(i)); + String8 nclassName(flattenSymbol(realClassName)); SortedVector<uint32_t> idents; Vector<uint32_t> origOrder; @@ -1981,10 +1991,6 @@ static status_t writeTextLayoutClasses( } else { getAttributeComment(assets, name8, &typeComment); } - String16 name(name8); - if (fixupSymbol(&name) != NO_ERROR) { - hasErrors = true; - } uint32_t typeSpecFlags = 0; String16 name16(sym.name); @@ -1999,7 +2005,7 @@ static status_t writeTextLayoutClasses( fprintf(fp, "int styleable %s_%s %d\n", nclassName.string(), - String8(name).string(), (int)pos); + flattenSymbol(name8).string(), (int)pos); } } } @@ -2033,10 +2039,7 @@ static status_t writeSymbolClass( if (!assets->isJavaSymbol(sym, includePrivate)) { continue; } - String16 name(sym.name); - if (fixupSymbol(&name) != NO_ERROR) { - return UNKNOWN_ERROR; - } + String8 name8(sym.name); String16 comment(sym.comment); bool haveComment = false; bool deprecated = false; @@ -2077,7 +2080,7 @@ static status_t writeSymbolClass( } fprintf(fp, id_format, getIndentSpace(indent), - String8(name).string(), (int)sym.int32Val); + flattenSymbol(name8).string(), (int)sym.int32Val); } for (i=0; i<N; i++) { @@ -2088,10 +2091,7 @@ static status_t writeSymbolClass( if (!assets->isJavaSymbol(sym, includePrivate)) { continue; } - String16 name(sym.name); - if (fixupSymbol(&name) != NO_ERROR) { - return UNKNOWN_ERROR; - } + String8 name8(sym.name); String16 comment(sym.comment); bool deprecated = false; if (comment.size() > 0) { @@ -2114,7 +2114,7 @@ static status_t writeSymbolClass( } fprintf(fp, "%spublic static final String %s=\"%s\";\n", getIndentSpace(indent), - String8(name).string(), sym.stringVal.string()); + flattenSymbol(name8).string(), sym.stringVal.string()); } sp<AaptSymbols> styleableSymbols; @@ -2163,14 +2163,10 @@ static status_t writeTextSymbolClass( continue; } - String16 name(sym.name); - if (fixupSymbol(&name) != NO_ERROR) { - return UNKNOWN_ERROR; - } - + String8 name8(sym.name); fprintf(fp, "int %s %s 0x%08x\n", className.string(), - String8(name).string(), (int)sym.int32Val); + flattenSymbol(name8).string(), (int)sym.int32Val); } N = symbols->getNestedSymbols().size(); |