From 65eba3795fd842cca82d40604666d4c66cea2e98 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Fri, 1 Nov 2024 17:45:25 +0800 Subject: [PATCH] Bug fix https://github.com/2dust/v2rayNG/issues/3807 --- .../main/kotlin/com/v2ray/ang/viewmodel/MainViewModel.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 6f951f55..1fed54bc 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 @@ -114,7 +114,13 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { } fun swapServer(fromPosition: Int, toPosition: Int) { - Collections.swap(serverList, fromPosition, toPosition) + if (subscriptionId.isEmpty()) { + Collections.swap(serverList, fromPosition, toPosition) + } else { + val fromPosition2 = serverList.indexOf(serversCache[fromPosition].guid) + val toPosition2 = serverList.indexOf(serversCache[toPosition].guid) + Collections.swap(serverList, fromPosition2, toPosition2) + } Collections.swap(serversCache, fromPosition, toPosition) MmkvManager.encodeServerList(serverList) }