diff options
| author | 2018-10-09 16:28:09 -0700 | |
|---|---|---|
| committer | 2018-10-09 16:28:09 -0700 | |
| commit | c5e694e9549da3911392abd01bae125444f56294 (patch) | |
| tree | bf9cea845b1ca6f60aae5ea2e5af48ba3f3c9363 /libs/androidfw/AssetManager2.cpp | |
| parent | 4d12f4c42b278cc087533aab0638446b3cb0cee6 (diff) | |
| parent | 7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd (diff) | |
Merge changes from topic "idmap2-prerequisites" am: 62a5d4249f
am: 7672daf8e5
Change-Id: I2d35a2e73324961bc8c3d82ed1ce7d785335cee7
Diffstat (limited to 'libs/androidfw/AssetManager2.cpp')
| -rw-r--r-- | libs/androidfw/AssetManager2.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/androidfw/AssetManager2.cpp b/libs/androidfw/AssetManager2.cpp index 9c1629bc36f5..04cc5bb30ade 100644 --- a/libs/androidfw/AssetManager2.cpp +++ b/libs/androidfw/AssetManager2.cpp @@ -67,10 +67,10 @@ AssetManager2::AssetManager2() { } bool AssetManager2::SetApkAssets(const std::vector<const ApkAssets*>& apk_assets, - bool invalidate_caches) { + bool invalidate_caches, bool filter_incompatible_configs) { apk_assets_ = apk_assets; BuildDynamicRefTable(); - RebuildFilterList(); + RebuildFilterList(filter_incompatible_configs); if (invalidate_caches) { InvalidateCaches(static_cast<uint32_t>(-1)); } @@ -825,7 +825,7 @@ uint32_t AssetManager2::GetResourceId(const std::string& resource_name, return 0u; } -void AssetManager2::RebuildFilterList() { +void AssetManager2::RebuildFilterList(bool filter_incompatible_configs) { for (PackageGroup& group : package_groups_) { for (ConfiguredPackage& impl : group.packages_) { // Destroy it. @@ -841,7 +841,7 @@ void AssetManager2::RebuildFilterList() { for (auto iter = spec->types; iter != iter_end; ++iter) { ResTable_config this_config; this_config.copyFromDtoH((*iter)->config); - if (this_config.match(configuration_)) { + if (!filter_incompatible_configs || this_config.match(configuration_)) { group.configurations.push_back(this_config); group.types.push_back(*iter); } |