From 12b47e7d51299e080e44ab66444c4510f4d08553 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Tue, 12 Feb 2019 21:30:45 +0800 Subject: [PATCH] Better prompt of LibraryDownloadException --- .../hmcl/ui/download/ModpackInstallWizardProvider.java | 3 +++ .../hmcl/ui/download/VanillaInstallWizardProvider.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java index 09d9f7331..a06c75813 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java @@ -18,6 +18,7 @@ package org.jackhuang.hmcl.ui.download; import javafx.scene.Node; +import org.jackhuang.hmcl.download.game.LibraryDownloadException; import org.jackhuang.hmcl.game.ModpackHelper; import org.jackhuang.hmcl.mod.CurseCompletionException; import org.jackhuang.hmcl.mod.MismatchedModpackTypeException; @@ -111,6 +112,8 @@ public class ModpackInstallWizardProvider implements WizardProvider { } else { Controllers.dialog(i18n("modpack.type.curse.tolerable_error"), i18n("install.success"), MessageBox.INFORMATION_MESSAGE, next); } + } else if (exception instanceof LibraryDownloadException) { + Controllers.dialog(i18n("launch.failed.download_library", ((LibraryDownloadException) exception).getLibrary().getName()) + "\n" + StringUtils.getStackTrace(exception.getCause()), i18n("install.failed.downloading"), MessageBox.ERROR_MESSAGE, next); } else if (exception instanceof DownloadException) { Controllers.dialog(StringUtils.getStackTrace(exception), i18n("install.failed.downloading"), MessageBox.ERROR_MESSAGE, next); } else { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VanillaInstallWizardProvider.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VanillaInstallWizardProvider.java index 58227a22a..b0105819d 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VanillaInstallWizardProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VanillaInstallWizardProvider.java @@ -21,6 +21,7 @@ import javafx.scene.Node; import org.jackhuang.hmcl.download.DownloadProvider; import org.jackhuang.hmcl.download.GameBuilder; import org.jackhuang.hmcl.download.RemoteVersion; +import org.jackhuang.hmcl.download.game.LibraryDownloadException; import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.task.DownloadException; import org.jackhuang.hmcl.task.Schedulers; @@ -73,7 +74,9 @@ public final class VanillaInstallWizardProvider implements WizardProvider { settings.put("failure_callback", new FailureCallback() { @Override public void onFail(Map settings, Exception exception, Runnable next) { - if (exception instanceof DownloadException) { + if (exception instanceof LibraryDownloadException) { + Controllers.dialog(i18n("launch.failed.download_library", ((LibraryDownloadException) exception).getLibrary().getName()) + "\n" + StringUtils.getStackTrace(exception.getCause()), i18n("install.failed.downloading"), MessageBox.ERROR_MESSAGE, next); + } else if (exception instanceof DownloadException) { Controllers.dialog(StringUtils.getStackTrace(exception), i18n("install.failed.downloading"), MessageBox.ERROR_MESSAGE, next); } else { Controllers.dialog(StringUtils.getStackTrace(exception), i18n("install.failed"), MessageBox.ERROR_MESSAGE, next);