From fa2fc0b263d2eaa3be5eaa5191ffe293abc81489 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Thu, 11 May 2017 12:15:26 -0700 Subject: AAPT: Include empty locale in getLocales AAPT dump badging relies on the empty locale being present when there are no locales. Bug: 38192121 Test: manual Change-Id: I2f5c431d4fd07c525a2318e7b93be0e93c32448f --- libs/androidfw/ResourceTypes.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'libs/androidfw') diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index f661f29bb7f9..c3ae7a419c75 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -5997,16 +5997,14 @@ void ResTable::getLocales(Vector* locales, bool includeSystemLocales, char locale[RESTABLE_MAX_LOCALE_LEN]; forEachConfiguration(false, false, includeSystemLocales, [&](const ResTable_config& cfg) { - if (cfg.locale != 0) { - cfg.getBcp47Locale(locale, mergeEquivalentLangs /* canonicalize if merging */); + cfg.getBcp47Locale(locale, mergeEquivalentLangs /* canonicalize if merging */); - const auto beginIter = locales->begin(); - const auto endIter = locales->end(); + const auto beginIter = locales->begin(); + const auto endIter = locales->end(); - auto iter = std::lower_bound(beginIter, endIter, locale, compareString8AndCString); - if (iter == endIter || strcmp(iter->string(), locale) != 0) { - locales->insertAt(String8(locale), std::distance(beginIter, iter)); - } + auto iter = std::lower_bound(beginIter, endIter, locale, compareString8AndCString); + if (iter == endIter || strcmp(iter->string(), locale) != 0) { + locales->insertAt(String8(locale), std::distance(beginIter, iter)); } }); } -- cgit v1.2.3-59-g8ed1b