summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2015-05-07 21:19:57 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-07 21:19:59 +0000
commit6a8c79bb2b4b0c749e76dc3628ec5200efec4f40 (patch)
tree002d055790131d35f38e5a4d0ff68b198e6f1714 /libs
parent6fc03e6523ee566ed278c3b64aa344ae95c8d824 (diff)
parente54d245b993e1347cb32c23a6bdc907a45fab324 (diff)
downloadframeworks_base-6a8c79bb2b4b0c749e76dc3628ec5200efec4f40.zip
frameworks_base-6a8c79bb2b4b0c749e76dc3628ec5200efec4f40.tar.gz
frameworks_base-6a8c79bb2b4b0c749e76dc3628ec5200efec4f40.tar.bz2
Merge "Improve keying for theme caches, rebase system theme on config change" into mnc-dev
Diffstat (limited to 'libs')
-rw-r--r--libs/androidfw/ResourceTypes.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp
index 19a5beb..2ae7b08 100644
--- a/libs/androidfw/ResourceTypes.cpp
+++ b/libs/androidfw/ResourceTypes.cpp
@@ -3336,6 +3336,30 @@ status_t ResTable::Theme::setTo(const Theme& other)
return NO_ERROR;
}
+status_t ResTable::Theme::clear()
+{
+ if (kDebugTableTheme) {
+ ALOGI("Clearing theme %p...\n", this);
+ dumpToLog();
+ }
+
+ for (size_t i = 0; i < Res_MAXPACKAGE; i++) {
+ if (mPackages[i] != NULL) {
+ free_package(mPackages[i]);
+ mPackages[i] = NULL;
+ }
+ }
+
+ mTypeSpecFlags = 0;
+
+ if (kDebugTableTheme) {
+ ALOGI("Final theme:");
+ dumpToLog();
+ }
+
+ return NO_ERROR;
+}
+
ssize_t ResTable::Theme::getAttribute(uint32_t resID, Res_value* outValue,
uint32_t* outTypeSpecFlags) const
{