From 8047d2ec89a2be0fffdce08ccdfe78de65781255 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Sat, 11 Jan 2025 02:18:26 +0200 Subject: [PATCH] Android: simplify/refactor QAndroidPlatformWindow::setVisible() Simplify the if condidions in this function for better readability. Task-number: QTBUG-132716 Change-Id: I4a4eee61d4b9111d82272205133d7719b7be4a9e Reviewed-by: Petri Virkkunen --- .../android/qandroidplatformwindow.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index 374378db66e..2431548791a 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -163,10 +163,11 @@ void QAndroidPlatformWindow::setVisible(bool visible) { if (isEmbeddingContainer()) return; - m_nativeQtWindow.callMethod("setVisible", visible); - if (visible) { - if (window()->isTopLevel()) { + if (window()->isTopLevel()) { + if (!visible && window() == qGuiApp->focusWindow()) { + platformScreen()->topVisibleWindowChanged(); + } else { updateSystemUiVisibility(); if ((m_windowState & Qt::WindowFullScreen) || (window()->flags() & Qt::ExpandedClientAreaHint)) { @@ -176,13 +177,14 @@ void QAndroidPlatformWindow::setVisible(bool visible) } requestActivateWindow(); } - } else if (window()->isTopLevel() && window() == qGuiApp->focusWindow()) { - platformScreen()->topVisibleWindowChanged(); } - QRect availableGeometry = screen()->availableGeometry(); - if (geometry().width() > 0 && geometry().height() > 0 && availableGeometry.width() > 0 && availableGeometry.height() > 0) - QPlatformWindow::setVisible(visible); + m_nativeQtWindow.callMethod("setVisible", visible); + + if (geometry().isEmpty() || screen()->availableGeometry().isEmpty()) + return; + + QPlatformWindow::setVisible(visible); } void QAndroidPlatformWindow::setWindowState(Qt::WindowStates state)