From f6c500d1206e684b6994df83f036674c96ca8f7b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 25 Jun 2019 16:14:25 +0200 Subject: [PATCH] Notification: dismiss all on sign out --- .../im/vector/riotredesign/features/home/HomeActivity.kt | 3 ++- .../features/workers/signout/SignOutUiWorker.kt | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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) } }