From e5c50e78975e777f37aab6e6279d337a0fd111ee Mon Sep 17 00:00:00 2001 From: Yurii Zubrytskyi Date: Wed, 12 Feb 2025 19:47:09 -0800 Subject: [res] Small cleanup in aapt2 output + optimization Don't print the header line when there are no flag-disabled items follow. + move the heavy string allocation to the tightest scope it is used in Test: manual Flag: EXEMPT bugfix Change-Id: I74902f5fb14b64f2ce3624e72d7774042441213b --- libs/androidfw/AssetManager2.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libs/androidfw/AssetManager2.cpp') diff --git a/libs/androidfw/AssetManager2.cpp b/libs/androidfw/AssetManager2.cpp index 0fa31c7a832e..f5e10d94452f 100644 --- a/libs/androidfw/AssetManager2.cpp +++ b/libs/androidfw/AssetManager2.cpp @@ -1467,8 +1467,6 @@ base::expected AssetManager2::GetResourceId( } const StringPiece16 kAttr16 = u"attr"; - const static std::u16string kAttrPrivate16 = u"^attr-private"; - for (const PackageGroup& package_group : package_groups_) { for (const ConfiguredPackage& package_impl : package_group.packages_) { const LoadedPackage* package = package_impl.loaded_package_; @@ -1480,12 +1478,13 @@ base::expected AssetManager2::GetResourceId( base::expected resid = package->FindEntryByName(type16, entry16); if (UNLIKELY(IsIOError(resid))) { return base::unexpected(resid.error()); - } + } if (!resid.has_value() && kAttr16 == type16) { // Private attributes in libraries (such as the framework) are sometimes encoded // under the type '^attr-private' in order to leave the ID space of public 'attr' // free for future additions. Check '^attr-private' for the same name. + const static std::u16string kAttrPrivate16 = u"^attr-private"; resid = package->FindEntryByName(kAttrPrivate16, entry16); } -- cgit v1.2.3-59-g8ed1b