Skip to content

Commit

Permalink
Initialize the popup menu click handlers
Browse files Browse the repository at this point in the history
  • Loading branch information
0nko committed Feb 3, 2025
1 parent 01a3bf3 commit 381d932
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ import com.duckduckgo.duckchat.api.DuckChat
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.launch
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext

@InjectWith(ActivityScope::class)
class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, CoroutineScope {
Expand Down Expand Up @@ -168,6 +168,10 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
configureFab()
configureObservers()
configureOnBackPressedListener()

if (tabManagerFeatureFlags.multiSelection().isEnabled()) {
initMenuClickListeners()
}
}

private fun configureFab() {
Expand Down Expand Up @@ -485,6 +489,18 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
}
}

private fun initMenuClickListeners() {
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.newTabMenuItem)) { onNewTabRequested(fromOverflowMenu = true) }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.selectAllMenuItem)) { viewModel.onSelectAllTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.shareSelectedLinksMenuItem)) { viewModel.onShareSelectedTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.bookmarkSelectedTabsMenuItem)) { viewModel.onBookmarkSelectedTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.bookmarkAllTabsMenuItem)) { viewModel.onBookmarkAllTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.selectTabsMenuItem)) { viewModel.onSelectionModeRequested() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeSelectedTabsMenuItem)) { viewModel.onCloseSelectedTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeOtherTabsMenuItem)) { viewModel.onCloseOtherTabs() }
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeAllTabsMenuItem)) { viewModel.onCloseAllTabsRequested() }
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.layoutTypeMenuItem -> onLayoutTypeToggled()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,27 @@ class TabSwitcherViewModel @Inject constructor(
pixel.fire(AppPixelName.TAB_MANAGER_MENU_CLOSE_ALL_TABS_PRESSED)
}

fun onSelectAllTabs() {
}

fun onShareSelectedTabs() {
}

fun onBookmarkSelectedTabs() {
}

fun onBookmarkAllTabs() {
}

fun onSelectionModeRequested() {
}

fun onCloseSelectedTabs() {
}

fun onCloseOtherTabs() {
}

fun onCloseAllTabsConfirmed() {
viewModelScope.launch(dispatcherProvider.io()) {
tabs.value?.forEach {
Expand Down

0 comments on commit 381d932

Please sign in to comment.