diff options
author | 2025-01-08 05:57:41 -0800 | |
---|---|---|
committer | 2025-01-08 05:57:41 -0800 | |
commit | eb759ec58d1617699afa76f42a0965b41bab0bb2 (patch) | |
tree | 99fff5e17f758bd8b195b3a604d5db05c4d2e95f /libs/androidfw | |
parent | 7c92db080e9a3039be3614622f223ede52dd3f17 (diff) |
Revert "[res] Don't create extra asset provider when not needed"
Revert submission 31021037
Reason for revert: Droidmonitor created revert due to b/388342212. Will be verifying through ABTD before submission.
Reverted changes: /q/submissionid:31021037
Change-Id: Ic1964e2db736cfa3db3835a52c00cc81acda0bde
Diffstat (limited to 'libs/androidfw')
-rw-r--r-- | libs/androidfw/AssetsProvider.cpp | 17 | ||||
-rw-r--r-- | libs/androidfw/include/androidfw/AssetsProvider.h | 2 |
2 files changed, 7 insertions, 12 deletions
diff --git a/libs/androidfw/AssetsProvider.cpp b/libs/androidfw/AssetsProvider.cpp index 11b12eb030a6..59c6aba7b8b0 100644 --- a/libs/androidfw/AssetsProvider.cpp +++ b/libs/androidfw/AssetsProvider.cpp @@ -24,8 +24,9 @@ #include <ziparchive/zip_archive.h> namespace android { - -static constexpr std::string_view kEmptyDebugString = "<empty>"; +namespace { +constexpr const char* kEmptyDebugString = "<empty>"; +} // namespace std::unique_ptr<Asset> AssetsProvider::Open(const std::string& path, Asset::AccessMode mode, bool* file_exists) const { @@ -355,14 +356,8 @@ MultiAssetsProvider::MultiAssetsProvider(std::unique_ptr<AssetsProvider>&& prima std::unique_ptr<AssetsProvider> MultiAssetsProvider::Create( std::unique_ptr<AssetsProvider>&& primary, std::unique_ptr<AssetsProvider>&& secondary) { - if (primary == nullptr && secondary == nullptr) { - return EmptyAssetsProvider::Create(); - } - if (!primary) { - return secondary; - } - if (!secondary) { - return primary; + if (primary == nullptr || secondary == nullptr) { + return nullptr; } return std::unique_ptr<MultiAssetsProvider>(new MultiAssetsProvider(std::move(primary), std::move(secondary))); @@ -430,7 +425,7 @@ const std::string& EmptyAssetsProvider::GetDebugName() const { if (path_.has_value()) { return *path_; } - constexpr static std::string kEmpty{kEmptyDebugString}; + const static std::string kEmpty = kEmptyDebugString; return kEmpty; } diff --git a/libs/androidfw/include/androidfw/AssetsProvider.h b/libs/androidfw/include/androidfw/AssetsProvider.h index e3b3ae41f7f4..46d7a57ab763 100644 --- a/libs/androidfw/include/androidfw/AssetsProvider.h +++ b/libs/androidfw/include/androidfw/AssetsProvider.h @@ -164,7 +164,7 @@ struct DirectoryAssetsProvider : public AssetsProvider { // `secondary` asset provider if the asset cannot be found in the `primary`. struct MultiAssetsProvider : public AssetsProvider { static std::unique_ptr<AssetsProvider> Create(std::unique_ptr<AssetsProvider>&& primary, - std::unique_ptr<AssetsProvider>&& secondary = {}); + std::unique_ptr<AssetsProvider>&& secondary); bool ForEachFile(const std::string& root_path, base::function_ref<void(StringPiece, FileType)> f) const override; |