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.browser.session.SessionManager
|
||||||
import mozilla.components.feature.tab.collections.TabCollection
|
import mozilla.components.feature.tab.collections.TabCollection
|
||||||
import mozilla.components.feature.tabs.TabsUseCases
|
import mozilla.components.feature.tabs.TabsUseCases
|
||||||
import org.mozilla.fenix.R
|
|
||||||
import org.mozilla.fenix.components.Analytics
|
import org.mozilla.fenix.components.Analytics
|
||||||
import org.mozilla.fenix.components.TabCollectionStorage
|
import org.mozilla.fenix.components.TabCollectionStorage
|
||||||
import org.mozilla.fenix.components.metrics.Event
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
|
@ -86,8 +85,6 @@ class DefaultCollectionCreationController(
|
||||||
analytics.metrics.track(
|
analytics.metrics.track(
|
||||||
Event.CollectionSaved(normalSessionSize(sessionManager), sessionBundle.size)
|
Event.CollectionSaved(normalSessionSize(sessionManager), sessionBundle.size)
|
||||||
)
|
)
|
||||||
|
|
||||||
closeTabsIfNecessary(tabs, sessionManager, tabsUseCases)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun renameCollection(collection: TabCollection, name: String) {
|
override fun renameCollection(collection: TabCollection, name: String) {
|
||||||
|
@ -125,8 +122,6 @@ class DefaultCollectionCreationController(
|
||||||
analytics.metrics.track(
|
analytics.metrics.track(
|
||||||
Event.CollectionTabsAdded(normalSessionSize(sessionManager), sessionBundle.size)
|
Event.CollectionTabsAdded(normalSessionSize(sessionManager), sessionBundle.size)
|
||||||
)
|
)
|
||||||
|
|
||||||
closeTabsIfNecessary(tabs, sessionManager, tabsUseCases)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun saveTabsToCollection(tabs: List<Tab>) {
|
override fun saveTabsToCollection(tabs: List<Tab>) {
|
||||||
|
@ -220,12 +215,4 @@ class DefaultCollectionCreationController(
|
||||||
(!session.isCustomTabSession() && !session.private)
|
(!session.isCustomTabSession() && !session.private)
|
||||||
}.size
|
}.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