|
@@ -22,11 +22,11 @@
|
|
|
#ifdef VCMI_ANDROID
|
|
|
#include <QAndroidJniObject>
|
|
|
#include <QtAndroid>
|
|
|
-#include <QAndroidJniEnvironment>
|
|
|
#endif
|
|
|
|
|
|
#ifdef VCMI_IOS
|
|
|
#include "ios/revealdirectoryinfiles.h"
|
|
|
+#include "iOS_utils.h"
|
|
|
#endif
|
|
|
|
|
|
#ifdef VCMI_MOBILE
|
|
@@ -120,27 +120,12 @@ MainWindow * getMainWindow()
|
|
|
void keepScreenOn(bool on)
|
|
|
{
|
|
|
#if defined(VCMI_ANDROID)
|
|
|
- // based on https://stackoverflow.com/a/38846485
|
|
|
QtAndroid::runOnAndroidThread([on]
|
|
|
{
|
|
|
- QAndroidJniObject activity = QtAndroid::androidActivity();
|
|
|
- if(activity.isValid())
|
|
|
- {
|
|
|
- QAndroidJniObject window = activity.callObjectMethod("getWindow", "()Landroid/view/Window;");
|
|
|
-
|
|
|
- if(window.isValid())
|
|
|
- {
|
|
|
- const int FLAG_KEEP_SCREEN_ON = 128;
|
|
|
- if(on)
|
|
|
- window.callMethod<void>("addFlags", "(I)V", FLAG_KEEP_SCREEN_ON);
|
|
|
- else
|
|
|
- window.callMethod<void>("clearFlags", "(I)V", FLAG_KEEP_SCREEN_ON);
|
|
|
- }
|
|
|
- }
|
|
|
- QAndroidJniEnvironment env;
|
|
|
- if (env->ExceptionCheck())
|
|
|
- env->ExceptionClear();
|
|
|
+ QtAndroid::androidActivity().callMethod<void>("setScreensaverEnabled", "(Z)V", !on);
|
|
|
});
|
|
|
+#elif defined(VCMI_IOS)
|
|
|
+ iOS_utils::setScreensaverEnabled(!on);
|
|
|
#endif
|
|
|
}
|
|
|
}
|