diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt | 6 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt | 13 |
2 files changed, 15 insertions, 4 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt index a9ad4ec874..b633920e7f 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/model/Device.kt @@ -1,7 +1,9 @@ package net.mullvad.mullvadvpn.model import android.os.Parcelable +import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize +import net.mullvad.mullvadvpn.util.parseAsDateTime @Parcelize data class Device( @@ -11,6 +13,10 @@ data class Device( val ports: ArrayList<DevicePort>, val created: String ) : Parcelable { + + @IgnoredOnParcel + val creationDate by lazy { created.parseAsDateTime() } + // Generated by Android Studio override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt index 4a60508a38..4c051fcbeb 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/DeviceListViewModel.kt @@ -51,15 +51,20 @@ class DeviceListViewModel( } else { cachedDeviceList } - val deviceUiItems = devices?.map { device -> - DeviceListItemUiState(device, loadingDevices.any { device.id == it }) - } ?: emptyList() + val deviceUiItems = devices?.sortedBy { it.creationDate }?.map { device -> + DeviceListItemUiState( + device, + loadingDevices.any { loadingDevice -> + device.id == loadingDevice + } + ) + } val isLoading = devices == null val stagedDevice = devices?.firstOrNull { device -> device.id == stagedDeviceId } DeviceListUiState( - deviceUiItems = deviceUiItems, + deviceUiItems = deviceUiItems ?: emptyList(), isLoading = isLoading, stagedDevice = stagedDevice ) |
