From bddccc689bfb1a42bdc509542eecbcc1038a0650 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 6 Jan 2025 17:05:32 +0200 Subject: [PATCH 1/2] Android: remove unused top/left inset params of setDisplayMetrics() Those two params are already marked as unused, so there's no point in calculating them passing them and then not using them. Task-number: QTBUG-132716 Change-Id: I840473a42ac4256164252df805b52b859d2fa3de Reviewed-by: Petri Virkkunen --- .../qt/android/QtDisplayManager.java | 27 +++++-------------- .../qt/android/QtServiceEmbeddedDelegate.java | 4 +-- .../platforms/android/androidjnimain.cpp | 11 +++----- 3 files changed, 12 insertions(+), 30 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 b5576972926..247816e7443 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java @@ -33,10 +33,9 @@ class QtDisplayManager { // screen methods static native void setDisplayMetrics(int screenWidthPixels, int screenHeightPixels, - int availableLeftPixels, int availableTopPixels, - int availableWidthPixels, int availableHeightPixels, - double XDpi, double YDpi, double scaledDensity, - double density); + int availableWidthPixels, int availableHeightPixels, + double XDpi, double YDpi, double scaledDensity, + double density); static native void handleOrientationChanged(int newRotation, int nativeOrientation); static native void handleRefreshRateChanged(float refreshRate); static native void handleUiDarkModeChanged(int newUiMode); @@ -277,28 +276,16 @@ class QtDisplayManager { if (activity == null) return; - final WindowInsets rootInsets = activity.getWindow().getDecorView().getRootWindowInsets(); - - int insetLeft; - int insetTop; - - if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.R) { - insetLeft = rootInsets.getStableInsetLeft(); - insetTop = rootInsets.getStableInsetTop(); - } else { - insetLeft = rootInsets.getInsetsIgnoringVisibility(WindowInsets.Type.systemBars()).left; - insetTop = rootInsets.getInsetsIgnoringVisibility(WindowInsets.Type.systemBars()).top; - } - final DisplayMetrics displayMetrics = activity.getResources().getDisplayMetrics(); double density = displayMetrics.density; double scaledDensity = displayMetrics.scaledDensity; Size displaySize = getDisplaySize(activity, QtDisplayManager.getDisplay(activity)); - setDisplayMetrics(displaySize.getWidth(), displaySize.getHeight(), insetLeft, insetTop, - width, height, getXDpi(displayMetrics), getYDpi(displayMetrics), - scaledDensity, density); + setDisplayMetrics(displaySize.getWidth(), displaySize.getHeight(), + width, height, + getXDpi(displayMetrics), getYDpi(displayMetrics), + scaledDensity, density); } static float getXDpi(final DisplayMetrics metrics) { diff --git a/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java index adf83368832..c8f79c700b4 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java @@ -41,11 +41,9 @@ class QtServiceEmbeddedDelegate implements QtEmbeddedViewInterface, QtNative.App final int maxWidth = metrics.widthPixels; final int maxHeight = metrics.heightPixels; - final int insetLeft = 0; - final int insetTop = 0; QtDisplayManager.setDisplayMetrics( - maxWidth, maxHeight, insetLeft, insetTop, maxWidth, maxHeight, + maxWidth, maxHeight, maxWidth, maxHeight, QtDisplayManager.getXDpi(metrics), QtDisplayManager.getYDpi(metrics), metrics.scaledDensity, metrics.density); diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 8919aefe82c..32606b9bc42 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -571,15 +571,12 @@ static void terminateQt(JNIEnv *env, jclass /*clazz*/) sem_post(&m_exitSemaphore); } -static void setDisplayMetrics(JNIEnv * /*env*/, jclass /*clazz*/, jint screenWidthPixels, - jint screenHeightPixels, jint availableLeftPixels, - jint availableTopPixels, jint availableWidthPixels, - jint availableHeightPixels, jdouble xdpi, jdouble ydpi, +static void setDisplayMetrics(JNIEnv * /*env*/, jclass /*clazz*/, + jint screenWidthPixels, jint screenHeightPixels, + jint availableWidthPixels, jint availableHeightPixels, + jdouble xdpi, jdouble ydpi, jdouble scaledDensity, jdouble density) { - Q_UNUSED(availableLeftPixels) - Q_UNUSED(availableTopPixels) - m_availableWidthPixels = availableWidthPixels; m_availableHeightPixels = availableHeightPixels; m_scaledDensity = scaledDensity; From 9875976ed179ee23897873c5ceb8049e732c7dcd Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 6 Jan 2025 18:12:27 +0200 Subject: [PATCH 2/2] Android: remove unused scaled density property This value is used by nothing throughout the Qt Android code. Task-number: QTBUG-132716 Change-Id: I694d016131b7eccd9ea5789e77f0501676a7f21a Reviewed-by: Petri Virkkunen --- .../src/org/qtproject/qt/android/QtDisplayManager.java | 5 ++--- .../qtproject/qt/android/QtServiceEmbeddedDelegate.java | 2 +- src/plugins/platforms/android/androidjnimain.cpp | 9 +-------- src/plugins/platforms/android/androidjnimain.h | 1 - 4 files changed, 4 insertions(+), 13 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 247816e7443..61adb44bc4e 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java @@ -34,7 +34,7 @@ class QtDisplayManager { // screen methods static native void setDisplayMetrics(int screenWidthPixels, int screenHeightPixels, int availableWidthPixels, int availableHeightPixels, - double XDpi, double YDpi, double scaledDensity, + double XDpi, double YDpi, double density); static native void handleOrientationChanged(int newRotation, int nativeOrientation); static native void handleRefreshRateChanged(float refreshRate); @@ -279,13 +279,12 @@ class QtDisplayManager { final DisplayMetrics displayMetrics = activity.getResources().getDisplayMetrics(); double density = displayMetrics.density; - double scaledDensity = displayMetrics.scaledDensity; Size displaySize = getDisplaySize(activity, QtDisplayManager.getDisplay(activity)); setDisplayMetrics(displaySize.getWidth(), displaySize.getHeight(), width, height, getXDpi(displayMetrics), getYDpi(displayMetrics), - scaledDensity, density); + density); } static float getXDpi(final DisplayMetrics metrics) { diff --git a/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java index c8f79c700b4..a7a88343aa4 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtServiceEmbeddedDelegate.java @@ -45,7 +45,7 @@ class QtServiceEmbeddedDelegate implements QtEmbeddedViewInterface, QtNative.App QtDisplayManager.setDisplayMetrics( maxWidth, maxHeight, maxWidth, maxHeight, QtDisplayManager.getXDpi(metrics), QtDisplayManager.getYDpi(metrics), - metrics.scaledDensity, metrics.density); + metrics.density); QtDisplayManager.updateRefreshRate(m_service); }); diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 32606b9bc42..b7cc694d752 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -76,7 +76,6 @@ static QAndroidPlatformIntegration *m_androidPlatformIntegration = nullptr; static int m_availableWidthPixels = 0; static int m_availableHeightPixels = 0; -static double m_scaledDensity = 0; static double m_density = 1.0; static AndroidAssetsFileEngineHandler *m_androidAssetsFileEngineHandler = nullptr; @@ -154,11 +153,6 @@ namespace QtAndroid return m_availableHeightPixels; } - double scaledDensity() - { - return m_scaledDensity; - } - double pixelDensity() { return m_density; @@ -575,11 +569,10 @@ static void setDisplayMetrics(JNIEnv * /*env*/, jclass /*clazz*/, jint screenWidthPixels, jint screenHeightPixels, jint availableWidthPixels, jint availableHeightPixels, jdouble xdpi, jdouble ydpi, - jdouble scaledDensity, jdouble density) + jdouble density) { m_availableWidthPixels = availableWidthPixels; m_availableHeightPixels = availableHeightPixels; - m_scaledDensity = scaledDensity; m_density = density; const QSize screenSize(screenWidthPixels, screenHeightPixels); diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h index e625b9e592a..7711bc95112 100644 --- a/src/plugins/platforms/android/androidjnimain.h +++ b/src/plugins/platforms/android/androidjnimain.h @@ -43,7 +43,6 @@ namespace QtAndroid QWindow *windowFromId(int windowId); int availableWidthPixels(); int availableHeightPixels(); - double scaledDensity(); double pixelDensity(); jobject assets(); AAssetManager *assetManager();