From c32904a1d09cc28c5329dce0bbb62e30d5218655 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Wed, 20 May 2020 22:22:31 -0700 Subject: [PATCH] For #10504 - opens the tab tray and filters the tab based on the browser mode --- .../fenix/tabtray/TabTrayDialogFragment.kt | 7 ++++++- .../org/mozilla/fenix/tabtray/TabTrayView.kt | 19 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt index a165cdc1b6..d8bd1e4494 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayDialogFragment.kt @@ -14,6 +14,7 @@ import kotlinx.android.synthetic.main.component_tabstray.view.* import kotlinx.android.synthetic.main.fragment_tab_tray_dialog.* import kotlinx.android.synthetic.main.fragment_tab_tray_dialog.view.* import mozilla.components.concept.tabstray.Tab +import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R class TabTrayDialogFragment : AppCompatDialogFragment(), TabTrayInteractor { @@ -38,7 +39,11 @@ class TabTrayDialogFragment : AppCompatDialogFragment(), TabTrayInteractor { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - tabTrayView = TabTrayView(view.tabLayout, this) + tabTrayView = TabTrayView( + view.tabLayout, + this, + (activity as HomeActivity).browsingModeManager.mode.isPrivate + ) tabLayout.setOnClickListener { dismissAllowingStateLoss() } diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt index 9acc9e08f0..e47608698d 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt @@ -32,7 +32,8 @@ interface TabTrayInteractor { */ class TabTrayView( private val container: ViewGroup, - private val interactor: TabTrayInteractor + private val interactor: TabTrayInteractor, + private val isPrivate: Boolean ) : LayoutContainer, TabsTray.Observer, TabLayout.OnTabSelectedListener { val fabView = LayoutInflater.from(container.context) .inflate(R.layout.component_tabstray_fab, container, true) @@ -47,7 +48,7 @@ class TabTrayView( get() = container init { - fabView.new_tab_button.compatElevation = 80.0f + fabView.new_tab_button.compatElevation = 41.0f behavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { override fun onSlide(bottomSheet: View, slideOffset: Float) { @@ -65,13 +66,23 @@ class TabTrayView( } }) + val selectedTabIndex = if (!isPrivate) { + 0 + } else { + 1 + } + + view.tab_layout.getTabAt(selectedTabIndex)?.also { + view.tab_layout.selectTab(it, true) + } + view.tab_layout.addOnTabSelectedListener(this) tabsFeature = TabsFeature( view.tabsTray, view.context.components.core.store, view.context.components.useCases.tabsUseCases, - { true }, + { it.content.private == isPrivate }, { }) (view.tabsTray as? BrowserTabsTray)?.also { tray -> @@ -109,4 +120,4 @@ class TabTrayView( tabsFeature.filterTabs(filter) } -} \ No newline at end of file +}