From ae9aa75ba0ec10eb9ed785d813c9d364051df16b Mon Sep 17 00:00:00 2001 From: Programmer <126635750+pouriaksrvi@users.noreply.github.com> Date: Sun, 26 Mar 2023 06:27:52 +0000 Subject: [PATCH 1/2] New Feature Fixed incorrect default order of server list as described in the issue https://github.com/2dust/v2rayNG/issues/2116 The order was problematic for users who add new servers more frequently --- V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt | 2 +- .../src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt index 533527e7..68bd9f42 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/MmkvManager.kt @@ -46,7 +46,7 @@ object MmkvManager { serverStorage?.encode(key, Gson().toJson(config)) val serverList = decodeServerList() if (!serverList.contains(key)) { - serverList.add(key) + serverList.add(0, key) mainStorage?.encode(KEY_ANG_CONFIGS, Gson().toJson(serverList)) if (mainStorage?.decodeString(KEY_SELECTED_SERVER).isNullOrBlank()) { mainStorage?.encode(KEY_SELECTED_SERVER, key) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt index 6c6ddc62..d1cf5db2 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt @@ -74,8 +74,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java) val key = MmkvManager.encodeServerConfig("", config) serverRawStorage?.encode(key, server) - serverList.add(key) - serversCache.add(ServersCache(key,config)) + serverList.add(0, key) + serversCache.add(0, ServersCache(key,config)) } fun swapServer(fromPosition: Int, toPosition: Int) { From ec7ba595281b4039567896dea787955c67f0758e Mon Sep 17 00:00:00 2001 From: Programmer <126635750+pouriaksrvi@users.noreply.github.com> Date: Mon, 3 Apr 2023 04:12:01 +0330 Subject: [PATCH 2/2] Bug Fix - Fixed the order of subscription import Subscription server list should not be reversed when it is being imported. Fixed this problem. --- .../app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt index 332c2bc8..c979f26b 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/util/AngConfigManager.kt @@ -756,6 +756,7 @@ object AngConfigManager { var count = 0 servers.lines() + .reversed() .forEach { val resId = importConfig(it, subid, removedSelectedServer) if (resId == 0) {