summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelState.kt3
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt19
2 files changed, 20 insertions, 2 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelState.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelState.kt
index 9dda1ddaff..1f23b5f4b9 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelState.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelState.kt
@@ -37,7 +37,6 @@ data class SplitTunnelingViewModelState(
}
companion object {
- private val descendingByNameComparator =
- compareByDescending<AppData> { it.name.lowercase() }
+ private val descendingByNameComparator = compareBy<AppData> { it.name.lowercase() }
}
}
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt
index bfd1cb055c..1a4313ef6f 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SplitTunnelingViewModelTest.kt
@@ -183,6 +183,25 @@ class SplitTunnelingViewModelTest {
}
}
+ @Test
+ fun `apps should be sorted by name in descending order`() = runTest {
+ // Arrange
+ val app1 = AppData("com.example.app1", 0, "App A")
+ val app2 = AppData("com.example.app2", 0, "App B")
+ val app3 = AppData("com.example.app3", 0, "App Z")
+ val appList = listOf(app2, app1, app3)
+ val expectedState =
+ SplitTunnelingUiState.ShowAppList(
+ enabled = true,
+ includedApps = listOf(app1, app2, app3),
+ showSystemApps = false,
+ )
+ initTestSubject(appList = appList)
+
+ // Assert
+ testSubject.uiState.test { assertEquals(expectedState, awaitItem()) }
+ }
+
private fun initTestSubject(appList: List<AppData>) {
every { mockedApplicationsProvider.getAppsList() } returns appList
testSubject =