From 56c5c704a87b9382e1893b38aa937197284321c5 Mon Sep 17 00:00:00 2001 From: drdev Date: Sun, 17 Apr 2016 22:09:26 +0000 Subject: [PATCH] Ensure window flags only set on EDT thread --- forge-gui-android/src/forge/app/Main.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index e37e94427fe..68caf095480 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -23,6 +23,7 @@ import android.webkit.MimeTypeMap; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.backends.android.AndroidApplication; +import forge.FThreads; import forge.Forge; import forge.interfaces.IDeviceAdapter; import forge.util.FileUtil; @@ -213,13 +214,18 @@ public class Main extends AndroidApplication { } @Override - public void preventSystemSleep(boolean preventSleep) { - if (preventSleep) { - getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - } - else { - getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - } + public void preventSystemSleep(final boolean preventSleep) { + FThreads.invokeInEdtNowOrLater(new Runnable() { //must set window flags from EDT thread + @Override + public void run() { + if (preventSleep) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } + } + }); } } }