From 270d59f65be53a13263ba840b077b47026df4d0e Mon Sep 17 00:00:00 2001 From: Jarkko Koivikko Date: Wed, 30 Apr 2025 15:53:40 +0300 Subject: [PATCH] Android: Skip restoring bundle state on process restart When the app process is restarted (e.g. after revoking a permission), Qt isn't running yet, so we must not restore the saved bundle state. Fixes: QTBUG-136497 Fixes: QTBUG-136077 Fixes: QTBUG-135961 Pick-to: 6.9.1 6.9 6.8 Change-Id: I5ec594ec93dd3ba13b088d63ec77a3649e21d798 Reviewed-by: Assam Boudjelthia --- .../jar/src/org/qtproject/qt/android/QtActivityBase.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java index 291d91bb8bd..1e29f9b858e 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java @@ -277,6 +277,11 @@ public class QtActivityBase extends Activity protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); + + // only restore when this Activity is being recreated for a config change + if (getLastNonConfigurationInstance() == null) + return; + QtNative.setStarted(savedInstanceState.getBoolean("Started")); boolean isFullScreen = savedInstanceState.getBoolean("isFullScreen"); boolean expandedToCutout = savedInstanceState.getBoolean("expandedToCutout");