From f52e7c99e9043157a055a21d715b2a2ccb793928 Mon Sep 17 00:00:00 2001 From: Petri Virkkunen Date: Thu, 8 Feb 2024 15:26:46 +0200 Subject: [PATCH] Move QtDisplayManager dpi calculations to functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In order to use the same functionality from outside the class and avoid reimplementation, moving the dpi minimum value check to functions. Change-Id: I242b18fafab1b6283a46bda8b59e87adf50e5c0b Reviewed-by: Assam Boudjelthia Reviewed-by: Tinja Paavoseppä (cherry picked from commit 7bbd39c4c9f345ae48781a212a6544e72757fd3e) Reviewed-by: Qt Cherry-pick Bot --- .../qt/android/QtDisplayManager.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java b/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java index 80c89526ecb..131dc855129 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java @@ -284,20 +284,23 @@ class QtDisplayManager { final DisplayMetrics displayMetrics = activity.getResources().getDisplayMetrics(); - double xdpi = displayMetrics.xdpi; - double ydpi = displayMetrics.ydpi; - - /* Fix buggy dpi report */ - if (xdpi < android.util.DisplayMetrics.DENSITY_LOW) - xdpi = android.util.DisplayMetrics.DENSITY_LOW; - if (ydpi < android.util.DisplayMetrics.DENSITY_LOW) - ydpi = android.util.DisplayMetrics.DENSITY_LOW; - double density = displayMetrics.density; double scaledDensity = displayMetrics.scaledDensity; setDisplayMetrics(maxWidth, maxHeight, insetLeft, insetTop, - width, height, xdpi, ydpi, + width, height, getXDpi(displayMetrics), getYDpi(displayMetrics), scaledDensity, density, getRefreshRate(display)); } + + public static float getXDpi(final DisplayMetrics metrics) { + if (metrics.xdpi < android.util.DisplayMetrics.DENSITY_LOW) + return android.util.DisplayMetrics.DENSITY_LOW; + return metrics.xdpi; + } + + public static float getYDpi(final DisplayMetrics metrics) { + if (metrics.ydpi < android.util.DisplayMetrics.DENSITY_LOW) + return android.util.DisplayMetrics.DENSITY_LOW; + return metrics.ydpi; + } }