summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Moskal <bartlomiej.moskal@qt.io>2020-12-03 13:36:42 +0100
committerTarja Sundqvist <tarja.sundqvist@qt.io>2021-02-08 15:05:01 +0200
commit5d582d9084727f7b07ee53fc534a3263c5fc3ab3 (patch)
tree23902fc08dcccf43fbffe869ac908561dcd9ab92
parentf9bcef1b17e822cfbceb9c0b6dac23b896195738 (diff)
Android: Pass pending state to ResumePauseListener
It can happen that updateApplicationState() is called before m_androidPlatformIntegration is set. In such case, new applicationState will be remembered and propagated later. Before this change, pending application state was passed only to QWindowSystemInterface. ResumePauseListeners that are subscribed for changes to ApplicationActive/ApplicationInactive state also should be informed about new application state. Fixes: QTBUG-84737 Change-Id: I67e79860b340ee5de2d13d148a222e9f1c942b93 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 2eb77139a2deeb88c4d517dd5131f3e45d6acc1f)
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp
index 08d42a1e61..a4e2673a2c 100644
--- a/src/plugins/platforms/android/androidjnimain.cpp
+++ b/src/plugins/platforms/android/androidjnimain.cpp
@@ -137,8 +137,13 @@ namespace QtAndroid
m_androidPlatformIntegration = androidPlatformIntegration;
// flush the pending state if necessary.
- if (m_androidPlatformIntegration && (m_pendingApplicationState != -1))
+ if (m_androidPlatformIntegration && (m_pendingApplicationState != -1)) {
+ if (m_pendingApplicationState == Qt::ApplicationActive)
+ QtAndroidPrivate::handleResume();
+ else if (m_pendingApplicationState == Qt::ApplicationInactive)
+ QtAndroidPrivate::handlePause();
QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState(m_pendingApplicationState));
+ }
m_pendingApplicationState = -1;
}