From 00f55f1949be3ef93d03a6cee7f1472d8a0007ef Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Fri, 22 Jul 2022 14:50:08 +0200 Subject: [PATCH] use correct primary key to search for any other users in the DB and use current value from user attributes object Signed-off-by: Andy Scherzinger --- app/src/main/java/com/nextcloud/talk/data/user/UsersDao.kt | 4 ++-- .../java/com/nextcloud/talk/data/user/UsersRepository.kt | 2 +- .../com/nextcloud/talk/data/user/UsersRepositoryImpl.kt | 4 ++-- app/src/main/java/com/nextcloud/talk/users/UserManager.kt | 6 +++--- app/src/main/java/com/nextcloud/talk/utils/AccountUtils.kt | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/data/user/UsersDao.kt b/app/src/main/java/com/nextcloud/talk/data/user/UsersDao.kt index 1bb2e99cb..121bc13ff 100644 --- a/app/src/main/java/com/nextcloud/talk/data/user/UsersDao.kt +++ b/app/src/main/java/com/nextcloud/talk/data/user/UsersDao.kt @@ -71,8 +71,8 @@ abstract class UsersDao { @Query("SELECT * FROM User where userId = :userId") abstract fun getUserWithUserId(userId: String): Maybe - @Query("SELECT * FROM User where userId != :userId") - abstract fun getUsersWithoutUserId(userId: Long): Single> + @Query("SELECT * FROM User where id != :id") + abstract fun getUsersWithoutId(id: Long): Single> @Query("SELECT * FROM User where scheduledForDeletion = 1") abstract fun getUsersScheduledForDeletion(): Single> diff --git a/app/src/main/java/com/nextcloud/talk/data/user/UsersRepository.kt b/app/src/main/java/com/nextcloud/talk/data/user/UsersRepository.kt index c3d4cab2b..40cd5a602 100644 --- a/app/src/main/java/com/nextcloud/talk/data/user/UsersRepository.kt +++ b/app/src/main/java/com/nextcloud/talk/data/user/UsersRepository.kt @@ -33,7 +33,7 @@ interface UsersRepository { fun getUserWithId(id: Long): Maybe fun getUserWithIdNotScheduledForDeletion(id: Long): Maybe fun getUserWithUserId(userId: String): Maybe - fun getUsersWithoutUserId(userId: Long): Single> + fun getUsersWithoutUserId(id: Long): Single> fun getUsersScheduledForDeletion(): Single> fun getUsersNotScheduledForDeletion(): Single> fun getUserWithUsernameAndServer(username: String, server: String): Maybe diff --git a/app/src/main/java/com/nextcloud/talk/data/user/UsersRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/data/user/UsersRepositoryImpl.kt index 6d564eee7..7ef3ebbcc 100644 --- a/app/src/main/java/com/nextcloud/talk/data/user/UsersRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/data/user/UsersRepositoryImpl.kt @@ -49,8 +49,8 @@ class UsersRepositoryImpl(private val usersDao: UsersDao) : UsersRepository { return usersDao.getUserWithUserId(userId).map { UserMapper.toModel(it) } } - override fun getUsersWithoutUserId(userId: Long): Single> { - return usersDao.getUsersWithoutUserId(userId).map { UserMapper.toModel(it) } + override fun getUsersWithoutUserId(id: Long): Single> { + return usersDao.getUsersWithoutId(id).map { UserMapper.toModel(it) } } override fun getUsersScheduledForDeletion(): Single> { 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 e803e33ed..0f88b5e55 100644 --- a/app/src/main/java/com/nextcloud/talk/users/UserManager.kt +++ b/app/src/main/java/com/nextcloud/talk/users/UserManager.kt @@ -57,8 +57,8 @@ class UserManager internal constructor(private val userRepository: UsersReposito return userRepository.getUserWithId(id) } - fun disableAllUsersWithoutId(userId: Long): Single { - val results = userRepository.getUsersWithoutUserId(userId) + fun disableAllUsersWithoutId(id: Long): Single { + val results = userRepository.getUsersWithoutUserId(id) return results.map { users -> var count = 0 @@ -275,7 +275,7 @@ class UserManager internal constructor(private val userRepository: UsersReposito user.externalSignalingServer = LoganSquare .parse(userAttributes.externalSignalingServer, ExternalSignalingServer::class.java) } - user.current = true + user.current = userAttributes.currentUser == true return user } diff --git a/app/src/main/java/com/nextcloud/talk/utils/AccountUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/AccountUtils.kt index dbdb27577..f21244b1f 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/AccountUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/AccountUtils.kt @@ -3,7 +3,7 @@ * * @author Andy Scherzinger * @author Mario Danic - * Copyright (C) 2021 Andy Scherzinger + * Copyright (C) 2022 Andy Scherzinger * Copyright (C) 2017 Mario Danic * * This program is free software: you can redistribute it and/or modify