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 --- graphics/java/android/graphics/Bitmap.java | 10 ++-------- graphics/java/android/graphics/drawable/Drawable.java | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) (limited to 'graphics/java/android') diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index 3e4d93b..3279185 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -80,24 +80,18 @@ public final class Bitmap implements Parcelable { private static volatile Matrix sScaleMatrix; - private static volatile int sDefaultDensity = -1; - /** * For backwards compatibility, allows the app layer to change the default * density when running old apps. * @hide */ public static void setDefaultDensity(int density) { - sDefaultDensity = density; + // Ignore } @SuppressWarnings("deprecation") static int getDefaultDensity() { - if (sDefaultDensity >= 0) { - return sDefaultDensity; - } - sDefaultDensity = DisplayMetrics.DENSITY_DEVICE; - return sDefaultDensity; + return DisplayMetrics.getDeviceDensity(); } /** diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java index 32af59a..7bd445f 100644 --- a/graphics/java/android/graphics/drawable/Drawable.java +++ b/graphics/java/android/graphics/drawable/Drawable.java @@ -1076,7 +1076,7 @@ public abstract class Drawable { // drawn to the screen. if (opts == null) opts = new BitmapFactory.Options(); opts.inScreenDensity = res != null - ? res.getDisplayMetrics().noncompatDensityDpi : DisplayMetrics.DENSITY_DEVICE; + ? res.getDisplayMetrics().noncompatDensityDpi : DisplayMetrics.getDeviceDensity(); Bitmap bm = BitmapFactory.decodeResourceStream(res, value, is, pad, opts); if (bm != null) { byte[] np = bm.getNinePatchChunk(); -- cgit v1.1