diff --git a/vector/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt b/vector/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt index 2958434f..572d865e 100644 --- a/vector/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt +++ b/vector/src/main/java/im/vector/riotredesign/features/home/HomeActivity.kt @@ -166,7 +166,8 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.sliding_menu_sign_out -> { - SignOutUiWorker(this).perform(Matrix.getInstance().currentSession!!) + SignOutUiWorker(this, notificationDrawerManager) + .perform(Matrix.getInstance().currentSession!!) return true } } diff --git a/vector/src/main/java/im/vector/riotredesign/features/workers/signout/SignOutUiWorker.kt b/vector/src/main/java/im/vector/riotredesign/features/workers/signout/SignOutUiWorker.kt index 81f80b9f..32576851 100644 --- a/vector/src/main/java/im/vector/riotredesign/features/workers/signout/SignOutUiWorker.kt +++ b/vector/src/main/java/im/vector/riotredesign/features/workers/signout/SignOutUiWorker.kt @@ -21,8 +21,10 @@ import im.vector.matrix.android.api.session.Session import im.vector.riotredesign.R import im.vector.riotredesign.core.platform.VectorBaseActivity import im.vector.riotredesign.features.MainActivity +import im.vector.riotredesign.features.notifications.NotificationDrawerManager -class SignOutUiWorker(val activity: VectorBaseActivity) { +class SignOutUiWorker(private val activity: VectorBaseActivity, + private val notificationDrawerManager: NotificationDrawerManager) { fun perform(session: Session) { if (SignOutViewModel.doYouNeedToBeDisplayed(session)) { @@ -45,6 +47,9 @@ class SignOutUiWorker(val activity: VectorBaseActivity) { } private fun doSignOut() { + // Dismiss all notifications + notificationDrawerManager.clearAllEvents() + MainActivity.restartApp(activity, clearCache = true, clearCredentials = true) } }