summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIgor Viarheichyk <viarheichyk@google.com>2014-05-01 17:04:39 -0700
committerIgor Viarheichyk <viarheichyk@google.com>2014-05-05 18:13:41 -0700
commit47843df11fe88b30abcac324173b6c15f16cc797 (patch)
tree228316dd281263a087e6b60b071db711f5003004 /tools
parent83a538e40ed8bdcda64c4bb5a448c0357b8e5e73 (diff)
downloadframeworks_base-47843df11fe88b30abcac324173b6c15f16cc797.zip
frameworks_base-47843df11fe88b30abcac324173b6c15f16cc797.tar.gz
frameworks_base-47843df11fe88b30abcac324173b6c15f16cc797.tar.bz2
Skip resource files for locales en-XA and ar-XB
during packaging if pseudolocalization was done automatically. This prevents attemts to add same resource twice. Change-Id: I51e17f961ac44047bf466ce4aa0d4d17f4ded0d6
Diffstat (limited to 'tools')
-rw-r--r--tools/aapt/ResourceTable.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index a8ef0a0..cf271a9 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -865,6 +865,21 @@ status_t compileResourceFile(Bundle* bundle,
pseudoBidiParams.country[0] = 'X';
pseudoBidiParams.country[1] = 'B';
+ // We should skip resources for pseudolocales if they were
+ // already added automatically. This is a fix for a transition period when
+ // manually pseudolocalized resources may be expected.
+ // TODO: remove this check after next SDK version release.
+ if ((bundle->getPseudolocalize() & PSEUDO_ACCENTED &&
+ curParams.locale == pseudoParams.locale) ||
+ (bundle->getPseudolocalize() & PSEUDO_BIDI &&
+ curParams.locale == pseudoBidiParams.locale)) {
+ SourcePos(in->getPrintableSource(), 0).warning(
+ "Resource file %s is skipped as pseudolocalization"
+ " was done automatically.",
+ in->getPrintableSource().string());
+ return NO_ERROR;
+ }
+
while ((code=block.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) {
if (code == ResXMLTree::START_TAG) {
const String16* curTag = NULL;