From bfbc4613b91929c503654f413a6f6e805a7cc5f8 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Sat, 16 Jun 2018 19:01:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E6=B7=BB=E5=8A=A0authlib-injector?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=9A=84=E8=BF=87=E7=A8=8B=E4=B8=AD?= =?UTF-8?q?=EF=BC=8C=E4=BC=A0=E9=80=92AuthlibInjectorServerInfo=E8=80=8C?= =?UTF-8?q?=E4=B8=8D=E6=98=AFurl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmcl/ui/AuthlibInjectorServersPage.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java index dd5e20352..259635755 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/AuthlibInjectorServersPage.java @@ -47,6 +47,8 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa private final TransitionHandler transitionHandler; + private AuthlibInjectorServerInfo serverBeingAdded; + { FXUtils.loadFXML(this, "/assets/fxml/authlib-injector-servers.fxml"); FXUtils.smoothScrolling(scrollPane); @@ -110,26 +112,28 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa @FXML private void onAddNext() { - String serverIp = txtServerIp.getText(); + String url = fixInputUrl(txtServerIp.getText()); + progressBar.setVisible(true); addServerPane.setDisable(true); - Task.ofResult("serverName", () -> Accounts.getAuthlibInjectorServerName(serverIp)) - .finalized(Schedulers.javafx(), (variables, isDependentsSucceeded) -> { - progressBar.setVisible(false); - addServerPane.setDisable(false); + Task.of(() -> { + serverBeingAdded = new AuthlibInjectorServerInfo(url, Accounts.getAuthlibInjectorServerName(url)); + }).finalized(Schedulers.javafx(), (variables, isDependentsSucceeded) -> { + progressBar.setVisible(false); + addServerPane.setDisable(false); - if (isDependentsSucceeded) { - lblServerName.setText(variables.get("serverName")); - lblServerIp.setText(txtServerIp.getText()); + if (isDependentsSucceeded) { + lblServerName.setText(serverBeingAdded.getServerName()); + lblServerIp.setText(serverBeingAdded.getServerIp()); - lblServerWarning.setVisible("http".equals(NetworkUtils.toURL(serverIp).getProtocol())); - - transitionHandler.setContent(confirmServerPane, ContainerAnimations.SWIPE_LEFT.getAnimationProducer()); - } else - lblCreationWarning.setText(variables.get("lastException").getLocalizedMessage()); - }).start(); + lblServerWarning.setVisible("http".equals(NetworkUtils.toURL(serverBeingAdded.getServerIp()).getProtocol())); + transitionHandler.setContent(confirmServerPane, ContainerAnimations.SWIPE_LEFT.getAnimationProducer()); + } else { + lblCreationWarning.setText(variables.get("lastException").getLocalizedMessage()); + } + }).start(); } @@ -140,10 +144,7 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa @FXML private void onAddFinish() { - String ip = txtServerIp.getText(); - if (!ip.endsWith("/")) - ip += "/"; - Settings.INSTANCE.addAuthlibInjectorServerURL(ip); + Settings.INSTANCE.addAuthlibInjectorServerURL(serverBeingAdded.getServerIp()); loading(); dialog.close(); } @@ -160,4 +161,11 @@ public class AuthlibInjectorServersPage extends StackPane implements DecoratorPa public void setTitle(String title) { this.title.set(title); } + + private String fixInputUrl(String url) { + if (!url.endsWith("/")) { + url += "/"; + } + return url; + } }