From 45c7e0c231e9be4d9822297726ebc35604c7dcc3 Mon Sep 17 00:00:00 2001 From: yushijinhun Date: Sun, 29 Jul 2018 12:16:16 +0800 Subject: [PATCH] Remove Settings.save() --- .../java/org/jackhuang/hmcl/setting/ConfigHolder.java | 9 +++++---- .../java/org/jackhuang/hmcl/setting/Settings.java | 11 ++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java index c07bf7ec6..59e199874 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java @@ -38,7 +38,7 @@ public final class ConfigHolder { public static final Path CONFIG_PATH = Paths.get(CONFIG_FILENAME).toAbsolutePath(); public static final Config CONFIG = initSettings(); - private static Config upgradeSettings(Config deserialized, Map rawJson) { + private static Config upgradeSettings(Config deserialized, Map rawJson) { if (!rawJson.containsKey("commonDirType")) deserialized.setCommonDirType(deserialized.getCommonDirectory().equals(Settings.getDefaultCommonDirectory()) ? EnumCommonDirectory.DEFAULT : EnumCommonDirectory.CUSTOM); return deserialized; @@ -49,7 +49,7 @@ public final class ConfigHolder { if (Files.exists(CONFIG_PATH)) { try { String json = new String(Files.readAllBytes(CONFIG_PATH), UTF_8); - Map raw = new Gson().fromJson(json, Map.class); + Map raw = new Gson().fromJson(json, Map.class); Config deserialized = Config.fromJson(json); if (deserialized == null) { LOG.finer("Settings file is empty, use the default settings."); @@ -64,9 +64,10 @@ public final class ConfigHolder { return config; } - static void saveConfig(Config config) { + static void saveConfig() { + LOG.info("Saving config"); try { - Files.write(CONFIG_PATH, config.toJson().getBytes(UTF_8)); + Files.write(CONFIG_PATH, CONFIG.toJson().getBytes(UTF_8)); } catch (IOException ex) { LOG.log(Level.SEVERE, "Failed to save config", ex); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java index a59c95b62..c6130c656 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.java @@ -27,12 +27,10 @@ import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.util.*; import org.jackhuang.hmcl.util.i18n.Locales; -import java.io.File; import java.util.*; import java.util.stream.Collectors; import static org.jackhuang.hmcl.setting.ConfigHolder.CONFIG; -import static org.jackhuang.hmcl.util.Logging.LOG; public class Settings { @@ -51,18 +49,13 @@ public class Settings { for (Map.Entry profileEntry : getProfileMap().entrySet()) { profileEntry.getValue().setName(profileEntry.getKey()); profileEntry.getValue().nameProperty().setChangedListener(this::profileNameChanged); - profileEntry.getValue().addPropertyChangedListener(e -> save()); + profileEntry.getValue().addPropertyChangedListener(e -> ConfigHolder.saveConfig()); } - CONFIG.addListener(source -> save()); + CONFIG.addListener(source -> ConfigHolder.saveConfig()); CONFIG.setFirstLaunch(false); } - private void save() { - LOG.info("Saving config"); - ConfigHolder.saveConfig(CONFIG); - } - public boolean isFirstLaunch() { return firstLaunch; }