diff --git a/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.kt b/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.kt index 14ba69c66..98f7c5364 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/SettingsController.kt @@ -327,7 +327,7 @@ class SettingsController : NewBaseController(R.layout.controller_settings) { } currentUser!!.clientCertificate = finalAlias - userManager.updateUser(currentUser!!) + userManager.updateOrCreateUser(currentUser!!) }, arrayOf("RSA", "EC"), null, @@ -601,7 +601,7 @@ class SettingsController : NewBaseController(R.layout.controller_settings) { } if ((!TextUtils.isEmpty(displayName) && !(displayName == currentUser!!.displayName))) { currentUser!!.displayName = displayName - userManager.updateUser(currentUser!!) + userManager.updateOrCreateUser(currentUser!!) binding.displayNameText.text = currentUser!!.displayName } }, diff --git a/app/src/main/java/com/nextcloud/talk/users/UserManager.kt b/app/src/main/java/com/nextcloud/talk/users/UserManager.kt index 4dc1b1881..2262da0ac 100644 --- a/app/src/main/java/com/nextcloud/talk/users/UserManager.kt +++ b/app/src/main/java/com/nextcloud/talk/users/UserManager.kt @@ -123,7 +123,7 @@ class UserManager internal constructor(private val userRepository: UsersReposito }.toSingle() } - fun updateUser(user: User): Single { + fun updateOrCreateUser(user: User): Single { return Single.fromCallable { when (user.id) { null -> userRepository.insertUser(user).toInt()