From 9eb44c9727d83c9738819321b13d12a39cb10c55 Mon Sep 17 00:00:00 2001 From: Yurii Zubrytskyi Date: Mon, 14 Nov 2022 23:44:52 -0800 Subject: [res] Change callback from function to function_ref function_ref should be the default callback type if it's a function argument and won't get stored anywhere Bug: 237583012 Test: build + boot Change-Id: I1957665436f003f7a5e758b229640c9601c28faf --- libs/androidfw/AssetManager2.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libs/androidfw/AssetManager2.cpp') diff --git a/libs/androidfw/AssetManager2.cpp b/libs/androidfw/AssetManager2.cpp index 2864c6843633..1b327018f681 100644 --- a/libs/androidfw/AssetManager2.cpp +++ b/libs/androidfw/AssetManager2.cpp @@ -1417,6 +1417,18 @@ std::unique_ptr AssetManager2::NewTheme() { return theme; } +void AssetManager2::ForEachPackage(base::function_ref func, + package_property_t excluded_property_flags) const { + for (const PackageGroup& package_group : package_groups_) { + const auto loaded_package = package_group.packages_.front().loaded_package_; + if ((loaded_package->GetPropertyFlags() & excluded_property_flags) == 0U + && !func(loaded_package->GetPackageName(), + package_group.dynamic_ref_table->mAssignedPackageId)) { + return; + } + } +} + Theme::Theme(AssetManager2* asset_manager) : asset_manager_(asset_manager) { } -- cgit v1.2.3-59-g8ed1b