diff options
author | Alan Viverette <alanv@google.com> | 2015-05-05 09:49:03 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2015-05-05 09:49:03 -0700 |
commit | c1d527926e1c82828e42bdc0c7abf50f6decc0a7 (patch) | |
tree | 48cfc47946a00d3c2126aa62fbf8e47e89e3dbf9 /libs/androidfw | |
parent | 5551aca2b8ec9fe7ab5ffda8dad82ee104556962 (diff) | |
download | frameworks_base-c1d527926e1c82828e42bdc0c7abf50f6decc0a7.zip frameworks_base-c1d527926e1c82828e42bdc0c7abf50f6decc0a7.tar.gz frameworks_base-c1d527926e1c82828e42bdc0c7abf50f6decc0a7.tar.bz2 |
Add API for obtaining changing configurations bitmask from Theme
Required to know when to reload the system context's theme in response
to configuration changes, and thus needed to support the DayNight theme.
Bug: 20267825
Change-Id: I7df5e28b7a6d8b611ea030032544cf4800788514
Diffstat (limited to 'libs/androidfw')
-rw-r--r-- | libs/androidfw/ResourceTypes.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index 04ebe70..19a5beb 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -3147,6 +3147,7 @@ struct ResTable::bag_set ResTable::Theme::Theme(const ResTable& table) : mTable(table) + , mTypeSpecFlags(0) { memset(mPackages, 0, sizeof(mPackages)); } @@ -3205,6 +3206,8 @@ status_t ResTable::Theme::applyStyle(uint32_t resID, bool force) return N; } + mTypeSpecFlags |= bagTypeSpecFlags; + uint32_t curPackage = 0xffffffff; ssize_t curPackageIndex = 0; package_info* curPI = NULL; @@ -3323,6 +3326,8 @@ status_t ResTable::Theme::setTo(const Theme& other) } } + mTypeSpecFlags = other.mTypeSpecFlags; + if (kDebugTableTheme) { ALOGI("Final theme:"); dumpToLog(); @@ -3417,6 +3422,11 @@ ssize_t ResTable::Theme::resolveAttributeReference(Res_value* inOutValue, inoutTypeSpecFlags, inoutConfig); } +uint32_t ResTable::Theme::getChangingConfigurations() const +{ + return mTypeSpecFlags; +} + void ResTable::Theme::dumpToLog() const { ALOGI("Theme %p:\n", this); |