diff options
author | Clark Scheff <clark@cyngn.com> | 2015-02-27 11:31:03 -0800 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2015-10-27 10:41:17 -0700 |
commit | 2ec1a33b70d3c013daa956696b68167a5eeef70d (patch) | |
tree | 69da575ce97cb3d74ffca4fc3325bb843c03f69a /core/java/android/content | |
parent | 9e2a69886db785729f9c7925e6c06b8ad283d49e (diff) | |
download | frameworks_base-2ec1a33b70d3c013daa956696b68167a5eeef70d.zip frameworks_base-2ec1a33b70d3c013daa956696b68167a5eeef70d.tar.gz frameworks_base-2ec1a33b70d3c013daa956696b68167a5eeef70d.tar.bz2 |
Themes: Add config change flag for font change
This patch adds a new flag that lets us know if the font actually
changed when a theme change occurs. This way we can skip calling
Typeface.recreateDefaults() if the font did not change.
Change-Id: Idfaa0ae1fba99c8222d3607bd3864b7f1fa32b96
Diffstat (limited to 'core/java/android/content')
-rw-r--r-- | core/java/android/content/pm/ActivityInfo.java | 14 | ||||
-rw-r--r-- | core/java/android/content/res/Configuration.java | 4 |
2 files changed, 14 insertions, 4 deletions
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index f319a88..da7cd85 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -494,10 +494,6 @@ public class ActivityInfo extends ComponentInfo */ public static final int CONFIG_ORIENTATION = 0x0080; /** - * @hide - */ - public static final int CONFIG_THEME_RESOURCE = 0x008000; - /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the screen layout. Set from the * {@link android.R.attr#configChanges} attribute. @@ -546,6 +542,16 @@ public class ActivityInfo extends ComponentInfo */ public static final int CONFIG_LAYOUT_DIRECTION = 0x2000; /** + * Bit in {@link #configChanges} that indicates a theme change occurred + * @hide + */ + public static final int CONFIG_THEME_RESOURCE = 0x100000; + /** + * Bit in {@link #configChanges} that indicates a font change occurred + * @hide + */ + public static final int CONFIG_THEME_FONT = 0x200000; + /** * Bit in {@link #configChanges} that indicates that the activity * can itself handle changes to the font scaling factor. Set from the * {@link android.R.attr#configChanges} attribute. This is diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java index f077d4d..4ce1f62 100644 --- a/core/java/android/content/res/Configuration.java +++ b/core/java/android/content/res/Configuration.java @@ -1033,6 +1033,10 @@ public final class Configuration implements Parcelable, Comparable<Configuration if (delta.themeConfig != null && (themeConfig == null || !themeConfig.equals(delta.themeConfig))) { changed |= ActivityInfo.CONFIG_THEME_RESOURCE; + if (themeConfig == null || + !delta.themeConfig.getFontPkgName().equals(themeConfig.getFontPkgName())) { + changed |= ActivityInfo.CONFIG_THEME_FONT; + } themeConfig = (ThemeConfig)delta.themeConfig.clone(); } |