summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/res
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2013-09-19 20:33:15 -0700
committerAdam Lesinski <adamlesinski@google.com>2013-09-20 11:04:40 -0700
commit79a8ffe54f9c99ffc34f7b5b73c22eea2673424a (patch)
tree57366f7c4e4e0bc28b049f45dc99ff0a8ae5d60a /core/java/android/content/res
parent0286f5e2786865e35781180c88e67a0f981e942d (diff)
downloadframeworks_base-79a8ffe54f9c99ffc34f7b5b73c22eea2673424a.zip
frameworks_base-79a8ffe54f9c99ffc34f7b5b73c22eea2673424a.tar.gz
frameworks_base-79a8ffe54f9c99ffc34f7b5b73c22eea2673424a.tar.bz2
Ensures that CompatibilityInfo is always set in Resources
- Adds null checks when setting mCompatibilityInfo and uses default no-op CompatibilityInfo object instead of null - Removes null checks when calling methods on mCompatibilityInfo since it is never null bug:10204942 Change-Id: I36e88f5cdceb46b8b19fb902270ef74023a81546
Diffstat (limited to 'core/java/android/content/res')
-rw-r--r--core/java/android/content/res/Resources.java25
1 files changed, 13 insertions, 12 deletions
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 6483cd9..cd5b5d2 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -195,7 +195,9 @@ public class Resources {
CompatibilityInfo compatInfo, IBinder token) {
mAssets = assets;
mMetrics.setToDefaults();
- mCompatibilityInfo = compatInfo;
+ if (compatInfo != null) {
+ mCompatibilityInfo = compatInfo;
+ }
mToken = new WeakReference<IBinder>(token);
updateConfiguration(config, metrics);
assets.ensureStringBlocks();
@@ -1536,9 +1538,8 @@ public class Resources {
// it would be cleaner and more maintainble to just be
// consistently dealing with a compatible display everywhere in
// the framework.
- if (mCompatibilityInfo != null) {
- mCompatibilityInfo.applyToDisplayMetrics(mMetrics);
- }
+ mCompatibilityInfo.applyToDisplayMetrics(mMetrics);
+
int configChanges = 0xfffffff;
if (config != null) {
mTmpConfig.setTo(config);
@@ -1546,9 +1547,9 @@ public class Resources {
if (density == Configuration.DENSITY_DPI_UNDEFINED) {
density = mMetrics.noncompatDensityDpi;
}
- if (mCompatibilityInfo != null) {
- mCompatibilityInfo.applyToConfiguration(density, mTmpConfig);
- }
+
+ mCompatibilityInfo.applyToConfiguration(density, mTmpConfig);
+
if (mTmpConfig.locale == null) {
mTmpConfig.locale = Locale.getDefault();
mTmpConfig.setLayoutDirection(mTmpConfig.locale);
@@ -1697,8 +1698,7 @@ public class Resources {
* @hide
*/
public CompatibilityInfo getCompatibilityInfo() {
- return mCompatibilityInfo != null ? mCompatibilityInfo
- : CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
+ return mCompatibilityInfo;
}
/**
@@ -1706,8 +1706,10 @@ public class Resources {
* @hide
*/
public void setCompatibilityInfo(CompatibilityInfo ci) {
- mCompatibilityInfo = ci;
- updateConfiguration(mConfiguration, mMetrics);
+ if (ci != null) {
+ mCompatibilityInfo = ci;
+ updateConfiguration(mConfiguration, mMetrics);
+ }
}
/**
@@ -2407,6 +2409,5 @@ public class Resources {
mMetrics.setToDefaults();
updateConfiguration(null, null);
mAssets.ensureStringBlocks();
- mCompatibilityInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
}
}