From f7ff5ea3cb3b554018788c9aedfa0b4b6428e40a Mon Sep 17 00:00:00 2001 From: ShirosakiMio <852468399@qq.com> Date: Mon, 9 Sep 2024 16:40:01 +0800 Subject: [PATCH] fix crash when switch dark mode --- FCL/src/main/java/com/tungsten/fcl/setting/Accounts.java | 2 +- FCL/src/main/java/com/tungsten/fcl/setting/ConfigHolder.java | 2 +- FCL/src/main/java/com/tungsten/fcl/setting/Controllers.java | 2 +- FCL/src/main/java/com/tungsten/fcl/setting/Profiles.java | 2 +- .../java/com/tungsten/fcl/ui/manage/ManagePageManager.kt | 5 +++++ 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/FCL/src/main/java/com/tungsten/fcl/setting/Accounts.java b/FCL/src/main/java/com/tungsten/fcl/setting/Accounts.java index 7c43b176..92f74e26 100644 --- a/FCL/src/main/java/com/tungsten/fcl/setting/Accounts.java +++ b/FCL/src/main/java/com/tungsten/fcl/setting/Accounts.java @@ -243,7 +243,7 @@ public final class Accounts { */ static void init() { if (initialized) - throw new IllegalStateException("Already initialized"); + return; loadGlobalAccountStorages(); diff --git a/FCL/src/main/java/com/tungsten/fcl/setting/ConfigHolder.java b/FCL/src/main/java/com/tungsten/fcl/setting/ConfigHolder.java index 18c91c78..7512f124 100644 --- a/FCL/src/main/java/com/tungsten/fcl/setting/ConfigHolder.java +++ b/FCL/src/main/java/com/tungsten/fcl/setting/ConfigHolder.java @@ -62,7 +62,7 @@ public final class ConfigHolder { public synchronized static void init() throws IOException { if (configInstance != null) { - throw new IllegalStateException("Configuration is already loaded"); + return; } configInstance = loadConfig(); diff --git a/FCL/src/main/java/com/tungsten/fcl/setting/Controllers.java b/FCL/src/main/java/com/tungsten/fcl/setting/Controllers.java index 038d7aa0..221826b8 100644 --- a/FCL/src/main/java/com/tungsten/fcl/setting/Controllers.java +++ b/FCL/src/main/java/com/tungsten/fcl/setting/Controllers.java @@ -95,7 +95,7 @@ public class Controllers { public static void init() { if (initialized) - throw new IllegalStateException("Already initialized"); + return; controllers.addAll(getControllersFromDisk()); checkControllers(); diff --git a/FCL/src/main/java/com/tungsten/fcl/setting/Profiles.java b/FCL/src/main/java/com/tungsten/fcl/setting/Profiles.java index 7dee9a2e..b85b2f1e 100644 --- a/FCL/src/main/java/com/tungsten/fcl/setting/Profiles.java +++ b/FCL/src/main/java/com/tungsten/fcl/setting/Profiles.java @@ -135,7 +135,7 @@ public final class Profiles { static void init() { if (initialized) - throw new IllegalStateException("Already initialized"); + return; HashSet names = new HashSet<>(); config().getConfigurations().forEach((name, profile) -> { diff --git a/FCL/src/main/java/com/tungsten/fcl/ui/manage/ManagePageManager.kt b/FCL/src/main/java/com/tungsten/fcl/ui/manage/ManagePageManager.kt index bfe6923a..71513574 100644 --- a/FCL/src/main/java/com/tungsten/fcl/ui/manage/ManagePageManager.kt +++ b/FCL/src/main/java/com/tungsten/fcl/ui/manage/ManagePageManager.kt @@ -24,6 +24,7 @@ class ManagePageManager( const val PAGE_ID_MANAGE_MOD: Int = 15003 const val PAGE_ID_MANAGE_WORLD: Int = 15004 } + var profile: Profile? = null var version: String? = null @@ -61,6 +62,7 @@ class ManagePageManager( ) versionSettingPage } + PAGE_ID_MANAGE_INSTALL -> { installerListPage = InstallerListPage( context, @@ -70,6 +72,7 @@ class ManagePageManager( ) installerListPage } + PAGE_ID_MANAGE_MOD -> { modListPage = ModListPage( context, @@ -79,6 +82,7 @@ class ManagePageManager( ) modListPage } + PAGE_ID_MANAGE_WORLD -> { worldListPage = WorldListPage( context, @@ -88,6 +92,7 @@ class ManagePageManager( ) worldListPage } + else -> null } if (page != null) {