diff options
author | volzhs <volzhs@gmail.com> | 2019-01-15 22:06:44 +0900 |
---|---|---|
committer | volzhs <volzhs@gmail.com> | 2019-01-15 22:06:44 +0900 |
commit | 87db1a897187dfed7d02ce1aa1cce432fa068752 (patch) | |
tree | 71a29bc14b87c0ee604090c446b7941566782762 /platform | |
parent | 9ed34d44238d130f5c7d999bb7265e7c0e906567 (diff) |
Fix Android keep screen on working properly
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/java/src/org/godotengine/godot/Godot.java | 26 |
1 files 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 8041c5f97e..a10d7876f4 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) { |