diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt index 1d606fa3b1..130ed9ab9f 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt @@ -21,6 +21,7 @@ import kotlinx.android.synthetic.main.component_tabstray2.view.* import kotlinx.android.synthetic.main.component_tabstray2.view.tab_tray_overflow import kotlinx.android.synthetic.main.component_tabstray2.view.tab_wrapper import kotlinx.android.synthetic.main.component_tabstray_fab.* +import kotlinx.android.synthetic.main.fragment_tab_tray_dialog.* import kotlinx.android.synthetic.main.tabs_tray_tab_counter2.* import kotlinx.android.synthetic.main.tabstray_multiselect_items.* import kotlinx.android.synthetic.main.tabstray_multiselect_items.view.* @@ -144,6 +145,11 @@ class TabsTrayFragment : AppCompatDialogFragment(), TabsTrayInteractor { syncedTabsTrayInteractor ) + setupBackgroundDismissalListener { + requireComponents.analytics.metrics.track(Event.TabsTrayClosed) + dismissAllowingStateLoss() + } + behavior.addBottomSheetCallback( TraySheetBehaviorCallback( behavior, @@ -311,6 +317,11 @@ class TabsTrayFragment : AppCompatDialogFragment(), TabsTrayInteractor { } } + private fun setupBackgroundDismissalListener(block: (View) -> Unit) { + tabLayout.setOnClickListener(block) + handle.setOnClickListener(block) + } + private val homeViewModel: HomeScreenViewModel by activityViewModels() private fun dismissTabsTrayAndNavigateHome(sessionId: String) {