summaryrefslogtreecommitdiff
path: root/libs/androidfw/include/androidfw/LoadedArsc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/androidfw/include/androidfw/LoadedArsc.h')
-rw-r--r--libs/androidfw/include/androidfw/LoadedArsc.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/androidfw/include/androidfw/LoadedArsc.h b/libs/androidfw/include/androidfw/LoadedArsc.h
index be62f30617bf..950f5413f550 100644
--- a/libs/androidfw/include/androidfw/LoadedArsc.h
+++ b/libs/androidfw/include/androidfw/LoadedArsc.h
@@ -20,6 +20,7 @@
#include <memory>
#include <set>
#include <vector>
+#include <unordered_map>
#include <unordered_set>
#include "android-base/macros.h"
@@ -223,7 +224,7 @@ class LoadedPackage {
}
}
- // Retrieve the overlayable properties of the specified resource. If the resource is not
+ // Retrieves the overlayable properties of the specified resource. If the resource is not
// overlayable, this will return a null pointer.
const OverlayableInfo* GetOverlayableInfo(uint32_t resid) const {
for (const std::pair<OverlayableInfo, std::unordered_set<uint32_t>>& overlayable_info_ids
@@ -235,6 +236,17 @@ class LoadedPackage {
return nullptr;
}
+ // Retrieves whether or not the package defines overlayable resources.
+ // TODO(123905379): Remove this when the enforcement of overlayable is turned on for all APK and
+ // not just those that defined overlayable resources.
+ bool DefinesOverlayable() const {
+ return defines_overlayable_;
+ }
+
+ const std::unordered_map<std::string, std::string>& GetOverlayableMap() const {
+ return overlayable_map_;
+ }
+
private:
DISALLOW_COPY_AND_ASSIGN(LoadedPackage);
@@ -248,11 +260,13 @@ class LoadedPackage {
bool dynamic_ = false;
bool system_ = false;
bool overlay_ = false;
+ bool defines_overlayable_ = false;
ByteBucketArray<TypeSpecPtr> type_specs_;
ByteBucketArray<uint32_t> resource_ids_;
std::vector<DynamicPackageEntry> dynamic_package_map_;
std::vector<const std::pair<OverlayableInfo, std::unordered_set<uint32_t>>> overlayable_infos_;
+ std::unordered_map<std::string, std::string> overlayable_map_;
};
// Read-only view into a resource table. This class validates all data