Skip to content

Commit d63829c

Browse files
author
CalbootOnceMore
authored
[Chore] upgrade.RemoteVersion 转换为记录类 (#6029)
1 parent 34359a7 commit d63829c

6 files changed

Lines changed: 18 additions & 62 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/ui/UpgradeDialog.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ public UpgradeDialog(RemoteVersion remoteVersion, Runnable updateRunnable) {
5050
setHeading(new Label(i18n("update.changelog")));
5151
setBody(new JFXSpinner());
5252

53-
String url = CHANGELOG_URL + remoteVersion.getChannel().channelName + ".html";
53+
String url = CHANGELOG_URL + remoteVersion.channel().channelName + ".html";
5454

5555
Task.supplyAsync(Schedulers.io(), () -> {
56-
VersionNumber targetVersion = VersionNumber.asVersion(remoteVersion.getVersion());
56+
VersionNumber targetVersion = VersionNumber.asVersion(remoteVersion.version());
5757
VersionNumber currentVersion = VersionNumber.asVersion(Metadata.VERSION);
5858
if (targetVersion.compareTo(currentVersion) <= 0)
5959
// Downgrade update, no need to display changelog

HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ public final class MainPage extends StackPane implements DecoratorPage {
185185
prompt.setSubtitle(i18n("update.bubble.subtitle"));
186186
prompt.setPickOnBounds(false);
187187
prompt.titleProperty().bind(BindingMapping.of(latestVersionProperty()).map(latestVersion ->
188-
latestVersion == null ? "" : i18n("update.bubble.title", latestVersion.getVersion())));
188+
latestVersion == null ? "" : i18n("update.bubble.title", latestVersion.version())));
189189

190190
hBox.getChildren().setAll(SVG.UPDATE.createIcon(20), prompt);
191191
}
@@ -281,10 +281,10 @@ private void showUpdate(boolean show) {
281281

282282
if (show && !config().isDisableAutoShowUpdateDialog()
283283
&& getLatestVersion() != null
284-
&& !Objects.equals(config().getPromptedVersion(), getLatestVersion().getVersion())) {
285-
Controllers.dialog(new MessageDialogPane.Builder("", i18n("update.bubble.title", getLatestVersion().getVersion()), MessageDialogPane.MessageType.INFO)
284+
&& !Objects.equals(config().getPromptedVersion(), getLatestVersion().version())) {
285+
Controllers.dialog(new MessageDialogPane.Builder("", i18n("update.bubble.title", getLatestVersion().version()), MessageDialogPane.MessageType.INFO)
286286
.addAction(i18n("button.view"), () -> {
287-
config().setPromptedVersion(getLatestVersion().getVersion());
287+
config().setPromptedVersion(getLatestVersion().version());
288288
onUpgrade();
289289
})
290290
.addCancel(null)

HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SettingsPage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ protected int getTrailingTextIndex() {
157157
updatePane.pseudoClassStateChanged(PseudoClass.getPseudoClass("active"), outdated);
158158

159159
if (UpdateChecker.isOutdated()) {
160-
lblUpdateSubProperty.set(i18n("update.newest_version", UpdateChecker.getLatestVersion().getVersion()));
160+
lblUpdateSubProperty.set(i18n("update.newest_version", UpdateChecker.getLatestVersion().version()));
161161
} else if (UpdateChecker.isCheckingUpdate()) {
162162
lblUpdateSubProperty.set(i18n("update.checking"));
163163
} else {

HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ final class HMCLDownloadTask extends FileDownloadTask {
2727
private final RemoteVersion.Type archiveFormat;
2828

2929
public HMCLDownloadTask(RemoteVersion version, Path target) {
30-
super(version.getUrl(), target, version.getIntegrityCheck());
31-
archiveFormat = version.getType();
30+
super(version.url(), target, version.integrityCheck());
31+
archiveFormat = version.type();
3232
}
3333

3434
@Override

HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323
import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck;
2424
import org.jackhuang.hmcl.util.gson.JsonUtils;
2525
import org.jackhuang.hmcl.util.io.NetworkUtils;
26+
import org.jetbrains.annotations.NotNull;
2627

2728
import java.io.IOException;
2829
import java.util.Optional;
2930

30-
public final class RemoteVersion {
31+
public record RemoteVersion(UpdateChannel channel, String version, String url, Type type, IntegrityCheck integrityCheck,
32+
boolean preview, boolean force) {
3133

3234
public static RemoteVersion fetch(UpdateChannel channel, boolean preview, String url) throws IOException {
3335
try {
@@ -46,54 +48,8 @@ public static RemoteVersion fetch(UpdateChannel channel, boolean preview, String
4648
}
4749
}
4850

49-
private final UpdateChannel channel;
50-
private final String version;
51-
private final String url;
52-
private final Type type;
53-
private final IntegrityCheck integrityCheck;
54-
private final boolean preview;
55-
private final boolean force;
56-
57-
public RemoteVersion(UpdateChannel channel, String version, String url, Type type, IntegrityCheck integrityCheck, boolean preview, boolean force) {
58-
this.channel = channel;
59-
this.version = version;
60-
this.url = url;
61-
this.type = type;
62-
this.integrityCheck = integrityCheck;
63-
this.preview = preview;
64-
this.force = force;
65-
}
66-
67-
public UpdateChannel getChannel() {
68-
return channel;
69-
}
70-
71-
public String getVersion() {
72-
return version;
73-
}
74-
75-
public String getUrl() {
76-
return url;
77-
}
78-
79-
public Type getType() {
80-
return type;
81-
}
82-
83-
public IntegrityCheck getIntegrityCheck() {
84-
return integrityCheck;
85-
}
86-
87-
public boolean isPreview() {
88-
return preview;
89-
}
90-
91-
public boolean isForce() {
92-
return force;
93-
}
94-
9551
@Override
96-
public String toString() {
52+
public @NotNull String toString() {
9753
return "[" + version + " from " + url + "]";
9854
}
9955

HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ private UpdateChecker() {
4343
RemoteVersion latest = latestVersion.get();
4444
if (latest == null || isDevelopmentVersion(Metadata.VERSION)) {
4545
return false;
46-
} else if (latest.isForce()
46+
} else if (latest.force()
4747
|| Metadata.isNightly()
48-
|| latest.getChannel() == UpdateChannel.NIGHTLY
49-
|| latest.getChannel() != UpdateChannel.getChannel()) {
50-
return !latest.getVersion().equals(Metadata.VERSION);
48+
|| latest.channel() == UpdateChannel.NIGHTLY
49+
|| latest.channel() != UpdateChannel.getChannel()) {
50+
return !latest.version().equals(Metadata.VERSION);
5151
} else {
52-
return VersionNumber.compare(Metadata.VERSION, latest.getVersion()) < 0;
52+
return VersionNumber.compare(Metadata.VERSION, latest.version()) < 0;
5353
}
5454
},
5555
latestVersion);

0 commit comments

Comments
 (0)