From 3cb7330ac9f04ae1d58d2197b4ae2edd0f63978e Mon Sep 17 00:00:00 2001 From: Tamim Hossain <132823494+codewithtamim@users.noreply.github.com> Date: Tue, 2 Dec 2025 04:17:21 +0600 Subject: [PATCH] bugfix(multihop): hide selected entry server from exit list and vice versa bugfix(multihop): hide selected entry server from exit list and vice versa --- .../all/AllServersRecyclerViewAdapter.kt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/net/ivpn/core/v2/serverlist/all/AllServersRecyclerViewAdapter.kt b/core/src/main/java/net/ivpn/core/v2/serverlist/all/AllServersRecyclerViewAdapter.kt index 277ef6d8..31b064d1 100644 --- a/core/src/main/java/net/ivpn/core/v2/serverlist/all/AllServersRecyclerViewAdapter.kt +++ b/core/src/main/java/net/ivpn/core/v2/serverlist/all/AllServersRecyclerViewAdapter.kt @@ -66,6 +66,7 @@ class AllServersRecyclerViewAdapter( private var bindings = HashMap() private var searchBinding: SearchItemBinding? = null + private var allServers = arrayListOf() private var servers = arrayListOf() private var filteredServers = arrayListOf() private var displayServers = arrayListOf() @@ -226,14 +227,19 @@ class AllServersRecyclerViewAdapter( } private fun setServers(servers: ArrayList) { - this.servers = servers + this.allServers = servers + this.servers = if (forbiddenServer != null) { + ArrayList(servers.filter { it != forbiddenServer }) + } else { + servers + } setDistances() setLatencies() searchBinding?.search?.let { searchFilter.filter(it.query) } ?: run { - filteredServers = servers + filteredServers = this.servers if (pings.isNullOrEmpty() && filter == Filters.LATENCY) { Handler(Looper.getMainLooper()).postDelayed({ applyFilter() @@ -268,7 +274,12 @@ class AllServersRecyclerViewAdapter( } override fun setForbiddenServer(server: Server?) { - forbiddenServer = server + if (forbiddenServer != server) { + forbiddenServer = server + if (allServers.isNotEmpty()) { + setServers(ArrayList(allServers)) + } + } } private fun getPositionFor(server: Server): Int {