From 3ed6e38ad3888e53d47a27df7afebd297754444f Mon Sep 17 00:00:00 2001 From: "Cato : Love the world and myself" Date: Sat, 24 Sep 2022 16:56:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9C=89=E6=95=88=E6=9C=9Fge?= =?UTF-8?q?tValidAt=20#1727=20(#1732)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 界面标题描述纠正 * 新增有效期getValidAt #1727 * fix err * fix-err-again * fix-err * fix * fix-4 * rename * fix * fix * code clean --- .../ui/multiplayer/MultiplayerManager.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerManager.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerManager.java index b3ed499cd..6830132b8 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerManager.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/multiplayer/MultiplayerManager.java @@ -215,6 +215,7 @@ public final class MultiplayerManager { public static class HiperSession extends ManagedProcess { private final EventManager onExit = new EventManager<>(); private final EventManager onIPAllocated = new EventManager<>(); + private final EventManager onValidAt = new EventManager<>(); private final BufferedWriter writer; private int error = 0; @@ -251,6 +252,10 @@ public final class MultiplayerManager { if (msg.contains("Failed to load certificate from config")) { error = HiperExitEvent.FAILED_LOAD_CONFIG; } + if (msg.contains("Validity of client certificate")) { + Optional validAt = tryCast(logJson.get("valid"), String.class); + validAt.ifPresent(s -> onValidAt.fireEvent(new HiperShowValidAtEvent(this, s))); + } } if (logJson.containsKey("network")) { @@ -295,6 +300,10 @@ public final class MultiplayerManager { return onIPAllocated; } + public EventManager onValidAt() { + return onValidAt; + } + } public static class HiperExitEvent extends Event { @@ -329,6 +338,19 @@ public final class MultiplayerManager { } } + public static class HiperShowValidAtEvent extends Event { + private final String validAt; + + public HiperShowValidAtEvent(Object source, String validAt) { + super(source); + this.validAt = validAt; + } + + public String getValidAt() { + return validAt; + } + } + public static class HiperExitException extends RuntimeException { private final int exitCode; private final boolean ready;