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 <petri.virkkunen@qt.io>
This commit is contained in:
Assam Boudjelthia 2025-01-06 18:46:08 +02:00
parent d58ad990e2
commit 060a65f6c8
4 changed files with 8 additions and 6 deletions

View File

@ -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;

View File

@ -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 {

View File

@ -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 =

View File

@ -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);
});
}
}