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 97a420e64..9f287bed0 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -363,6 +363,13 @@ class HomeFragment : Fragment(), CoroutineScope { is CollectionAction.Rename -> { ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "1575") } + is CollectionAction.OpenTab -> { + invokePendingDeleteSessionJob() + (activity as HomeActivity).openToBrowserAndLoad( + searchTermOrURL = action.tab.url, + newTab = true, + from = BrowserDirection.FromHome) + } is CollectionAction.OpenTabs -> { invokePendingDeleteSessionJob() action.collection.tabs.forEach { diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlComponent.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlComponent.kt index 1246f6102..e057d9873 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlComponent.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlComponent.kt @@ -96,6 +96,7 @@ sealed class CollectionAction : Action { data class Delete(val collection: TabCollection) : CollectionAction() data class AddTab(val collection: TabCollection) : CollectionAction() data class Rename(val collection: TabCollection) : CollectionAction() + data class OpenTab(val tab: ComponentTab) : CollectionAction() data class OpenTabs(val collection: TabCollection) : CollectionAction() data class ShareTabs(val collection: TabCollection) : CollectionAction() data class RemoveTab(val collection: TabCollection, val tab: ComponentTab) : CollectionAction() diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabInCollectionViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabInCollectionViewHolder.kt index 700dbbb73..51f18fa9a 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabInCollectionViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/TabInCollectionViewHolder.kt @@ -61,6 +61,10 @@ class TabInCollectionViewHolder( } } + view.setOnClickListener { + actionEmitter.onNext(CollectionAction.OpenTab(tab)) + } + collection_tab_close_button.increaseTapArea(buttonIncreaseDps) collection_tab_close_button.setOnClickListener { actionEmitter.onNext(CollectionAction.RemoveTab(collection, tab))