diff options
| author | 2025-02-12 22:07:05 -0800 | |
|---|---|---|
| committer | 2025-02-12 22:07:05 -0800 | |
| commit | 0bbd4afd0fbc53fd1c511d9adcbeb361b1c575a1 (patch) | |
| tree | 3f25dec25ce5d50394fcef2ab875fe301bc69e9b /libs/androidfw/AssetsProvider.cpp | |
| parent | 7fd7758d03967c52f563e6961c761a8f665bb51c (diff) | |
| parent | ff7cced24807f9b3fffa1ce5649e7f4ec368d257 (diff) | |
Merge changes from topic "revert-31216694-revert-31021037-TXGRFMNZKV-NMLEVLSTPO" into main
* changes:
Revert^2 "[res] Dump resources timings in dumpsys"
Revert "Revert "[res] Don't create extra asset provider when not..."
Diffstat (limited to 'libs/androidfw/AssetsProvider.cpp')
| -rw-r--r-- | libs/androidfw/AssetsProvider.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/libs/androidfw/AssetsProvider.cpp b/libs/androidfw/AssetsProvider.cpp index 59c6aba7b8b0..808509120462 100644 --- a/libs/androidfw/AssetsProvider.cpp +++ b/libs/androidfw/AssetsProvider.cpp @@ -24,9 +24,27 @@ #include <ziparchive/zip_archive.h> namespace android { -namespace { -constexpr const char* kEmptyDebugString = "<empty>"; -} // namespace + +static constexpr std::string_view kEmptyDebugString = "<empty>"; + +std::unique_ptr<AssetsProvider> AssetsProvider::CreateWithOverride( + std::unique_ptr<AssetsProvider> provider, std::unique_ptr<AssetsProvider> override) { + if (provider == nullptr) { + return {}; + } + if (override == nullptr) { + return provider; + } + return MultiAssetsProvider::Create(std::move(override), std::move(provider)); +} + +std::unique_ptr<AssetsProvider> AssetsProvider::CreateFromNullable( + std::unique_ptr<AssetsProvider> nullable) { + if (nullable) { + return nullable; + } + return EmptyAssetsProvider::Create(); +} std::unique_ptr<Asset> AssetsProvider::Open(const std::string& path, Asset::AccessMode mode, bool* file_exists) const { @@ -425,7 +443,7 @@ const std::string& EmptyAssetsProvider::GetDebugName() const { if (path_.has_value()) { return *path_; } - const static std::string kEmpty = kEmptyDebugString; + constexpr static std::string kEmpty{kEmptyDebugString}; return kEmpty; } |