From d1e82836e05fd35e4627f97bd06419e8f50b00b7 Mon Sep 17 00:00:00 2001 From: Tom Marshall Date: Thu, 21 Nov 2013 19:03:26 +0000 Subject: Allow custom density setting Use system property persist.sys.lcd_density to set custom density. The custom setting affects the entire UI. It is independent of ro.sf.lcd_density and has no effect on play store compatibility. Code distilled from PA project via PAC project. Change-Id: I8d26405d5d33bdf2890a0e9f67f113a4dc3e763b --- core/java/android/content/res/Resources.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'core/java/android/content/res') diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index f6a966b..77d3295 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -286,6 +286,7 @@ public class Resources { CompatibilityInfo compatInfo) { mAssets = assets; mMetrics.setToDefaults(); + mMetrics.updateDensity(); if (compatInfo != null) { mCompatibilityInfo = compatInfo; } @@ -2123,6 +2124,7 @@ public class Resources { if (mConfiguration.densityDpi != Configuration.DENSITY_DPI_UNDEFINED) { mMetrics.densityDpi = mConfiguration.densityDpi; mMetrics.density = mConfiguration.densityDpi * DisplayMetrics.DENSITY_DEFAULT_SCALE; + mMetrics.updateDensity(); } mMetrics.scaledDensity = mMetrics.density * mConfiguration.fontScale; @@ -2552,7 +2554,7 @@ public class Resources { } sPreloaded = true; mPreloading = true; - sPreloadedDensity = DisplayMetrics.DENSITY_DEVICE; + sPreloadedDensity = DisplayMetrics.getDeviceDensity(); mConfiguration.densityDpi = sPreloadedDensity; updateConfiguration(null, null); } -- cgit v1.1