diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java index ed021c147..58997bcab 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/SharedConfig.java @@ -42,6 +42,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.stream.Collectors; +import cn.hutool.core.collection.ConcurrentHashSet; import cn.hutool.core.util.StrUtil; import okhttp3.HttpUrl; import tw.nekomimi.nekogram.ProxyManager; @@ -142,10 +143,13 @@ public class SharedConfig { public static int distanceSystemType; - public static HashSet activeAccounts; - + public static ConcurrentHashSet activeAccounts; public static int loginingAccount = -1; + static { + loadConfig(); + } + public static class ProxyInfo implements Comparable { public int group; @@ -1040,7 +1044,7 @@ public class SharedConfig { disableVoiceAudioEffects = preferences.getBoolean("disableVoiceAudioEffects", false); preferences = ApplicationLoader.applicationContext.getSharedPreferences("Notifications", Activity.MODE_PRIVATE); showNotificationsForAllAccounts = preferences.getBoolean("AllAccounts", true); - activeAccounts = Arrays.stream(preferences.getString("active_accounts", "").split(",")).filter(StrUtil::isNotBlank).map(Integer::parseInt).collect(Collectors.toCollection(HashSet::new)); + activeAccounts = Arrays.stream(preferences.getString("active_accounts", "").split(",")).filter(StrUtil::isNotBlank).map(Integer::parseInt).collect(Collectors.toCollection(ConcurrentHashSet::new)); if (!preferences.contains("accounts_loaded")) { int maxAccounts;