Loading libs/androidfw/AssetManager2.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -444,7 +444,7 @@ bool AssetManager2::ContainsAllocatedTable() const { return false; } void AssetManager2::SetConfigurations(std::span<const ResTable_config> configurations, void AssetManager2::SetConfigurations(std::vector<ResTable_config> configurations, bool force_refresh) { int diff = 0; if (force_refresh) { Loading @@ -459,10 +459,7 @@ void AssetManager2::SetConfigurations(std::span<const ResTable_config> configura } } configurations_.clear(); for (auto&& config : configurations) { configurations_.emplace_back(config); } configurations_ = std::move(configurations); if (diff) { RebuildFilterList(); InvalidateCaches(static_cast<uint32_t>(diff)); Loading libs/androidfw/include/androidfw/AssetManager2.h +3 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include "androidfw/AssetManager.h" #include "androidfw/ResourceTypes.h" #include "androidfw/Util.h" #include "ftl/small_vector.h" namespace android { Loading Loading @@ -158,10 +157,9 @@ class AssetManager2 { // Sets/resets the configuration for this AssetManager. This will cause all // caches that are related to the configuration change to be invalidated. void SetConfigurations(std::span<const ResTable_config> configurations, bool force_refresh = false); void SetConfigurations(std::vector<ResTable_config> configurations, bool force_refresh = false); std::span<const ResTable_config> GetConfigurations() const { inline const std::vector<ResTable_config>& GetConfigurations() const { return configurations_; } Loading Loading @@ -486,7 +484,7 @@ class AssetManager2 { // The current configurations set for this AssetManager. When this changes, cached resources // may need to be purged. ftl::SmallVector<ResTable_config, 1> configurations_; std::vector<ResTable_config> configurations_; int32_t display_id_; int32_t device_id_; Loading libs/androidfw/tests/AssetManager2_test.cpp +10 −10 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ TEST_F(AssetManager2Test, FindsResourceFromSingleApkAssets) { desired_config.language[1] = 'e'; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -144,7 +144,7 @@ TEST_F(AssetManager2Test, FindsResourceFromMultipleApkAssets) { desired_config.language[1] = 'e'; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_, basic_de_fr_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading Loading @@ -473,10 +473,10 @@ TEST_F(AssetManager2Test, ResolveDeepIdReference) { TEST_F(AssetManager2Test, DensityOverride) { AssetManager2 assetmanager; assetmanager.SetApkAssets({basic_assets_, basic_xhdpi_assets_, basic_xxhdpi_assets_}); assetmanager.SetConfigurations({{{ assetmanager.SetConfigurations({{ .density = ResTable_config::DENSITY_XHIGH, .sdkVersion = 21, }}}); }}); auto value = assetmanager.GetResource(basic::R::string::density, false /*may_be_bag*/); ASSERT_TRUE(value.has_value()); Loading Loading @@ -728,7 +728,7 @@ TEST_F(AssetManager2Test, GetLastPathWithoutEnablingReturnsEmpty) { ResTable_config desired_config; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); assetmanager.SetResourceResolutionLoggingEnabled(false); Loading @@ -743,7 +743,7 @@ TEST_F(AssetManager2Test, GetLastPathWithoutResolutionReturnsEmpty) { ResTable_config desired_config; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto result = assetmanager.GetLastResourceResolution(); Loading @@ -758,7 +758,7 @@ TEST_F(AssetManager2Test, GetLastPathWithSingleApkAssets) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -781,7 +781,7 @@ TEST_F(AssetManager2Test, GetLastPathWithMultipleApkAssets) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_, basic_de_fr_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -803,7 +803,7 @@ TEST_F(AssetManager2Test, GetLastPathAfterDisablingReturnsEmpty) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -824,7 +824,7 @@ TEST_F(AssetManager2Test, GetOverlayablesToString) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({overlayable_assets_}); const auto map = assetmanager.GetOverlayableMapForPackage(0x7f); Loading libs/androidfw/tests/BenchmarkHelpers.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ void GetResourceBenchmark(const std::vector<std::string>& paths, const ResTable_ AssetManager2 assetmanager; assetmanager.SetApkAssets(apk_assets); if (config != nullptr) { assetmanager.SetConfigurations({{{*config}}}); assetmanager.SetConfigurations({*config}); } while (state.KeepRunning()) { Loading libs/androidfw/tests/Theme_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ TEST_F(ThemeTest, ThemeRebase) { ResTable_config night{}; night.uiMode = ResTable_config::UI_MODE_NIGHT_YES; night.version = 8u; am_night.SetConfigurations({{night}}); am_night.SetConfigurations({night}); auto theme = am.NewTheme(); { Loading Loading
libs/androidfw/AssetManager2.cpp +3 −6 Original line number Diff line number Diff line Loading @@ -444,7 +444,7 @@ bool AssetManager2::ContainsAllocatedTable() const { return false; } void AssetManager2::SetConfigurations(std::span<const ResTable_config> configurations, void AssetManager2::SetConfigurations(std::vector<ResTable_config> configurations, bool force_refresh) { int diff = 0; if (force_refresh) { Loading @@ -459,10 +459,7 @@ void AssetManager2::SetConfigurations(std::span<const ResTable_config> configura } } configurations_.clear(); for (auto&& config : configurations) { configurations_.emplace_back(config); } configurations_ = std::move(configurations); if (diff) { RebuildFilterList(); InvalidateCaches(static_cast<uint32_t>(diff)); Loading
libs/androidfw/include/androidfw/AssetManager2.h +3 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ #include "androidfw/AssetManager.h" #include "androidfw/ResourceTypes.h" #include "androidfw/Util.h" #include "ftl/small_vector.h" namespace android { Loading Loading @@ -158,10 +157,9 @@ class AssetManager2 { // Sets/resets the configuration for this AssetManager. This will cause all // caches that are related to the configuration change to be invalidated. void SetConfigurations(std::span<const ResTable_config> configurations, bool force_refresh = false); void SetConfigurations(std::vector<ResTable_config> configurations, bool force_refresh = false); std::span<const ResTable_config> GetConfigurations() const { inline const std::vector<ResTable_config>& GetConfigurations() const { return configurations_; } Loading Loading @@ -486,7 +484,7 @@ class AssetManager2 { // The current configurations set for this AssetManager. When this changes, cached resources // may need to be purged. ftl::SmallVector<ResTable_config, 1> configurations_; std::vector<ResTable_config> configurations_; int32_t display_id_; int32_t device_id_; Loading
libs/androidfw/tests/AssetManager2_test.cpp +10 −10 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ TEST_F(AssetManager2Test, FindsResourceFromSingleApkAssets) { desired_config.language[1] = 'e'; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -144,7 +144,7 @@ TEST_F(AssetManager2Test, FindsResourceFromMultipleApkAssets) { desired_config.language[1] = 'e'; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_, basic_de_fr_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading Loading @@ -473,10 +473,10 @@ TEST_F(AssetManager2Test, ResolveDeepIdReference) { TEST_F(AssetManager2Test, DensityOverride) { AssetManager2 assetmanager; assetmanager.SetApkAssets({basic_assets_, basic_xhdpi_assets_, basic_xxhdpi_assets_}); assetmanager.SetConfigurations({{{ assetmanager.SetConfigurations({{ .density = ResTable_config::DENSITY_XHIGH, .sdkVersion = 21, }}}); }}); auto value = assetmanager.GetResource(basic::R::string::density, false /*may_be_bag*/); ASSERT_TRUE(value.has_value()); Loading Loading @@ -728,7 +728,7 @@ TEST_F(AssetManager2Test, GetLastPathWithoutEnablingReturnsEmpty) { ResTable_config desired_config; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); assetmanager.SetResourceResolutionLoggingEnabled(false); Loading @@ -743,7 +743,7 @@ TEST_F(AssetManager2Test, GetLastPathWithoutResolutionReturnsEmpty) { ResTable_config desired_config; AssetManager2 assetmanager; assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto result = assetmanager.GetLastResourceResolution(); Loading @@ -758,7 +758,7 @@ TEST_F(AssetManager2Test, GetLastPathWithSingleApkAssets) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -781,7 +781,7 @@ TEST_F(AssetManager2Test, GetLastPathWithMultipleApkAssets) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_, basic_de_fr_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -803,7 +803,7 @@ TEST_F(AssetManager2Test, GetLastPathAfterDisablingReturnsEmpty) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({basic_assets_}); auto value = assetmanager.GetResource(basic::R::string::test1); Loading @@ -824,7 +824,7 @@ TEST_F(AssetManager2Test, GetOverlayablesToString) { AssetManager2 assetmanager; assetmanager.SetResourceResolutionLoggingEnabled(true); assetmanager.SetConfigurations({{desired_config}}); assetmanager.SetConfigurations({desired_config}); assetmanager.SetApkAssets({overlayable_assets_}); const auto map = assetmanager.GetOverlayableMapForPackage(0x7f); Loading
libs/androidfw/tests/BenchmarkHelpers.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ void GetResourceBenchmark(const std::vector<std::string>& paths, const ResTable_ AssetManager2 assetmanager; assetmanager.SetApkAssets(apk_assets); if (config != nullptr) { assetmanager.SetConfigurations({{{*config}}}); assetmanager.SetConfigurations({*config}); } while (state.KeepRunning()) { Loading
libs/androidfw/tests/Theme_test.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ TEST_F(ThemeTest, ThemeRebase) { ResTable_config night{}; night.uiMode = ResTable_config::UI_MODE_NIGHT_YES; night.version = 8u; am_night.SetConfigurations({{night}}); am_night.SetConfigurations({night}); auto theme = am.NewTheme(); { Loading