Add parameter wasLastSession to SessionListener.onSessionDeleted
This commit is contained in:
parent
2acc6db70f
commit
9ca5fbdc08
13 changed files with 15 additions and 14 deletions
|
|
@ -9,5 +9,5 @@ package io.element.android.libraries.sessionstorage.api.observer
|
|||
|
||||
interface SessionListener {
|
||||
suspend fun onSessionCreated(userId: String)
|
||||
suspend fun onSessionDeleted(userId: String)
|
||||
suspend fun onSessionDeleted(userId: String, wasLastSession: Boolean)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,9 +60,10 @@ class DefaultSessionObserver(
|
|||
// Compute diff
|
||||
// Removed user
|
||||
val removedUsers = currentUserSet - newUserSet
|
||||
val wasLastSession = newUserSet.isEmpty()
|
||||
removedUsers.forEach { removedUser ->
|
||||
listeners.onEach { listener ->
|
||||
listener.onSessionDeleted(removedUser)
|
||||
listener.onSessionDeleted(removedUser, wasLastSession)
|
||||
}
|
||||
}
|
||||
// Added user
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class TestSessionListener : SessionListener {
|
|||
trackRecord.add(Event.Created(userId))
|
||||
}
|
||||
|
||||
override suspend fun onSessionDeleted(userId: String) {
|
||||
override suspend fun onSessionDeleted(userId: String, wasLastSession: Boolean) {
|
||||
trackRecord.add(Event.Deleted(userId))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,6 @@ class FakeSessionObserver : SessionObserver {
|
|||
}
|
||||
|
||||
suspend fun onSessionDeleted(userId: String) {
|
||||
listeners.forEach { it.onSessionDeleted(userId) }
|
||||
listeners.forEach { it.onSessionDeleted(userId, false) }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue