diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt | 14 |
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?) { |
