Android: move AppStateDetailsListener from QtActivityBase to Delegate

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ä <tinja.paavoseppa@qt.io>
(cherry picked from commit 6e2b92c1b1d229aae56fff9ae4487ce41ca50680)
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
This commit is contained in:
Assam Boudjelthia 2024-08-23 13:44:47 +03:00
parent 8f09ff24c2
commit 9c06169a08
2 changed files with 14 additions and 12 deletions

View File

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

View File

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