[fenix] Fixes https://github.com/mozilla-mobile/fenix/issues/4987: Remove close tabs functionality when they are added to a collection

pull/600/head
ValentinTimisica 5 years ago
parent 0e678b153f
commit 0dd3a735f1

@ -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…
Cancel
Save