From 060a65f6c8c6b2e5528cb3cc91e7bba969d52a4f Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 6 Jan 2025 18:46:08 +0200 Subject: [PATCH] Android: init display properties in QtActivityDelegateBase.initMembers() This way we ensure we get initial properties and not have to worry about calling them in the delegates at the start. Task-number: QTBUG-132716 Change-Id: Ic009c8f55b8397e37b4f57b0c60f9a2428aa85d2 Reviewed-by: Petri Virkkunen --- .../src/org/qtproject/qt/android/QtActivityDelegate.java | 4 ---- .../org/qtproject/qt/android/QtActivityDelegateBase.java | 1 + .../jar/src/org/qtproject/qt/android/QtDisplayManager.java | 7 +++++++ .../src/org/qtproject/qt/android/QtEmbeddedDelegate.java | 2 -- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java index dcaf2712d55..3722609e208 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -139,13 +139,9 @@ class QtActivityDelegate extends QtActivityDelegateBase m_activity.setContentView(m_layout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - QtDisplayManager.handleOrientationChange(m_activity); handleUiModeChange(m_activity.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK); - QtDisplayManager.updateRefreshRate(m_activity); - QtDisplayManager.updateScreenDensity(m_activity); - m_layout.getViewTreeObserver().addOnPreDrawListener(() -> { if (!m_inputDelegate.isKeyboardVisible()) return true; diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java index d0e572addfb..5381c5cbfe5 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java @@ -76,6 +76,7 @@ abstract class QtActivityDelegateBase m_membersInitialized = true; m_topLevelWindows.clear(); m_displayManager.registerDisplayListener(); + m_displayManager.initDisplayProperties(); m_inputDelegate.initInputMethodManager(m_activity); try { 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 3cf78d9c52f..17678a7c758 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtDisplayManager.java @@ -110,6 +110,13 @@ class QtDisplayManager { return Configuration.ORIENTATION_PORTRAIT; } + void initDisplayProperties() + { + QtDisplayManager.handleOrientationChange(m_activity); + QtDisplayManager.updateRefreshRate(m_activity); + QtDisplayManager.updateScreenDensity(m_activity); + } + void registerDisplayListener() { DisplayManager displayManager = diff --git a/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java index ab75369976b..fbd3162264b 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java @@ -115,8 +115,6 @@ class QtEmbeddedDelegate extends QtActivityDelegateBase DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics(); QtDisplayManager.setApplicationDisplayMetrics(m_activity, metrics.widthPixels, metrics.heightPixels); - QtDisplayManager.updateRefreshRate(m_activity); - QtDisplayManager.updateScreenDensity(m_activity); }); } }