diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/Bitmap.java | 11 | ||||
-rw-r--r-- | graphics/java/android/graphics/drawable/Drawable.java | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java index 3279185..ba2a890 100644 --- a/graphics/java/android/graphics/Bitmap.java +++ b/graphics/java/android/graphics/Bitmap.java @@ -80,18 +80,25 @@ 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) { - // Ignore + sDefaultDensity = density; } @SuppressWarnings("deprecation") static int getDefaultDensity() { - return DisplayMetrics.getDeviceDensity(); + if (sDefaultDensity >= 0) { + return sDefaultDensity; + } + //noinspection deprecation + sDefaultDensity = DisplayMetrics.DENSITY_DEVICE; + return sDefaultDensity; } /** diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java index 7bd445f..3f1f76a 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.getDeviceDensity(); + ? res.getDisplayMetrics().noncompatDensityDpi : DisplayMetrics.DENSITY_DEFAULT; Bitmap bm = BitmapFactory.decodeResourceStream(res, value, is, pad, opts); if (bm != null) { byte[] np = bm.getNinePatchChunk(); |