diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/AndroidManifest.xml
index f207f20d405..5edbcfad66e 100644
--- a/forge-gui-android/AndroidManifest.xml
+++ b/forge-gui-android/AndroidManifest.xml
@@ -7,8 +7,7 @@
-
-
+
diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java
index b9d26086c2b..66728960885 100644
--- a/forge-gui-android/src/forge/app/Main.java
+++ b/forge-gui-android/src/forge/app/Main.java
@@ -17,13 +17,10 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.PowerManager;
-import android.provider.Settings;
-import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import android.view.WindowManager;
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.model.FModel;
@@ -37,7 +34,6 @@ import java.io.OutputStream;
import java.util.concurrent.Callable;
public class Main extends AndroidApplication {
- public int time = -2;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -239,17 +235,16 @@ public class Main extends AndroidApplication {
@Override
public void preventSystemSleep(final boolean preventSleep) {
- if (time == -2)
- time = Settings.System.getInt(getContentResolver(), SCREEN_OFF_TIMEOUT, 0);
- FThreads.invokeInEdtNowOrLater(new Runnable() { //must set window flags from EDT thread
+ // Setting getWindow() Flags needs to run on UI thread.
+ // Should fix android.view.ViewRoot$CalledFromWrongThreadException:
+ // Only the original thread that created a view hierarchy can touch its views.
+ runOnUiThread(new Runnable() {
@Override
public void run() {
if (preventSleep) {
- Settings.System.putInt(getContentResolver(), SCREEN_OFF_TIMEOUT, Integer.MAX_VALUE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
else {
- Settings.System.putInt(getContentResolver(), SCREEN_OFF_TIMEOUT, time);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}