diff options
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java index 06ece9d04c..8dc804cce4 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java @@ -160,6 +160,12 @@ public class QtActivityDelegate private final int ImhEmailCharactersOnly = 0x200000; private final int ImhUrlCharactersOnly = 0x400000; + // application state + private final int ApplicationSuspended = 0x0; + private final int ApplicationHidden = 0x1; + private final int ApplicationInactive = 0x2; + private final int ApplicationActive = 0x4; + public void resetSoftwareKeyboard() { if (m_imm == null) @@ -310,7 +316,7 @@ public class QtActivityDelegate try { @SuppressWarnings("rawtypes") - Class initClass = classLoader.loadClass(className); + Class<?> initClass = classLoader.loadClass(className); Object staticInitDataObject = initClass.newInstance(); // create an instance Method m = initClass.getMethod("setActivity", Activity.class, Object.class); m.invoke(staticInitDataObject, m_activity, this); @@ -621,6 +627,11 @@ public class QtActivityDelegate m_surface.applicationStarted(true); } + public void onPause() + { + QtNative.updateApplicationState(ApplicationInactive); + } + public void onResume() { // fire all lostActions @@ -631,12 +642,18 @@ public class QtActivityDelegate m_activity.runOnUiThread(itr.next()); if (m_started) { + QtNative.updateApplicationState(ApplicationActive); QtNative.clearLostActions(); QtNative.updateWindow(); } } } + public void onStop() + { + QtNative.updateApplicationState(ApplicationSuspended); + } + public Object onRetainNonConfigurationInstance() { try { |