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
This commit is contained in:
@@ -5997,16 +5997,14 @@ void ResTable::getLocales(Vector<String8>* 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));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user