Change download directory for apk file

This commit is contained in:
drdev
2014-08-23 19:19:39 +00:00
parent f9ce33310b
commit cc8e3f41f6
7 changed files with 36 additions and 25 deletions

2
.gitattributes vendored
View File

@@ -16678,8 +16678,8 @@ forge-gui/src/main/java/forge/gauntlet/GauntletWinLoseController.java -text
forge-gui/src/main/java/forge/interfaces/IButton.java -text forge-gui/src/main/java/forge/interfaces/IButton.java -text
forge-gui/src/main/java/forge/interfaces/ICheckBox.java -text forge-gui/src/main/java/forge/interfaces/ICheckBox.java -text
forge-gui/src/main/java/forge/interfaces/IComboBox.java -text forge-gui/src/main/java/forge/interfaces/IComboBox.java -text
forge-gui/src/main/java/forge/interfaces/IDeviceAdapter.java -text
forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text forge-gui/src/main/java/forge/interfaces/IGuiBase.java -text
forge-gui/src/main/java/forge/interfaces/INetworkConnection.java -text
forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text forge-gui/src/main/java/forge/interfaces/IProgressBar.java -text
forge-gui/src/main/java/forge/interfaces/ITextField.java -text forge-gui/src/main/java/forge/interfaces/ITextField.java -text
forge-gui/src/main/java/forge/interfaces/IWinLoseView.java -text forge-gui/src/main/java/forge/interfaces/IWinLoseView.java -text

View File

@@ -19,7 +19,7 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.android.AndroidApplication; import com.badlogic.gdx.backends.android.AndroidApplication;
import forge.Forge; import forge.Forge;
import forge.interfaces.INetworkConnection; import forge.interfaces.IDeviceAdapter;
import forge.util.Callback; import forge.util.Callback;
import forge.util.FileUtil; import forge.util.FileUtil;
@@ -47,7 +47,7 @@ public class Main extends AndroidApplication {
return; return;
} }
initialize(Forge.getApp(new AndroidClipboard(), new AndroidNetworkConnection(), initialize(Forge.getApp(new AndroidClipboard(), new AndroidAdapter(),
assetsDir, new Callback<String>() { assetsDir, new Callback<String>() {
@Override @Override
public void run(String runOnExit) { public void run(String runOnExit) {
@@ -99,11 +99,11 @@ public class Main extends AndroidApplication {
} }
} }
private class AndroidNetworkConnection implements INetworkConnection { private class AndroidAdapter implements IDeviceAdapter {
private final ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); private final ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
@Override @Override
public boolean isConnected() { public boolean isConnectedToInternet() {
NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo(); NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected(); return activeNetworkInfo != null && activeNetworkInfo.isConnected();
} }
@@ -113,5 +113,10 @@ public class Main extends AndroidApplication {
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return wifi.isConnected(); return wifi.isConnected();
} }
@Override
public String getDownloadsDir() {
return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/";
}
} }
} }

View File

@@ -5,7 +5,7 @@ import com.badlogic.gdx.backends.lwjgl.LwjglClipboard;
import forge.Forge; import forge.Forge;
import forge.assets.AssetsDownloader; import forge.assets.AssetsDownloader;
import forge.interfaces.INetworkConnection; import forge.interfaces.IDeviceAdapter;
import forge.util.FileUtil; import forge.util.FileUtil;
import forge.util.Utils; import forge.util.Utils;
@@ -16,14 +16,14 @@ public class Main {
FileUtil.ensureDirectoryExists(assetsDir); FileUtil.ensureDirectoryExists(assetsDir);
} }
new LwjglApplication(Forge.getApp(new LwjglClipboard(), new DesktopNetworkConnection(), new LwjglApplication(Forge.getApp(new LwjglClipboard(), new DesktopAdapter(),
assetsDir, null), "Forge", Utils.DEV_SCREEN_WIDTH, Utils.DEV_SCREEN_HEIGHT); assetsDir, null), "Forge", Utils.DEV_SCREEN_WIDTH, Utils.DEV_SCREEN_HEIGHT);
} }
private static class DesktopNetworkConnection implements INetworkConnection { private static class DesktopAdapter implements IDeviceAdapter {
//just assume desktop always connected to wifi //just assume desktop always connected to wifi
@Override @Override
public boolean isConnected() { public boolean isConnectedToInternet() {
return true; return true;
} }
@@ -31,5 +31,10 @@ public class Main {
public boolean isConnectedToWifi() { public boolean isConnectedToWifi() {
return true; return true;
} }
@Override
public String getDownloadsDir() {
return System.getProperty("user.home") + "/Downloads/";
}
} }
} }

View File

