summaryrefslogtreecommitdiffhomepage
path: root/android/lib
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-08-06 16:30:26 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-08-06 16:30:26 +0200
commita731328ba41676ab2ca911e7ec7e423c51a89fe7 (patch)
treead459a74a62b44aa19ddd14b89d5db7a37c83faa /android/lib
parent0a9158eb70ebe7cdbbdc8ac643800cd635cf33f1 (diff)
parent8be1ed95c772e8d0e9e2d24614a6445a362a02d6 (diff)
downloadmullvadvpn-a731328ba41676ab2ca911e7ec7e423c51a89fe7.tar.xz
mullvadvpn-a731328ba41676ab2ca911e7ec7e423c51a89fe7.zip
Merge branch 'name-is-already-taken-error-regression-droid-1227'
Diffstat (limited to 'android/lib')
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt8
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt3
2 files changed, 9 insertions, 2 deletions
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
index 7f1ae90b45..95679cb43d 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
@@ -77,6 +77,7 @@ import net.mullvad.mullvadvpn.lib.model.GetDeviceListError
import net.mullvad.mullvadvpn.lib.model.GetDeviceStateError
import net.mullvad.mullvadvpn.lib.model.GetVersionInfoError
import net.mullvad.mullvadvpn.lib.model.LoginAccountError
+import net.mullvad.mullvadvpn.lib.model.NameAlreadyExists
import net.mullvad.mullvadvpn.lib.model.NewAccessMethodSetting
import net.mullvad.mullvadvpn.lib.model.ObfuscationSettings
import net.mullvad.mullvadvpn.lib.model.Ownership as ModelOwnership
@@ -492,7 +493,12 @@ class ManagementService(
suspend fun updateCustomList(customList: ModelCustomList): Either<UpdateCustomListError, Unit> =
Either.catch { grpc.updateCustomList(customList.fromDomain()) }
- .mapLeft(::UnknownCustomListError)
+ .mapLeftStatus {
+ when (it.status.code) {
+ Status.Code.ALREADY_EXISTS -> NameAlreadyExists(customList.name)
+ else -> UnknownCustomListError(it)
+ }
+ }
.mapEmpty()
suspend fun deleteCustomList(id: CustomListId): Either<DeleteCustomListError, Unit> =
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt
index ef49018dca..e666ca3f59 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/UpdateCustomListError.kt
@@ -22,7 +22,8 @@ sealed interface UpdateCustomListLocationsError {
sealed interface UpdateCustomListError
-data class NameAlreadyExists(val name: String) : UpdateCustomListError, UpdateCustomListNameError
+data class NameAlreadyExists(val name: CustomListName) :
+ UpdateCustomListError, UpdateCustomListNameError
data class UnknownCustomListError(val throwable: Throwable) :
UpdateCustomListError,