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.backends.android.AndroidApplication;
import forge.FThreads;
import forge.Forge;
import forge.interfaces.IDeviceAdapter;
import forge.util.FileUtil;
@@ -213,7 +214,10 @@ public class Main extends AndroidApplication {
}
@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) {
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);
}
}
});
}
}
}