Fix crash on signout: release session at the end so you clean up files first.

This commit is contained in:
ganfra 2021-06-18 18:55:13 +02:00
parent b30c27b7a6
commit d8327a5161
2 changed files with 6 additions and 5 deletions

1
changelog.d/3538.bugfix Normal file
View File

@ -0,0 +1 @@
Fix crash on signout: release session at the end of clean up.

View File

@ -51,15 +51,12 @@ internal class CleanupSession @Inject constructor(
@UserMd5 private val userMd5: String @UserMd5 private val userMd5: String
) { ) {
suspend fun handle() { suspend fun handle() {
Timber.d("Cleanup: release session...") Timber.d("Cleanup: delete session params...")
sessionManager.releaseSession(sessionId) sessionParamsStore.delete(sessionId)
Timber.d("Cleanup: cancel pending works...") Timber.d("Cleanup: cancel pending works...")
workManagerProvider.cancelAllWorks() workManagerProvider.cancelAllWorks()
Timber.d("Cleanup: delete session params...")
sessionParamsStore.delete(sessionId)
Timber.d("Cleanup: clear session data...") Timber.d("Cleanup: clear session data...")
clearSessionDataTask.execute(Unit) clearSessionDataTask.execute(Unit)
@ -74,6 +71,9 @@ internal class CleanupSession @Inject constructor(
realmKeysUtils.clear(SessionModule.getKeyAlias(userMd5)) realmKeysUtils.clear(SessionModule.getKeyAlias(userMd5))
realmKeysUtils.clear(CryptoModule.getKeyAlias(userMd5)) realmKeysUtils.clear(CryptoModule.getKeyAlias(userMd5))
Timber.d("Cleanup: release session...")
sessionManager.releaseSession(sessionId)
// Sanity check // Sanity check
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
Realm.getGlobalInstanceCount(realmSessionConfiguration) Realm.getGlobalInstanceCount(realmSessionConfiguration)