diff --git a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java index 7780b68b0d6..55ace16754b 100644 --- a/forge-gui-mobile/src/forge/assets/AssetsDownloader.java +++ b/forge-gui-mobile/src/forge/assets/AssetsDownloader.java @@ -133,21 +133,21 @@ public class AssetsDownloader { } switch (SOptionPane.showOptionDialog(message, "", null, options)) { - case 1: - if (!canIgnoreDownload) { - Forge.exit(true); //exit if can't ignore download - } - return; - case 2: - Forge.exit(true); - return; + case 1: + if (!canIgnoreDownload) { + Forge.exit(true); //exit if can't ignore download + } + return; + case 2: + Forge.exit(true); + return; } //android 11 SAF causes some issues, so skip deleting the res folder. res folder should be original and custom cards shouldn't be loaded from res folder boolean allowDeletion = Forge.androidVersion < 30; new GuiDownloadZipService("", "resource files", "https://releases.cardforge.org/forge/forge-gui-android/" + Forge.CURRENT_VERSION + "/" + "assets.zip", - ForgeConstants.ASSETS_DIR, allowDeletion ? ForgeConstants.RES_DIR : null, splashScreen.getProgressBar()).downloadAndUnzip(); + ForgeConstants.ASSETS_DIR, ForgeConstants.RES_DIR, splashScreen.getProgressBar(), allowDeletion).downloadAndUnzip(); if (allowDeletion) FSkinFont.deleteCachedFiles(); //delete cached font files in case any skin's .ttf file changed diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java index 411bc63460c..e4360268015 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadZipService.java @@ -26,14 +26,19 @@ import forge.util.FileUtil; public class GuiDownloadZipService extends GuiDownloadService { private final String name, desc, sourceUrl, destFolder, deleteFolder; private int filesExtracted; + private boolean allowDeletion; public GuiDownloadZipService(final String name0, final String desc0, final String sourceUrl0, final String destFolder0, final String deleteFolder0, final IProgressBar progressBar0) { + this(name0, desc0, sourceUrl0, destFolder0, deleteFolder0, progressBar0,true); + } + public GuiDownloadZipService(final String name0, final String desc0, final String sourceUrl0, final String destFolder0, final String deleteFolder0, final IProgressBar progressBar0, final boolean allowDeletion0) { name = name0; desc = desc0; sourceUrl = sourceUrl0; destFolder = destFolder0; deleteFolder = deleteFolder0; progressBar = progressBar0; + allowDeletion = allowDeletion0; } @Override @@ -151,7 +156,7 @@ public class GuiDownloadZipService extends GuiDownloadService { try { GuiBase.getInterface().preventSystemSleep(true); //prevent system from going into sleep mode while unzipping - if (deleteFolder != null) { + if (deleteFolder != null && allowDeletion) { final File deleteDir = new File(deleteFolder); if (deleteDir.exists()) { //attempt to delete previous res directory if to be rebuilt