Fixes #4987: Remove close tabs functionality when they are added to a collection
parent
a72d50d78f
commit
69e8a2f357
|
@ -13,7 +13,6 @@ import kotlinx.coroutines.launch
|
|||
import mozilla.components.browser.session.SessionManager
|
||||
import mozilla.components.feature.tab.collections.TabCollection
|
||||
import mozilla.components.feature.tabs.TabsUseCases
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.components.Analytics
|
||||
import org.mozilla.fenix.components.TabCollectionStorage
|
||||
import org.mozilla.fenix.components.metrics.Event
|
||||
|
@ -86,8 +85,6 @@ class DefaultCollectionCreationController(
|
|||
analytics.metrics.track(
|
||||
Event.CollectionSaved(normalSessionSize(sessionManager), sessionBundle.size)
|
||||
)
|
||||
|
||||
closeTabsIfNecessary(tabs, sessionManager, tabsUseCases)
|
||||
}
|
||||
|
||||
override fun renameCollection(collection: TabCollection, name: String) {
|
||||
|
@ -125,8 +122,6 @@ class DefaultCollectionCreationController(
|
|||
analytics.metrics.track(
|
||||
Event.CollectionTabsAdded(normalSessionSize(sessionManager), sessionBundle.size)
|
||||
)
|
||||
|
||||
closeTabsIfNecessary(tabs, sessionManager, tabsUseCases)
|
||||
}
|
||||
|
||||
override fun saveTabsToCollection(tabs: List<Tab>) {
|
||||
|
@ -220,12 +215,4 @@ class DefaultCollectionCreationController(
|
|||
(!session.isCustomTabSession() && !session.private)
|
||||
}.size
|
||||
}
|
||||
|
||||
private fun closeTabsIfNecessary(tabs: List<Tab>, sessionManager: SessionManager, tabsUseCases: TabsUseCases) {
|
||||
// Only close the tabs if the user is not on the BrowserFragment
|
||||
if (store.state.previousFragmentId == R.id.browserFragment) { return }
|
||||
tabs.asSequence()
|
||||
.mapNotNull { tab -> sessionManager.findSessionById(tab.sessionId) }
|
||||
.forEach { session -> tabsUseCases.removeTab(session) }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue