@@ -28,8 +28,6 @@ import android.widget.FrameLayout
2828import androidx.activity.OnBackPressedCallback
2929import androidx.appcompat.app.AppCompatDelegate.FEATURE_SUPPORT_ACTION_BAR
3030import androidx.appcompat.widget.Toolbar
31- import androidx.coordinatorlayout.widget.CoordinatorLayout
32- import androidx.core.view.updateLayoutParams
3331import androidx.lifecycle.Lifecycle
3432import androidx.lifecycle.flowWithLifecycle
3533import androidx.lifecycle.lifecycleScope
@@ -89,8 +87,6 @@ import com.duckduckgo.common.ui.view.dialog.TextAlertDialogBuilder
8987import com.duckduckgo.common.ui.view.gone
9088import com.duckduckgo.common.ui.view.hide
9189import com.duckduckgo.common.ui.view.show
92- import com.duckduckgo.common.ui.view.toDp
93- import com.duckduckgo.common.ui.view.toPx
9490import com.duckduckgo.common.ui.viewbinding.viewBinding
9591import com.duckduckgo.common.utils.DispatcherProvider
9692import com.duckduckgo.di.scopes.ActivityScope
@@ -211,18 +207,26 @@ class TabSwitcherActivity :
211207
212208 private val binding: ActivityTabSwitcherBinding by viewBinding()
213209 private val popupMenu by lazy {
214- if (settingsDataStore.omnibarType == OmnibarType .SINGLE_BOTTOM && viewModel.isNewToolbarEnabled) {
215- PopupMenu (layoutInflater, R .layout.popup_tabs_menu_bottom)
216- } else {
210+ if (settingsDataStore.omnibarType == OmnibarType .SINGLE_TOP ) {
217211 PopupMenu (layoutInflater, R .layout.popup_tabs_menu)
212+ } else {
213+ PopupMenu (layoutInflater, R .layout.popup_tabs_menu_bottom)
218214 }
219215 }
220216
221217 private val snackbarAnchorView by lazy {
222- if (settingsDataStore.omnibarType == OmnibarType .SINGLE_BOTTOM ) {
223- toolbar
224- } else {
225- null
218+ when (settingsDataStore.omnibarType) {
219+ OmnibarType .SINGLE_BOTTOM -> {
220+ toolbar
221+ }
222+
223+ OmnibarType .SINGLE_TOP -> {
224+ null
225+ }
226+ OmnibarType .SPLIT -> {
227+ null
228+ // TODO: add bottom bar
229+ }
226230 }
227231 }
228232
@@ -241,28 +245,12 @@ class TabSwitcherActivity :
241245 setupToolbar(toolbar)
242246 configureRecycler()
243247
244- if (! viewModel.isNewToolbarEnabled) {
245- configureFabs()
246- }
247-
248248 configureObservers()
249249 configureOnBackPressedListener()
250250
251251 initMenuClickListeners()
252252 }
253253
254- private fun configureFabs () {
255- binding.mainFab.apply {
256- setOnClickListener {
257- viewModel.onFabClicked()
258- }
259- }
260-
261- binding.aiChatFab.setOnClickListener {
262- viewModel.onDuckAIFabClicked()
263- }
264- }
265-
266254 override fun onSaveInstanceState (outState : Bundle ) {
267255 super .onSaveInstanceState(outState)
268256
@@ -276,19 +264,18 @@ class TabSwitcherActivity :
276264 private fun configureViewReferences () {
277265 tabsRecycler = findViewById(R .id.tabsRecycler)
278266
279- if (viewModel.isNewToolbarEnabled) {
280- when (settingsDataStore.omnibarType) {
281- OmnibarType .SINGLE_TOP , OmnibarType .SPLIT -> {
282- binding.root.removeView(binding.tabSwitcherToolbarBottom.root)
283- }
284- OmnibarType .SINGLE_BOTTOM -> {
285- binding.root.removeView(binding.tabSwitcherExperimentToolbarTop.root)
286- }
267+ when (settingsDataStore.omnibarType) {
268+ OmnibarType .SINGLE_TOP -> {
269+ binding.root.removeView(binding.tabSwitcherToolbarBottom.root)
270+ // TODO: remove bottom bar
271+ }
272+ OmnibarType .SINGLE_BOTTOM -> {
273+ binding.root.removeView(binding.tabSwitcherToolbarTop.root)
274+ // TODO: remove bottom bar
275+ }
276+ OmnibarType .SPLIT -> {
277+ binding.root.removeView(binding.tabSwitcherToolbarBottom.root)
287278 }
288- binding.root.removeView(binding.tabSwitcherToolbarTop.root)
289- } else {
290- binding.root.removeView(binding.tabSwitcherExperimentToolbarTop.root)
291- binding.root.removeView(binding.tabSwitcherToolbarBottom.root)
292279 }
293280
294281 toolbar = findViewById(R .id.toolbar)
@@ -320,27 +307,7 @@ class TabSwitcherActivity :
320307
321308 tabsRecycler.setHasFixedSize(true )
322309
323- if (viewModel.isNewToolbarEnabled) {
324- handleFabStateUpdates()
325- }
326-
327310 handleSelectionModeCancellation()
328-
329- if (viewModel.isNewToolbarEnabled) {
330- // Set the layout params for the tabs recycler view based on omnibar position
331- tabsContainer.updateLayoutParams {
332- this as CoordinatorLayout .LayoutParams
333- this .behavior = null
334- when (settingsDataStore.omnibarType) {
335- OmnibarType .SINGLE_TOP , OmnibarType .SPLIT -> {
336- this .topMargin = TABS_CONTENT_PADDING_DP .toPx()
337- }
338- OmnibarType .SINGLE_BOTTOM -> {
339- this .bottomMargin = TABS_CONTENT_PADDING_DP .toPx()
340- }
341- }
342- }
343- }
344311 }
345312
346313 private fun handleSelectionModeCancellation () {
@@ -379,25 +346,6 @@ class TabSwitcherActivity :
379346 )
380347 }
381348
382- private fun handleFabStateUpdates () {
383- tabsRecycler.addOnScrollListener(
384- object : OnScrollListener () {
385- override fun onScrolled (
386- recyclerView : RecyclerView ,
387- dx : Int ,
388- dy : Int ,
389- ) {
390- super .onScrolled(recyclerView, dx, dy)
391- if (dy.toDp(recyclerView.context) > FAB_SCROLL_THRESHOLD ) {
392- binding.mainFab.shrink()
393- } else if (dy.toDp(recyclerView.context) < - FAB_SCROLL_THRESHOLD ) {
394- binding.mainFab.extend()
395- }
396- }
397- },
398- )
399- }
400-
401349 private fun updateToolbarTitle (
402350 mode : Mode ,
403351 tabCount : Int ,
@@ -615,27 +563,23 @@ class TabSwitcherActivity :
615563 }
616564
617565 override fun onCreateOptionsMenu (menu : Menu ): Boolean {
618- menuInflater.inflate(R .menu.menu_tab_switcher_activity_with_selection , menu)
566+ menuInflater.inflate(R .menu.menu_tab_switcher_activity , menu)
619567
620568 val popupBinding = PopupTabsMenuBinding .bind(popupMenu.contentView)
621569 val viewState = viewModel.selectionViewState.value
622570
623571 val numSelectedTabs = viewModel.selectionViewState.value.numSelectedTabs
624572 menu.createDynamicInterface(
625- numSelectedTabs,
626- popupBinding,
627- binding.mainFab,
628- binding.aiChatFab,
629- tabsRecycler,
630- toolbar,
631- viewState.dynamicInterface,
573+ numSelectedTabs = numSelectedTabs,
574+ popupMenu = popupBinding,
575+ toolbar = toolbar,
576+ dynamicMenu = viewState.dynamicInterface,
632577 )
633578
634579 return true
635580 }
636581
637582 private fun initMenuClickListeners () {
638- popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R .id.newTabMenuItem)) { onNewTabRequested(fromOverflowMenu = true ) }
639583 popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R .id.gridLayoutMenuItem)) { viewModel.onGridLayoutSelected() }
640584 popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R .id.listLayoutMenuItem)) { viewModel.onListLayoutSelected() }
641585 popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R .id.selectAllMenuItem)) { viewModel.onSelectAllTabs() }
@@ -654,7 +598,6 @@ class TabSwitcherActivity :
654598
655599 override fun onOptionsItemSelected (item : MenuItem ): Boolean {
656600 when (item.itemId) {
657- R .id.layoutTypeToolbarButton -> onLayoutTypeToggled()
658601 R .id.fireToolbarButton -> onFireButtonClicked()
659602 R .id.popupMenuToolbarButton -> showPopupMenu(item.itemId)
660603 R .id.newTabToolbarButton -> onNewTabRequested(fromOverflowMenu = false )
@@ -702,10 +645,6 @@ class TabSwitcherActivity :
702645 dialog.show()
703646 }
704647
705- private fun onLayoutTypeToggled () {
706- viewModel.onLayoutTypeToggled()
707- }
708-
709648 override fun onNewTabRequested (fromOverflowMenu : Boolean ) {
710649 // clear observers early to stop view updates
711650 removeObservers()
0 commit comments