summaryrefslogtreecommitdiffstats
path: root/core/java/android/content
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2015-02-27 11:31:03 -0800
committerClark Scheff <clark@cyngn.com>2015-10-27 10:41:17 -0700
commit2ec1a33b70d3c013daa956696b68167a5eeef70d (patch)
tree69da575ce97cb3d74ffca4fc3325bb843c03f69a /core/java/android/content
parent9e2a69886db785729f9c7925e6c06b8ad283d49e (diff)
downloadframeworks_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.java14
-rw-r--r--core/java/android/content/res/Configuration.java4
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();
}