From 9d63eac89a92771796a50430ee9e26b6c6c4f25e Mon Sep 17 00:00:00 2001 From: kevlahnota Date: Sat, 24 Aug 2019 18:14:35 +0800 Subject: [PATCH 1/2] WIP: Partial fix on preventsleep when downloading resource. --- forge-gui-android/AndroidManifest.xml | 1 + forge-gui-android/src/forge/app/Main.java | 8 ++++++++ .../src/main/java/forge/download/GuiDownloadService.java | 4 +++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/AndroidManifest.xml index 6608bb88ce6..3a2caefad6a 100644 --- a/forge-gui-android/AndroidManifest.xml +++ b/forge-gui-android/AndroidManifest.xml @@ -7,6 +7,7 @@ + diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index bf4c73e0e4f..b9d26086c2b 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -17,6 +17,8 @@ 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; @@ -35,6 +37,8 @@ import java.io.OutputStream; import java.util.concurrent.Callable; public class Main extends AndroidApplication { + public int time = -2; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -235,13 +239,17 @@ 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 @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); } } diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/download/GuiDownloadService.java index 04d31f77fd8..b6e308b55bc 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadService.java @@ -255,7 +255,9 @@ public abstract class GuiDownloadService implements Runnable { byte[] buffer = new byte[1024]; for (Entry kv : files.entrySet()) { - if (cancel) { break; } + if (cancel) {//stop prevent sleep + GuiBase.getInterface().preventSystemSleep(false); + break; } count++; cardSkipped = true; //assume skipped unless saved successfully From 035bf811500047a82887a703d32015ad32d2ca29 Mon Sep 17 00:00:00 2001 From: kevlahnota Date: Sun, 25 Aug 2019 11:24:54 +0800 Subject: [PATCH 2/2] Prevent rendering issues --- forge-gui-android/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/AndroidManifest.xml index 3a2caefad6a..3b743c30f49 100644 --- a/forge-gui-android/AndroidManifest.xml +++ b/forge-gui-android/AndroidManifest.xml @@ -15,14 +15,14 @@ + android:label="@string/app_name" + android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout">