Loading tools/aapt/ResourceTable.cpp +21 −6 Original line number Original line Diff line number Diff line Loading @@ -4860,24 +4860,39 @@ void ResourceTable::getDensityVaryingResources( const Vector<sp<Type> >& types = mOrderedPackages[p]->getOrderedTypes(); const Vector<sp<Type> >& types = mOrderedPackages[p]->getOrderedTypes(); const size_t typeCount = types.size(); const size_t typeCount = types.size(); for (size_t t = 0; t < typeCount; t++) { for (size_t t = 0; t < typeCount; t++) { const Vector<sp<ConfigList> >& configs = types[t]->getOrderedConfigs(); const sp<Type>& type = types[t]; if (type == NULL) { continue; } const Vector<sp<ConfigList> >& configs = type->getOrderedConfigs(); const size_t configCount = configs.size(); const size_t configCount = configs.size(); for (size_t c = 0; c < configCount; c++) { for (size_t c = 0; c < configCount; c++) { const sp<ConfigList>& configList = configs[c]; if (configList == NULL) { continue; } const DefaultKeyedVector<ConfigDescription, sp<Entry> >& configEntries const DefaultKeyedVector<ConfigDescription, sp<Entry> >& configEntries = configs[c]->getEntries(); = configList->getEntries(); const size_t configEntryCount = configEntries.size(); const size_t configEntryCount = configEntries.size(); for (size_t ce = 0; ce < configEntryCount; ce++) { for (size_t ce = 0; ce < configEntryCount; ce++) { const sp<Entry>& entry = configEntries.valueAt(ce); if (entry == NULL) { continue; } const ConfigDescription& config = configEntries.keyAt(ce); const ConfigDescription& config = configEntries.keyAt(ce); if (AaptConfig::isDensityOnly(config)) { if (AaptConfig::isDensityOnly(config)) { // This configuration only varies with regards to density. // This configuration only varies with regards to density. const Symbol symbol( const Symbol symbol( mOrderedPackages[p]->getName(), mOrderedPackages[p]->getName(), types[t]->getName(), type->getName(), configs[c]->getName(), configList->getName(), getResId(mOrderedPackages[p], types[t], getResId(mOrderedPackages[p], types[t], configs[c]->getEntryIndex())); configList->getEntryIndex())); const sp<Entry>& entry = configEntries.valueAt(ce); AaptUtil::appendValue(resources, symbol, AaptUtil::appendValue(resources, symbol, SymbolDefinition(symbol, config, entry->getPos())); SymbolDefinition(symbol, config, entry->getPos())); } } Loading Loading
tools/aapt/ResourceTable.cpp +21 −6 Original line number Original line Diff line number Diff line Loading @@ -4860,24 +4860,39 @@ void ResourceTable::getDensityVaryingResources( const Vector<sp<Type> >& types = mOrderedPackages[p]->getOrderedTypes(); const Vector<sp<Type> >& types = mOrderedPackages[p]->getOrderedTypes(); const size_t typeCount = types.size(); const size_t typeCount = types.size(); for (size_t t = 0; t < typeCount; t++) { for (size_t t = 0; t < typeCount; t++) { const Vector<sp<ConfigList> >& configs = types[t]->getOrderedConfigs(); const sp<Type>& type = types[t]; if (type == NULL) { continue; } const Vector<sp<ConfigList> >& configs = type->getOrderedConfigs(); const size_t configCount = configs.size(); const size_t configCount = configs.size(); for (size_t c = 0; c < configCount; c++) { for (size_t c = 0; c < configCount; c++) { const sp<ConfigList>& configList = configs[c]; if (configList == NULL) { continue; } const DefaultKeyedVector<ConfigDescription, sp<Entry> >& configEntries const DefaultKeyedVector<ConfigDescription, sp<Entry> >& configEntries = configs[c]->getEntries(); = configList->getEntries(); const size_t configEntryCount = configEntries.size(); const size_t configEntryCount = configEntries.size(); for (size_t ce = 0; ce < configEntryCount; ce++) { for (size_t ce = 0; ce < configEntryCount; ce++) { const sp<Entry>& entry = configEntries.valueAt(ce); if (entry == NULL) { continue; } const ConfigDescription& config = configEntries.keyAt(ce); const ConfigDescription& config = configEntries.keyAt(ce); if (AaptConfig::isDensityOnly(config)) { if (AaptConfig::isDensityOnly(config)) { // This configuration only varies with regards to density. // This configuration only varies with regards to density. const Symbol symbol( const Symbol symbol( mOrderedPackages[p]->getName(), mOrderedPackages[p]->getName(), types[t]->getName(), type->getName(), configs[c]->getName(), configList->getName(), getResId(mOrderedPackages[p], types[t], getResId(mOrderedPackages[p], types[t], configs[c]->getEntryIndex())); configList->getEntryIndex())); const sp<Entry>& entry = configEntries.valueAt(ce); AaptUtil::appendValue(resources, symbol, AaptUtil::appendValue(resources, symbol, SymbolDefinition(symbol, config, entry->getPos())); SymbolDefinition(symbol, config, entry->getPos())); } } Loading