diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/androidfw/ResourceTypes.cpp | 24 |
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 { |