Add parameter wasLastSession to SessionListener.onSessionDeleted

This commit is contained in:
Benoit Marty 2025-10-23 16:20:15 +02:00
parent 2acc6db70f
commit 9ca5fbdc08
13 changed files with 15 additions and 14 deletions

View file

@ -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)
}

View file

@ -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

View file

@ -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))
}

View file

@ -29,6 +29,6 @@ class FakeSessionObserver : SessionObserver {
}
suspend fun onSessionDeleted(userId: String) {
listeners.forEach { it.onSessionDeleted(userId) }
listeners.forEach { it.onSessionDeleted(userId, false) }
}
}