From 250548a72f3c66579ee205f4af79777f98def276 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Tue, 28 May 2019 11:06:07 -0700 Subject: [PATCH] For #2823 - Invoke pending jobs with context on switch to private mode --- app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index f49559573..3166ead6c 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -199,6 +199,7 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver { contentDescriptionForPrivateBrowsingButton(isPrivate) privateBrowsingButton.setOnClickListener { + invokePendingDeleteJobs() val browsingModeManager = (activity as HomeActivity).browsingModeManager val newMode = when (browsingModeManager.mode) { BrowsingModeManager.Mode.Normal -> BrowsingModeManager.Mode.Private @@ -547,9 +548,11 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver { } private fun removeAllTabsWithUndo(isPrivate: Boolean) { + val useCases = requireComponents.useCases.tabsUseCases + getManagedEmitter().onNext(SessionControlChange.TabsChange(listOf())) deleteAllSessionsJob = { - requireComponents.useCases.tabsUseCases.removeAllTabsOfType.invoke(isPrivate) + useCases.removeAllTabsOfType.invoke(isPrivate) } CoroutineScope(Dispatchers.Main).allowUndo( @@ -559,7 +562,7 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver { emitSessionChanges() } ) { - requireComponents.useCases.tabsUseCases.removeAllTabsOfType.invoke(isPrivate) + useCases.removeAllTabsOfType.invoke(isPrivate) } }