From 87db1a897187dfed7d02ce1aa1cce432fa068752 Mon Sep 17 00:00:00 2001 From: volzhs Date: Tue, 15 Jan 2019 22:06:44 +0900 Subject: [PATCH] Fix Android keep screen on working properly --- .../java/src/org/godotengine/godot/Godot.java | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index 8041c5f97e1..a10d7876f49 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -119,7 +119,6 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC private boolean use_debug_opengl = false; private boolean mStatePaused; private int mState; - private boolean keep_screen_on = true; static private Intent mCurrentIntent; @@ -297,31 +296,26 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC }); final String[] current_command_line = command_line; - final GodotView view = mView; mView.queueEvent(new Runnable() { @Override public void run() { GodotLib.setup(current_command_line); - runOnUiThread(new Runnable() { - @Override - public void run() { - view.setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on"))); - } - }); + setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on"))); } }); } public void setKeepScreenOn(final boolean p_enabled) { - keep_screen_on = p_enabled; - if (mView != null) { - runOnUiThread(new Runnable() { - @Override - public void run() { - mView.setKeepScreenOn(p_enabled); + runOnUiThread(new Runnable() { + @Override + public void run() { + if (p_enabled) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } - }); - } + } + }); } public void alert(final String message, final String title) {