summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2015-05-06 10:41:43 -0700
committerAlan Viverette <alanv@google.com>2015-05-06 10:41:43 -0700
commite54d245b993e1347cb32c23a6bdc907a45fab324 (patch)
treebe087de6d12733ca9800724ac77103a0b2173964 /core/jni
parent424681e43e454bfcbceb863ddccb875ea57ec26f (diff)
downloadframeworks_base-e54d245b993e1347cb32c23a6bdc907a45fab324.zip
frameworks_base-e54d245b993e1347cb32c23a6bdc907a45fab324.tar.gz
frameworks_base-e54d245b993e1347cb32c23a6bdc907a45fab324.tar.bz2
Improve keying for theme caches, rebase system theme on config change
Themes now use an array of applied styles rather than a String to store their history. They are keyed based on a hash code computed from the history of applied styles. The themed drawable cache has been abstracted out into its own class. Also updates system context to use DayNight as the default and ensures that GlobalActions uses the correct context, which exercises the change. CTS tests have been added in another CL. Bug: 20421157 Change-Id: I9eb4b7dffd198ad24d02f656eaf0839570b59caa
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_util_AssetManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index db495dd..74a9e4e 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -976,6 +976,12 @@ static void android_content_AssetManager_copyTheme(JNIEnv* env, jobject clazz,
dest->setTo(*src);
}
+static void android_content_AssetManager_clearTheme(JNIEnv* env, jobject clazz, jlong themeHandle)
+{
+ ResTable::Theme* theme = reinterpret_cast<ResTable::Theme*>(themeHandle);
+ theme->clear();
+}
+
static jint android_content_AssetManager_loadThemeAttributeValue(
JNIEnv* env, jobject clazz, jlong themeHandle, jint ident, jobject outValue, jboolean resolve)
{
@@ -2108,6 +2114,8 @@ static JNINativeMethod gAssetManagerMethods[] = {
(void*) android_content_AssetManager_applyThemeStyle },
{ "copyTheme", "(JJ)V",
(void*) android_content_AssetManager_copyTheme },
+ { "clearTheme", "(J)V",
+ (void*) android_content_AssetManager_clearTheme },
{ "loadThemeAttributeValue", "(JILandroid/util/TypedValue;Z)I",
(void*) android_content_AssetManager_loadThemeAttributeValue },
{ "getThemeChangingConfigurations", "(J)I",