Improve 'Architecture' and 'JavaVersion'

This commit is contained in:
Glavo
2021-10-13 20:45:22 +08:00
committed by Yuhui Huang
parent dd8da57cfb
commit 0a54037460
13 changed files with 254 additions and 155 deletions

View File

@@ -432,7 +432,7 @@ public final class LauncherHelper {
}
}
if (javaVersion.getBits() != Architecture.SYSTEM.getBits()) {
if (javaVersion.getBits() != Architecture.SYSTEM_ARCH.getBits()) {
Controllers.dialog(i18n("launch.advice.different_platform"), i18n("message.warning"), MessageType.ERROR, continueAction);
suggested = true;
}

View File

@@ -26,9 +26,9 @@ import org.jackhuang.hmcl.task.Schedulers;
import org.jackhuang.hmcl.task.Task;
import org.jackhuang.hmcl.util.Lang;
import org.jackhuang.hmcl.util.StringUtils;
import org.jackhuang.hmcl.util.platform.Architecture;
import org.jackhuang.hmcl.util.platform.JavaVersion;
import org.jackhuang.hmcl.util.platform.OperatingSystem;
import org.jackhuang.hmcl.util.platform.Platform;
import org.jackhuang.hmcl.util.versioning.VersionNumber;
import java.io.IOException;
@@ -608,7 +608,7 @@ public final class VersionSetting implements Cloneable {
if (checkJava)
return JavaVersion.fromExecutable(Paths.get(getJavaDir()));
else
return new JavaVersion(Paths.get(getJavaDir()), "", Architecture.SYSTEM.getBits());
return new JavaVersion(Paths.get(getJavaDir()), "", Platform.SYSTEM_PLATFORM);
} catch (IOException | InvalidPathException e) {
return null; // Custom Java Directory not found,
}

View File

@@ -70,7 +70,7 @@ public class GameCrashWindow extends Stage {
private final String java;
private final LibraryAnalyzer analyzer;
private final StringProperty os = new SimpleStringProperty(System.getProperty("os.name"));
private final StringProperty arch = new SimpleStringProperty(Architecture.SYSTEM_ARCHITECTURE);
private final StringProperty arch = new SimpleStringProperty(Architecture.CURRENT_ARCH_NAME);
private final StringProperty reason = new SimpleStringProperty(i18n("game.crash.reason.unknown"));
private final BooleanProperty loading = new SimpleBooleanProperty();
private final Label feedbackLabel = new Label(i18n("game.crash.feedback"));

View File

@@ -228,23 +228,23 @@ public final class MultiplayerManager {
public static String getCatoPath() {
switch (OperatingSystem.CURRENT_OS) {
case WINDOWS:
if (Architecture.SYSTEM == Architecture.X86_64) {
if (Architecture.SYSTEM_ARCH == Architecture.X86_64) {
return "cato/cato/" + MultiplayerManager.CATO_VERSION + "/cato-windows-amd64.exe";
} else {
return "";
}
case OSX:
if (Architecture.SYSTEM == Architecture.X86_64) {
if (Architecture.SYSTEM_ARCH == Architecture.X86_64) {
return "cato/cato/" + MultiplayerManager.CATO_VERSION + "/cato-darwin-amd64";
} else if (Architecture.SYSTEM == Architecture.ARM64) {
} else if (Architecture.SYSTEM_ARCH == Architecture.ARM64) {
return "cato/cato/" + MultiplayerManager.CATO_VERSION + "/cato-darwin-arm64";
} else {
return "";
}
case LINUX:
if (Architecture.SYSTEM == Architecture.X86_64) {
if (Architecture.SYSTEM_ARCH == Architecture.X86_64) {
return "cato/cato/" + MultiplayerManager.CATO_VERSION + "/cato-linux-amd64";
} else if (Architecture.SYSTEM == Architecture.ARM || Architecture.SYSTEM == Architecture.ARM64) {
} else if (Architecture.SYSTEM_ARCH == Architecture.ARM32 || Architecture.SYSTEM_ARCH == Architecture.ARM64) {
return "cato/cato/" + MultiplayerManager.CATO_VERSION + "/cato-linux-arm7";
} else {
return "";

View File

@@ -84,23 +84,23 @@ public final class SelfDependencyPatcher {
private static String currentArchClassifier() {
if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX) {
switch (Architecture.JDK) {
switch (Architecture.CURRENT_ARCH) {
case X86_64:
return "linux";
case ARM:
case ARM32:
return "linux-arm32-monocle";
case ARM64:
return "linux-aarch64";
}
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
switch (Architecture.JDK) {
switch (Architecture.CURRENT_ARCH) {
case X86_64:
return "mac";
case ARM64:
return "mac-aarch64";
}
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS) {
switch (Architecture.JDK) {
switch (Architecture.CURRENT_ARCH) {
case X86_64:
return "win";
case X86: