diff options
author | Adam Lesinski <adamlesinski@google.com> | 2014-05-12 18:12:34 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-05-12 18:12:35 +0000 |
commit | f0009776203b4e5b705f575990d3fa466a10a1b3 (patch) | |
tree | adce2f25011a4201e57d85b8a82faa3a483247a4 /libs | |
parent | 1cb088c1281deec042bdf00e0f2d227f7e5cd718 (diff) | |
parent | fab50875b98e8274ac8ee44b38ba42521bbbf1f9 (diff) | |
download | frameworks_base-f0009776203b4e5b705f575990d3fa466a10a1b3.zip frameworks_base-f0009776203b4e5b705f575990d3fa466a10a1b3.tar.gz frameworks_base-f0009776203b4e5b705f575990d3fa466a10a1b3.tar.bz2 |
Merge "Add support for building split APKs"
Diffstat (limited to 'libs')
-rw-r--r-- | libs/androidfw/ResourceTypes.cpp | 91 |
1 files changed, 49 insertions, 42 deletions
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index 098753b..6aad5fb 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -2452,15 +2452,19 @@ String8 ResTable_config::toString() const { if (mcc != 0) { if (res.size() > 0) res.append("-"); - res.appendFormat("%dmcc", dtohs(mcc)); + res.appendFormat("mcc%d", dtohs(mcc)); } if (mnc != 0) { if (res.size() > 0) res.append("-"); - res.appendFormat("%dmnc", dtohs(mnc)); + res.appendFormat("mnc%d", dtohs(mnc)); } + char localeStr[RESTABLE_MAX_LOCALE_LEN]; getBcp47Locale(localeStr); - res.append(localeStr); + if (strlen(localeStr) > 0) { + if (res.size() > 0) res.append("-"); + res.append(localeStr); + } if ((screenLayout&MASK_LAYOUTDIR) != 0) { if (res.size() > 0) res.append("-"); @@ -2627,6 +2631,20 @@ String8 ResTable_config::toString() const { break; } } + if ((inputFlags&MASK_KEYSHIDDEN) != 0) { + if (res.size() > 0) res.append("-"); + switch (inputFlags&MASK_KEYSHIDDEN) { + case ResTable_config::KEYSHIDDEN_NO: + res.append("keysexposed"); + break; + case ResTable_config::KEYSHIDDEN_YES: + res.append("keyshidden"); + break; + case ResTable_config::KEYSHIDDEN_SOFT: + res.append("keyssoft"); + break; + } + } if (keyboard != KEYBOARD_ANY) { if (res.size() > 0) res.append("-"); switch (keyboard) { @@ -2644,17 +2662,18 @@ String8 ResTable_config::toString() const { break; } } - if ((inputFlags&MASK_KEYSHIDDEN) != 0) { + if ((inputFlags&MASK_NAVHIDDEN) != 0) { if (res.size() > 0) res.append("-"); - switch (inputFlags&MASK_KEYSHIDDEN) { - case ResTable_config::KEYSHIDDEN_NO: - res.append("keysexposed"); + switch (inputFlags&MASK_NAVHIDDEN) { + case ResTable_config::NAVHIDDEN_NO: + res.append("navexposed"); break; - case ResTable_config::KEYSHIDDEN_YES: - res.append("keyshidden"); + case ResTable_config::NAVHIDDEN_YES: + res.append("navhidden"); break; - case ResTable_config::KEYSHIDDEN_SOFT: - res.append("keyssoft"); + default: + res.appendFormat("inputFlagsNavHidden=%d", + dtohs(inputFlags&MASK_NAVHIDDEN)); break; } } @@ -2678,21 +2697,6 @@ String8 ResTable_config::toString() const { break; } } - if ((inputFlags&MASK_NAVHIDDEN) != 0) { - if (res.size() > 0) res.append("-"); - switch (inputFlags&MASK_NAVHIDDEN) { - case ResTable_config::NAVHIDDEN_NO: - res.append("navsexposed"); - break; - case ResTable_config::NAVHIDDEN_YES: - res.append("navhidden"); - break; - default: - res.appendFormat("inputFlagsNavHidden=%d", - dtohs(inputFlags&MASK_NAVHIDDEN)); - break; - } - } if (screenSize != 0) { if (res.size() > 0) res.append("-"); res.appendFormat("%dx%d", dtohs(screenWidth), dtohs(screenHeight)); @@ -5503,7 +5507,25 @@ status_t ResTable::parsePackage(const ResTable_package* const pkg, if (package == NULL) { return (mError=NO_MEMORY); } - + + if (idmap_id == 0) { + err = package->typeStrings.setTo(base+dtohl(pkg->typeStrings), + header->dataEnd-(base+dtohl(pkg->typeStrings))); + if (err != NO_ERROR) { + delete group; + delete package; + return (mError=err); + } + + err = package->keyStrings.setTo(base+dtohl(pkg->keyStrings), + header->dataEnd-(base+dtohl(pkg->keyStrings))); + if (err != NO_ERROR) { + delete group; + delete package; + return (mError=err); + } + } + if (id == 0) { // This is a library so assign an ID id = mNextPackageId++; @@ -5521,21 +5543,6 @@ status_t ResTable::parsePackage(const ResTable_package* const pkg, return (mError=NO_MEMORY); } - err = package->typeStrings.setTo(base+dtohl(pkg->typeStrings), - header->dataEnd-(base+dtohl(pkg->typeStrings))); - if (err != NO_ERROR) { - delete group; - delete package; - return (mError=err); - } - err = package->keyStrings.setTo(base+dtohl(pkg->keyStrings), - header->dataEnd-(base+dtohl(pkg->keyStrings))); - if (err != NO_ERROR) { - delete group; - delete package; - return (mError=err); - } - //printf("Adding new package id %d at index %d\n", id, idx); err = mPackageGroups.add(group); if (err < NO_ERROR) { |