summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt14
1 files changed, 10 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt
index 699aad1d66..a4f521be3d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt
@@ -52,11 +52,17 @@ class RelayListAdapter(private val resources: Resources) : Adapter<RelayItemHold
override fun getItemCount() =
relayList?.countries?.map { country -> country.visibleItemCount }?.sum() ?: 0
- fun onRelayListChange(relayList: RelayList, selectedItem: RelayItem?) {
- this.relayList = relayList
- this.selectedItem = selectedItem
+ fun onRelayListChange(newRelayList: RelayList, newSelectedItem: RelayItem?) {
+ val initializedRelayList = relayList == null
- notifyDataSetChanged()
+ relayList = newRelayList
+ selectedItem = newSelectedItem
+
+ if (initializedRelayList) {
+ notifyItemRangeInserted(0, getItemCount())
+ } else {
+ notifyDataSetChanged()
+ }
}
fun selectItem(item: RelayItem?, holder: RelayItemHolder?) {