summaryrefslogtreecommitdiffstats
path: root/core/java/android/content
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-09-17 17:43:11 -0700
committerClark Scheff <clark@cyngn.com>2015-10-27 18:28:42 -0700
commit723714ed1dd57b4dc1bfd27061cbaa4218710ddf (patch)
tree6f860786a3e5861ba0ba3a0f81f991384da37b2b /core/java/android/content
parent690777ee7c2ddceb76034cfdf0416fdfdfa67251 (diff)
downloadframeworks_base-723714ed1dd57b4dc1bfd27061cbaa4218710ddf.zip
frameworks_base-723714ed1dd57b4dc1bfd27061cbaa4218710ddf.tar.gz
frameworks_base-723714ed1dd57b4dc1bfd27061cbaa4218710ddf.tar.bz2
Resources: cache themed resources
Change-Id: I408665180d19eb422386fc69bc9afa4bbe0d05d6 Signed-off-by: Roman Birg <roman@cyngn.com>
Diffstat (limited to 'core/java/android/content')
-rw-r--r--core/java/android/content/res/ResourcesKey.java15
-rw-r--r--core/java/android/content/res/ThemeConfig.java1
2 files changed, 15 insertions, 1 deletions
diff --git a/core/java/android/content/res/ResourcesKey.java b/core/java/android/content/res/ResourcesKey.java
index 466d810..6cbf1d7 100644
--- a/core/java/android/content/res/ResourcesKey.java
+++ b/core/java/android/content/res/ResourcesKey.java
@@ -26,6 +26,7 @@ public final class ResourcesKey {
private final float mScale;
private final boolean mIsThemeable;
private final int mHash;
+ private final ThemeConfig mThemeConfig;
public final int mDisplayId;
@NonNull
@@ -39,6 +40,7 @@ public final class ResourcesKey {
? overrideConfiguration : Configuration.EMPTY;
mScale = scale;
mIsThemeable = isThemeable;
+ mThemeConfig = themeConfig;
int hash = 17;
hash = 31 * hash + (mResDir == null ? 0 : mResDir.hashCode());
@@ -78,7 +80,18 @@ public final class ResourcesKey {
if (mScale != peer.mScale) {
return false;
}
- return mIsThemeable == peer.mIsThemeable;
+ if (mIsThemeable != peer.mIsThemeable) {
+ return false;
+ }
+ if (mThemeConfig != peer.mThemeConfig) {
+ if (mThemeConfig == null || peer.mThemeConfig == null) {
+ return false;
+ }
+ if (!mThemeConfig.equals(peer.mThemeConfig)) {
+ return false;
+ }
+ }
+ return true;
}
@Override
diff --git a/core/java/android/content/res/ThemeConfig.java b/core/java/android/content/res/ThemeConfig.java
index 1791a72..602ef0a 100644
--- a/core/java/android/content/res/ThemeConfig.java
+++ b/core/java/android/content/res/ThemeConfig.java
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.content.res.ThemeChangeRequest.RequestType;
import android.os.Parcel;
import android.os.Parcelable;
+import android.os.UserHandle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.JsonReader;