add method to update external signaling information

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-07-16 14:33:19 +02:00
parent 75aa5c9379
commit cbe4658632
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
2 changed files with 14 additions and 20 deletions

View File

@ -1208,26 +1208,12 @@ public class CallActivity extends CallBaseActivity {
}
Log.d(TAG, " hasExternalSignalingServer: " + hasExternalSignalingServer);
if (!"?".equals(conversationUser.getUserId())) {
try {
userManager.createOrUpdateUser(
null,
new UserManager.UserAttributes(
conversationUser.getId(),
null,
null,
null,
null,
null,
null,
null,
null,
LoganSquare.serialize(externalSignalingServer)))
.subscribeOn(Schedulers.io())
.subscribe();
} catch (IOException exception) {
Log.e(TAG, "Failed to serialize external signaling server", exception);
}
if (!"?".equals(conversationUser.getUserId()) && conversationUser.getId() != null) {
Log.d(TAG, "Update externalSignalingServer for: " + conversationUser.getId() +
" / " + conversationUser.getUserId());
userManager.updateExternalSignalingServer(conversationUser.getId(), externalSignalingServer)
.subscribeOn(Schedulers.io())
.subscribe();
} else {
conversationUser.setExternalSignalingServer(externalSignalingServer);
}

View File

@ -116,6 +116,14 @@ class UserManager internal constructor(private val userRepository: UsersReposito
}.map { TRUE }
}
fun updateExternalSignalingServer(id: Long, externalSignalingServer: ExternalSignalingServer): Single<Int> {
return userRepository.getUserWithId(id).map { user ->
user.externalSignalingServer = externalSignalingServer
userRepository.updateUser(user)
}.toSingle()
}
@Deprecated("Only available for migration, use updateExternalSignalingServer or create new methods")
fun createOrUpdateUser(
username: String?,
userAttributes: UserAttributes,