summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2013-04-26 12:06:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-04-26 12:06:15 -0700
commit5ae02e92e4ea2621ae6be6076e304a972793e2f3 (patch)
tree2efdc361f1eb6f08aaca456819c6eadad7e1ca0f /tools
parent65e46420ea0c24f53e36b08f4e927f3d0db3f895 (diff)
parenteb6403e95d601b62be7b4610599e72fd329f2666 (diff)
downloadframeworks_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.cpp114
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();