From 9c06169a086ee6ba267e107b23fe6c8cc08ca5fd Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Fri, 23 Aug 2024 13:44:47 +0300 Subject: [PATCH] Android: move AppStateDetailsListener from QtActivityBase to Delegate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implementing QtNative.AppStateDetailsListener under QtActivityBase exposes the methods as public API to users, where the class AppStateDetailsListener itself is not public API, so move the impelementation to the QtActivityDelegate. Task-number: QTBUG-125859 Change-Id: I9b358a5e9cd9970a2ead11df77b3761a8e7e6c07 Reviewed-by: Tinja Paavoseppä (cherry picked from commit 6e2b92c1b1d229aae56fff9ae4487ce41ca50680) Reviewed-by: Ville Voutilainen Reviewed-by: Petri Virkkunen --- .../org/qtproject/qt/android/QtActivityBase.java | 14 +++----------- .../qtproject/qt/android/QtActivityDelegate.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 12 deletions(-) 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 0999b440463..77bade3c51b 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityBase.java @@ -24,7 +24,7 @@ import android.view.View; import android.view.Window; import java.lang.IllegalArgumentException; -public class QtActivityBase extends Activity implements QtNative.AppStateDetailsListener +public class QtActivityBase extends Activity { private String m_applicationParams = ""; private boolean m_isCustomThemeSet = false; @@ -102,7 +102,7 @@ public class QtActivityBase extends Activity implements QtNative.AppStateDetails m_delegate = new QtActivityDelegate(this); - QtNative.registerAppStateListener(this); + QtNative.registerAppStateListener(m_delegate); addReferrer(getIntent()); @@ -124,14 +124,6 @@ public class QtActivityBase extends Activity implements QtNative.AppStateDetails } } - @Override - public void onAppStateDetailsChanged(QtNative.ApplicationStateDetails details) { - if (details.isStarted) - m_delegate.registerBackends(); - else - m_delegate.unregisterBackends(); - } - @Override protected void onStart() { @@ -178,7 +170,7 @@ public class QtActivityBase extends Activity implements QtNative.AppStateDetails { super.onDestroy(); if (!m_retainNonConfigurationInstance) { - QtNative.unregisterAppStateListener(this); + QtNative.unregisterAppStateListener(m_delegate); QtNative.terminateQt(); QtNative.setActivity(null); QtNative.getQtThread().exit(); 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 7491dc5c90d..4c7dae4f323 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -31,7 +31,8 @@ import android.widget.PopupMenu; import java.util.HashMap; class QtActivityDelegate extends QtActivityDelegateBase - implements QtWindowInterface, QtAccessibilityInterface, QtMenuInterface + implements QtWindowInterface, QtAccessibilityInterface, QtMenuInterface, + QtNative.AppStateDetailsListener { private static final String QtTAG = "QtActivityDelegate"; @@ -88,6 +89,15 @@ class QtActivityDelegate extends QtActivityDelegateBase }); } + + @Override + final public void onAppStateDetailsChanged(QtNative.ApplicationStateDetails details) { + if (details.isStarted) + registerBackends(); + else + unregisterBackends(); + } + @Override void startNativeApplicationImpl(String appParams, String mainLib) {