fix downloader

This commit is contained in:
Anthony Calosa
2021-04-06 19:21:45 +08:00
parent e629877984
commit d6a0b92f1e
2 changed files with 15 additions and 10 deletions

View File

@@ -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

View File

@@ -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