diff --git a/forge-core/src/main/java/forge/util/FileUtil.java b/forge-core/src/main/java/forge/util/FileUtil.java index 83ae71f9d48..3707564b5d7 100644 --- a/forge-core/src/main/java/forge/util/FileUtil.java +++ b/forge-core/src/main/java/forge/util/FileUtil.java @@ -80,6 +80,17 @@ public final class FileUtil { return (dir.exists() && dir.isDirectory()) || dir.mkdirs(); } + public static boolean deleteDirectory(File dir) { + if (dir.isDirectory()) { + for (String filename : dir.list()) { + if (!deleteDirectory(new File(dir, filename))) { + return false; + } + } + } + return dir.delete(); + } + /** *

* writeFile. diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/AndroidManifest.xml index dc10e30a132..261dd3db876 100644 --- a/forge-gui-android/AndroidManifest.xml +++ b/forge-gui-android/AndroidManifest.xml @@ -8,7 +8,8 @@ android:minSdkVersion="8" android:targetSdkVersion="19" /> - + + entries = zipFile.entries(); + progressBar.reset(); + progressBar.setPercentMode(true); + progressBar.setDescription("Unzipping resource files"); + progressBar.setMaximum(zipFile.size()); + + int count = 0; while (entries.hasMoreElements()) { ZipEntry entry = (ZipEntry)entries.nextElement(); String path = ForgeConstants.ASSETS_DIR + entry.getName(); if (entry.isDirectory()) { new File(path).mkdir(); + progressBar.setValue(++count); continue; } copyInputStream(zipFile.getInputStream(entry), new BufferedOutputStream(new FileOutputStream(path))); + progressBar.setValue(++count); } zipFile.close(); - fileDest.delete(); + new File(destFile).delete(); } catch (Exception e) { - // TODO Auto-generated catch block e.printStackTrace(); } } diff --git a/forge-gui-mobile/src/forge/assets/FSkin.java b/forge-gui-mobile/src/forge/assets/FSkin.java index 1681fb5ac87..1b716763de0 100644 --- a/forge-gui-mobile/src/forge/assets/FSkin.java +++ b/forge-gui-mobile/src/forge/assets/FSkin.java @@ -284,9 +284,9 @@ public class FSkin { //if skins directory doesn't exists, create a minimum directory containing skin files for the splash screen FileUtil.ensureDirectoryExists(ForgeConstants.DEFAULT_SKINS_DIR); final FileHandle defaultDir = Gdx.files.absolute(ForgeConstants.DEFAULT_SKINS_DIR); - Gdx.files.internal("bg_splash.png").copyTo(defaultDir.child("bg_splash.png")); - Gdx.files.internal("bg_texture.jpg").copyTo(defaultDir.child("bg_texture.jpg")); - Gdx.files.internal("font1.ttf").copyTo(defaultDir.child("font1.ttf")); + Gdx.files.internal(ForgeConstants.SPLASH_BG_FILE).copyTo(defaultDir.child(ForgeConstants.SPLASH_BG_FILE)); + Gdx.files.internal(ForgeConstants.TEXTURE_BG_FILE).copyTo(defaultDir.child(ForgeConstants.TEXTURE_BG_FILE)); + Gdx.files.internal(ForgeConstants.FONT_FILE).copyTo(defaultDir.child(ForgeConstants.FONT_FILE)); mySkins.add("default"); needReloadAfterAssetsDownloaded = true; //flag that skins need to be reloaded after assets downloaded } diff --git a/forge-gui-mobile/src/forge/error/BugReportDialog.java b/forge-gui-mobile/src/forge/error/BugReportDialog.java index 6f23fa026b8..44328d083f1 100644 --- a/forge-gui-mobile/src/forge/error/BugReportDialog.java +++ b/forge-gui-mobile/src/forge/error/BugReportDialog.java @@ -17,7 +17,7 @@ public class BugReportDialog extends FOptionPane { private static boolean dialogShown; public static void show(String title, String text, boolean showExitAppBtn) { - if (dialogShown) { return; } + if (dialogShown || Forge.getCurrentScreen() == null) { return; } //don't allow showing if Forge not finished initializing yet dialogShown = true; BugReportDialog dialog = new BugReportDialog(title, text, showExitAppBtn); diff --git a/forge-gui/src/main/java/forge/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/download/GuiDownloadService.java index b81f9dac86e..8133a9d5ecf 100644 --- a/forge-gui/src/main/java/forge/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/download/GuiDownloadService.java @@ -249,7 +249,7 @@ public abstract class GuiDownloadService implements Runnable { conn.setInstanceFollowRedirects(false); conn.connect(); - if (conn.getResponseCode() != 200) { + if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) { conn.disconnect(); System.out.println("Skipped Download for: " + fileDest.getPath()); update(++iCard, fileDest);