@@ -16,7 +16,7 @@ import forge.assets.FSkinFont;
import forge.assets.ImageCache; import forge.assets.ImageCache;
import forge.error.BugReporter; import forge.error.BugReporter;
import forge.error.ExceptionHandler; import forge.error.ExceptionHandler;
import forge.interfaces.INetworkConnection; import forge.interfaces.IDeviceAdapter;
import forge.model.FModel; import forge.model.FModel;
import forge.properties.ForgeConstants; import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences; import forge.properties.ForgePreferences;
@@ -41,7 +41,7 @@ public class Forge implements ApplicationListener {
private static final ApplicationListener app = new Forge(); private static final ApplicationListener app = new Forge();
private static Clipboard clipboard; private static Clipboard clipboard;
private static INetworkConnection networkConnection; private static IDeviceAdapter deviceAdapter;
private static Callback<String> onExit; private static Callback<String> onExit;
private static int screenWidth; private static int screenWidth;
private static int screenHeight; private static int screenHeight;
@@ -54,10 +54,10 @@ public class Forge implements ApplicationListener {
private static final SoundSystem soundSystem = new SoundSystem(); private static final SoundSystem soundSystem = new SoundSystem();
private static final Stack<FScreen> screens = new Stack<FScreen>(); private static final Stack<FScreen> screens = new Stack<FScreen>();
public static ApplicationListener getApp(Clipboard clipboard0, INetworkConnection networkConnection0, String assetDir0, Callback<String> onExit0) { public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, Callback<String> onExit0) {
if (GuiBase.getInterface() == null) { if (GuiBase.getInterface() == null) {
clipboard = clipboard0; clipboard = clipboard0;
networkConnection = networkConnection0; deviceAdapter = deviceAdapter0;
onExit = onExit0; onExit = onExit0;
GuiBase.setInterface(new GuiMobile(assetDir0)); GuiBase.setInterface(new GuiMobile(assetDir0));
} }
@@ -127,8 +127,8 @@ public class Forge implements ApplicationListener {
return clipboard; return clipboard;
} }
public static INetworkConnection getNetworkConnection() { public static IDeviceAdapter getDeviceAdapter() {
return networkConnection; return deviceAdapter;
} }
public static void showMenu() { public static void showMenu() {

View File

@@ -37,7 +37,7 @@ public class AssetsDownloader {
splashScreen.getProgressBar().setDescription("Checking for updates..."); splashScreen.getProgressBar().setDescription("Checking for updates...");
String message; String message;
boolean connectedToInternet = Forge.getNetworkConnection().isConnected(); boolean connectedToInternet = Forge.getDeviceAdapter().isConnectedToInternet();
if (connectedToInternet) { if (connectedToInternet) {
try { try {
URL versionUrl = new URL("http://cardforge.org/android/releases/forge/forge-gui-android/version.txt"); URL versionUrl = new URL("http://cardforge.org/android/releases/forge/forge-gui-android/version.txt");
@@ -48,13 +48,13 @@ public class AssetsDownloader {
message = "A new version of Forge is available (" + version + ").\n" + message = "A new version of Forge is available (" + version + ").\n" +
"You are currently on an older version (" + Forge.CURRENT_VERSION + ").\n\n" + "You are currently on an older version (" + Forge.CURRENT_VERSION + ").\n\n" +
"Would you like to update to the new version now?"; "Would you like to update to the new version now?";
if (!Forge.getNetworkConnection().isConnectedToWifi()) { if (!Forge.getDeviceAdapter().isConnectedToWifi()) {
message += " If so, you may want to connect to wifi first. The download is around 6.5MB."; message += " If so, you may want to connect to wifi first. The download is around 6.5MB.";
} }
if (SOptionPane.showConfirmDialog(message, "New Version Available", "Update Now", "Update Later")) { if (SOptionPane.showConfirmDialog(message, "New Version Available", "Update Now", "Update Later")) {
String apkFile = downloadFile("update", "forge-android-" + version + "-signed-aligned.apk", String apkFile = downloadFile("update", "forge-android-" + version + "-signed-aligned.apk",
"http://cardforge.org/android/releases/forge/forge-gui-android/" + version + "/", "http://cardforge.org/android/releases/forge/forge-gui-android/" + version + "/",
ForgeConstants.ASSETS_DIR, splashScreen.getProgressBar()); Forge.getDeviceAdapter().getDownloadsDir(), splashScreen.getProgressBar());
if (apkFile != null) { if (apkFile != null) {
Forge.exit(true, apkFile); Forge.exit(true, apkFile);
return; return;
@@ -107,7 +107,7 @@ public class AssetsDownloader {
//prompt user whether they wish to download the updated resource files //prompt user whether they wish to download the updated resource files
message = "There are updated resource files to download. " + message = "There are updated resource files to download. " +
"This download is around 80MB, "; "This download is around 80MB, ";
if (Forge.getNetworkConnection().isConnectedToWifi()) { if (Forge.getDeviceAdapter().isConnectedToWifi()) {
message += "which shouldn't take long if your wifi connection is good."; message += "which shouldn't take long if your wifi connection is good.";
} }
else { else {

View File

@@ -0,0 +1,7 @@
package forge.interfaces;
public interface IDeviceAdapter {
boolean isConnectedToInternet();
boolean isConnectedToWifi();
String getDownloadsDir();
}

View File

@@ -1,6 +0,0 @@
package forge.interfaces;
public interface INetworkConnection {
boolean isConnected();
boolean isConnectedToWifi();
}