Ensure window flags only set on EDT thread

This commit is contained in:
drdev
2016-04-17 22:09:26 +00:00
parent 3681ec0aa9
commit 56c5c704a8

View File

@@ -23,6 +23,7 @@ import android.webkit.MimeTypeMap;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.android.AndroidApplication; import com.badlogic.gdx.backends.android.AndroidApplication;
import forge.FThreads;
import forge.Forge; import forge.Forge;
import forge.interfaces.IDeviceAdapter; import forge.interfaces.IDeviceAdapter;
import forge.util.FileUtil; import forge.util.FileUtil;
@@ -213,7 +214,10 @@ public class Main extends AndroidApplication {
} }
@Override @Override
public void preventSystemSleep(boolean preventSleep) { public void preventSystemSleep(final boolean preventSleep) {
FThreads.invokeInEdtNowOrLater(new Runnable() { //must set window flags from EDT thread
@Override
public void run() {
if (preventSleep) { if (preventSleep) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
} }
@@ -221,5 +225,7 @@ public class Main extends AndroidApplication {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
} }
} }
});
}
} }
} }