X-Git-Url: https://git.saurik.com/android/aapt.git/blobdiff_plain/571313a5fa7556669304c92c9da0986e6cb8d1d3..b935e64360db2f6f0159b879a810ad4428c87ce9:/ResourceTable.cpp?ds=inline diff --git a/ResourceTable.cpp b/ResourceTable.cpp index 1f9d152..a2f085a 100644 --- a/ResourceTable.cpp +++ b/ResourceTable.cpp @@ -27,6 +27,20 @@ status_t compileXmlFile(const sp& assets, return compileXmlFile(assets, root, target, table, options); } +status_t compileXmlFile(const sp& assets, + const sp& target, + const sp& outTarget, + ResourceTable* table, + int options) +{ + sp root = XMLNode::parse(target); + if (root == NULL) { + return UNKNOWN_ERROR; + } + + return compileXmlFile(assets, root, outTarget, table, options); +} + status_t compileXmlFile(const sp& assets, const sp& root, const sp& target, @@ -2513,9 +2527,11 @@ status_t ResourceTable::flatten(Bundle* bundle, const sp& dest) const size_t N = mOrderedPackages.size(); size_t pi; + bool useUTF8 = !bundle->getWantUTF16() && bundle->isMinSdkAtLeast(SDK_FROYO); + // Iterate through all data, collecting all values (strings, // references, etc). - StringPool valueStrings = StringPool(false, bundle->getUTF8()); + StringPool valueStrings = StringPool(false, useUTF8); for (pi=0; pi p = mOrderedPackages.itemAt(pi); if (p->getTypes().size() == 0) { @@ -2523,8 +2539,8 @@ status_t ResourceTable::flatten(Bundle* bundle, const sp& dest) continue; } - StringPool typeStrings = StringPool(false, bundle->getUTF8()); - StringPool keyStrings = StringPool(false, bundle->getUTF8()); + StringPool typeStrings = StringPool(false, useUTF8); + StringPool keyStrings = StringPool(false, useUTF8); const size_t N = p->getOrderedTypes().size(); for (size_t ti=0; ti