From 6a4dca1af180604318e20db56a2d8b4fbef34374 Mon Sep 17 00:00:00 2001 From: Roman Birg Date: Fri, 11 Mar 2016 15:12:53 -0800 Subject: [PATCH] fix metrics density comparisons In Resources.java, we explicitly call setDensity() on the local DisplayMetircs object when there is a configuration update - which sets some more fields than the original implementation. In fw/b/core/java/android/app/Presentation.java there is a DisplayInfo comparison which fails because our getMetricsWithSize() did not always set those fields that updateConfiguration would always set. So now we always return a DisplayMetrics object with the fields filled out as expected. Ref: OPO-539 Change-Id: Ie80e7a9cfd249ec59d31b4044ad09e07e34d1194 Signed-off-by: Roman Birg --- core/java/android/view/DisplayInfo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java index d43b9628828..85321f9ea6e 100644 --- a/core/java/android/view/DisplayInfo.java +++ b/core/java/android/view/DisplayInfo.java @@ -567,6 +567,8 @@ private void getMetricsWithSize(DisplayMetrics outMetrics, CompatibilityInfo com } else if (type == Display.TYPE_BUILT_IN && (flags & Display.FLAG_PRESENTATION) == 0) { outMetrics.setDensity(DisplayMetrics.DENSITY_PREFERRED); + } else { + outMetrics.setDensity(logicalDensityDpi); } }