mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 22:29:09 +00:00
fix to not execute getAnyUserAndSetAsActive() until userRepository.getActiveUser() is empty
To make sure getAnyUserAndSetAsActive() is invoked lazily and avoid any side effects, it's explicitly wrapped it in a lambda. Maybe.defer ensures that getAnyUserAndSetAsActive() is not invoked until switchIfEmpty decides it’s needed. Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
307ebd384d
commit
22b8b59fb3
@ -31,7 +31,7 @@ class UserManager internal constructor(private val userRepository: UsersReposito
|
||||
val currentUser: Maybe<User>
|
||||
get() {
|
||||
return userRepository.getActiveUser()
|
||||
.switchIfEmpty(getAnyUserAndSetAsActive())
|
||||
.switchIfEmpty(Maybe.defer { getAnyUserAndSetAsActive() })
|
||||
}
|
||||
|
||||
val currentUserObservable: Observable<User>
|
||||
|
Loading…
Reference in New Issue
Block a user