From fffde1cc3416a662df21572f76bb8b0b5c3b9a3b Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Wed, 14 Dec 2022 19:15:32 +0200
Subject: [PATCH] Fix remove session

---
 .../org/matrix/android/sdk/api/auth/AuthenticationService.kt | 2 +-
 .../java/org/matrix/android/sdk/internal/SessionManager.kt   | 5 +++--
 .../sdk/internal/auth/DefaultAuthenticationService.kt        | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt
index a87a1fcb..57764223 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/AuthenticationService.kt
@@ -165,5 +165,5 @@ interface AuthenticationService {
     /**
      * Added for switch user
      */
-    fun removeSession(sessionId: String)
+    suspend fun removeSession(sessionId: String)
 }
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt
index 343ad49a..997a8f36 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/SessionManager.kt
@@ -79,7 +79,8 @@ internal class SessionManager @Inject constructor(
     }
 
     //Added for switch user
-    fun removeSession(sessionId: String) {
-        if (sessionComponents.containsKey(sessionId)) sessionComponents.remove(sessionId)
+    suspend fun removeSession(sessionId: String) {
+        sessionComponents.remove(sessionId)
+        sessionParamsStore.delete(sessionId)
     }
 }
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt
index f947b44e..dffe35b1 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/DefaultAuthenticationService.kt
@@ -494,7 +494,7 @@ internal class DefaultAuthenticationService @Inject constructor(
     override fun createSessionFromParams(params: SessionParams): Session = sessionManager.getOrCreateSession(params)
 
     //Added for switch user
-    override fun removeSession(sessionId: String) {
+    override suspend fun removeSession(sessionId: String) {
         sessionManager.removeSession(sessionId)
     }
 }
-- 
GitLab