mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Support keeping system awake while downloading anything
This commit is contained in:
@@ -17,6 +17,7 @@ import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.view.WindowManager;
|
||||
import android.webkit.MimeTypeMap;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
@@ -210,5 +211,15 @@ public class Main extends AndroidApplication {
|
||||
FileUtil.deleteFile(switchOrientationFile);
|
||||
}
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,4 +283,9 @@ public class GuiDesktop implements IGuiBase {
|
||||
public String encodeSymbols(String str, boolean formatReminderText) {
|
||||
return FSkin.encodeSymbols(str, formatReminderText);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preventSystemSleep(boolean preventSleep) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,11 @@ public class Main extends IOSApplication.Delegate {
|
||||
// TODO implement this
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preventSystemSleep(boolean preventSleep) {
|
||||
// TODO implement this
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTablet() {
|
||||
return Gdx.graphics.getWidth() > Gdx.graphics.getHeight();
|
||||
|
||||
@@ -93,5 +93,11 @@ public class Main {
|
||||
FileUtil.deleteFile(switchOrientationFile);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preventSystemSleep(boolean preventSleep) {
|
||||
int k = 1;
|
||||
k++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -290,4 +290,9 @@ public class GuiMobile implements IGuiBase {
|
||||
public String encodeSymbols(String str, boolean formatReminderText) {
|
||||
return str; //not needed for mobile
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preventSystemSleep(boolean preventSleep) {
|
||||
Forge.getDeviceAdapter().preventSystemSleep(preventSleep);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,6 +227,7 @@ public abstract class GuiDownloadService implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
GuiBase.getInterface().preventSystemSleep(true); //prevent system from going into sleep mode while downloading
|
||||
|
||||
Proxy p = getProxy();
|
||||
|
||||
@@ -294,8 +295,9 @@ public abstract class GuiDownloadService implements Runnable {
|
||||
}
|
||||
|
||||
update(++iCard, fileDest);
|
||||
|
||||
}
|
||||
|
||||
GuiBase.getInterface().preventSystemSleep(false);
|
||||
}
|
||||
|
||||
protected Proxy getProxy() {
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.esotericsoftware.minlog.Log;
|
||||
import com.google.common.io.Files;
|
||||
|
||||
import forge.FThreads;
|
||||
import forge.GuiBase;
|
||||
import forge.interfaces.IProgressBar;
|
||||
import forge.util.FileUtil;
|
||||
|
||||
@@ -73,6 +74,8 @@ public class GuiDownloadZipService extends GuiDownloadService {
|
||||
|
||||
//if assets.zip downloaded successfully, unzip into destination folder
|
||||
try {
|
||||
GuiBase.getInterface().preventSystemSleep(true); //prevent system from going into sleep mode while unzipping
|
||||
|
||||
if (deleteFolder != null) {
|
||||
final File deleteDir = new File(deleteFolder);
|
||||
if (deleteDir.exists()) {
|
||||
@@ -132,9 +135,14 @@ public class GuiDownloadZipService extends GuiDownloadService {
|
||||
catch (final Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally {
|
||||
GuiBase.getInterface().preventSystemSleep(false);
|
||||
}
|
||||
}
|
||||
|
||||
public String download(final String filename) {
|
||||
GuiBase.getInterface().preventSystemSleep(true); //prevent system from going into sleep mode while downloading
|
||||
|
||||
progressBar.reset();
|
||||
progressBar.setPercentMode(true);
|
||||
progressBar.setDescription("Downloading " + desc);
|
||||
@@ -194,8 +202,11 @@ public class GuiDownloadZipService extends GuiDownloadService {
|
||||
}
|
||||
catch (final Exception ex) {
|
||||
Log.error("Downloading " + desc, "Error downloading " + desc, ex);
|
||||
return null;
|
||||
}
|
||||
finally {
|
||||
GuiBase.getInterface().preventSystemSleep(false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void copyInputStream(final InputStream in, final String outPath) throws IOException{
|
||||
|
||||
@@ -7,6 +7,7 @@ public interface IDeviceAdapter {
|
||||
String getDownloadsDir();
|
||||
boolean openFile(String filename);
|
||||
void setLandscapeMode(boolean landscapeMode);
|
||||
void preventSystemSleep(boolean preventSleep);
|
||||
void restart();
|
||||
void exit();
|
||||
}
|
||||
|
||||
@@ -53,4 +53,5 @@ public interface IGuiBase {
|
||||
HostedMatch hostMatch();
|
||||
void runBackgroundTask(String message, Runnable task);
|
||||
String encodeSymbols(String str, boolean formatReminderText);
|
||||
void preventSystemSleep(boolean preventSleep);
|
||||
}
|
||||
Reference in New Issue
Block a user