4package org.qtproject.qt.android;
6import static org.qtproject.qt.android.QtNative.ApplicationState.ApplicationSuspended;
8import android.app.Service;
9import android.content.res.Resources;
10import android.util.DisplayMetrics;
12import java.util.HashSet;
20 private final Service m_service;
21 private final HashSet<QtView> m_views =
new HashSet<>();
23 QtServiceEmbeddedDelegate(Service service)
26 QtNative.registerAppStateListener(
this);
27 QtNative.setService(service);
33 public void onNativePluginIntegrationReadyChanged(
boolean ready)
37 QtNative.runAction(() -> {
38 final DisplayMetrics
metrics = Resources.getSystem().getDisplayMetrics();
40 final int maxWidth =
metrics.widthPixels;
41 final int maxHeight =
metrics.heightPixels;
43 QtDisplayManager.handleLayoutSizeChanged(maxWidth, maxHeight);
45 QtDisplayManager.updateRefreshRate(m_service);
46 QtDisplayManager.handleScreenDensityChanged(
metrics.density);
54 public void startQtApplication(
String appParams,
String mainLib)
56 QtNative.startApplication(appParams, mainLib);
60 public void addView(QtView
view)
62 if (m_views.add(
view)) {
63 QtNative.runAction(() -> createRootWindow(
view));
68 public void removeView(QtView
view)
71 if (m_views.isEmpty())
76 private void createRootWindow(QtView
view)
78 if (m_views.contains(
view)) {
79 QtView.createRootWindow(
view,
view.getLeft(),
view.getTop(),
view.getWidth(),
86 QtNative.setApplicationState(ApplicationSuspended);
87 QtNative.unregisterAppStateListener(QtServiceEmbeddedDelegate.this);
88 QtEmbeddedViewInterfaceFactory.remove(m_service);
90 QtNative.terminateQtNativeApplication();
91 QtNative.setService(
null);
Q_CORE_EXPORT QtJniTypes::Service service()
GLsizei GLenum const void GLuint GLsizei GLfloat * metrics