From f18f50a8be0bce5a7174713ebe74b3bdcfaea882 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 17 Feb 2025 17:02:12 +0200 Subject: [PATCH] Android: fix Quick for Android density Amends 060a65f6c8c6b2e5528cb3cc91e7bba969d52a4f, which seems to make Quick for Android apps show content with big sizes, the quickest fix is to partially revert to the previous behavior while still have the calls to update density, orientation and refresh rate under one common method under QtDisplayManager. Fixes: QTBUG-133754 Change-Id: I9a3791354cc6d425f858a6d1d7075ec8ddae8eb3 Reviewed-by: Petri Virkkunen --- .../jar/src/org/qtproject/qt/android/QtActivityDelegate.java | 2 ++ .../src/org/qtproject/qt/android/QtActivityDelegateBase.java | 1 - .../jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) 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 3722609e208..7dd00358546 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -142,6 +142,8 @@ class QtActivityDelegate extends QtActivityDelegateBase handleUiModeChange(m_activity.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK); + m_displayManager.initDisplayProperties(); + 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 5381c5cbfe5..d0e572addfb 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegateBase.java @@ -76,7 +76,6 @@ 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/QtEmbeddedDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java index 6b48cf5b44b..d6f2ff5959f 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtEmbeddedDelegate.java @@ -114,6 +114,7 @@ class QtEmbeddedDelegate extends QtActivityDelegateBase QtNative.runAction(() -> { DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics(); QtDisplayManager.handleLayoutSizeChanged(metrics.widthPixels, metrics.heightPixels); + m_displayManager.initDisplayProperties(); }); } }