Fix / signout sign-in not working

This commit is contained in:
Valere 2019-07-01 18:55:40 +02:00
parent 8fefdc1019
commit a1ddd73d7d
3 changed files with 6 additions and 7 deletions

View file

@ -81,13 +81,11 @@ interface Session :
/**
* This method start the sync thread.
*/
@MainThread
fun startSync()
/**
* This method stop the sync thread.
*/
@MainThread
fun stopSync()
/**
@ -99,7 +97,6 @@ interface Session :
/**
* This method allow to close a session. It does stop some services.
*/
@MainThread
fun close()
/**

View file

@ -102,7 +102,6 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se
SyncWorker.stopAnyBackgroundSync(context)
}
@MainThread
override fun startSync() {
assert(isOpen)
if (!syncThread.isAlive) {
@ -113,16 +112,14 @@ internal class DefaultSession @Inject constructor(override val sessionParams: Se
}
}
@MainThread
override fun stopSync() {
assert(isOpen)
syncThread.kill()
}
@MainThread
override fun close() {
assertMainThread()
assert(isOpen)
stopSync()
liveEntityObservers.forEach { it.dispose() }
cryptoService.close()
if (monarchy.isMonarchyThreadOpen) {

View file

@ -19,6 +19,7 @@ package im.vector.riotredesign.features
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import androidx.work.WorkManager
import im.vector.matrix.android.api.Matrix
import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.auth.Authenticator
@ -66,6 +67,10 @@ class MainActivity : VectorBaseActivity() {
override fun onSuccess(data: Unit) {
Timber.w("SIGN_OUT: success, start app")
sessionHolder.clearActiveSession()
WorkManager.getInstance(applicationContext).also {
it.cancelAllWork()
it.pruneWork()
}
start()
}
})