Skip to content

Commit 0efe09f

Browse files
committed
Initialize the popup menu click handlers
1 parent c5d6028 commit 0efe09f

File tree

2 files changed

+39
-2
lines changed

2 files changed

+39
-2
lines changed

app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherActivity.kt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ import com.duckduckgo.duckchat.impl.DuckChatPixelName
7575
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
7676
import com.google.android.material.snackbar.BaseTransientBottomBar
7777
import com.google.android.material.snackbar.Snackbar
78+
import javax.inject.Inject
79+
import kotlin.coroutines.CoroutineContext
7880
import kotlinx.coroutines.CoroutineScope
7981
import kotlinx.coroutines.SupervisorJob
8082
import kotlinx.coroutines.flow.collectLatest
8183
import kotlinx.coroutines.flow.filterNotNull
8284
import kotlinx.coroutines.launch
83-
import javax.inject.Inject
84-
import kotlin.coroutines.CoroutineContext
8585

8686
@InjectWith(ActivityScope::class)
8787
class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, CoroutineScope {
@@ -169,6 +169,10 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
169169
configureFab()
170170
configureObservers()
171171
configureOnBackPressedListener()
172+
173+
if (tabManagerFeatureFlags.multiSelection().isEnabled()) {
174+
initMenuClickListeners()
175+
}
172176
}
173177

174178
private fun configureFab() {
@@ -487,6 +491,18 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
487491
}
488492
}
489493

494+
private fun initMenuClickListeners() {
495+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.newTabMenuItem)) { onNewTabRequested(fromOverflowMenu = true) }
496+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.selectAllMenuItem)) { viewModel.onSelectAllTabs() }
497+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.shareSelectedLinksMenuItem)) { viewModel.onShareSelectedTabs() }
498+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.bookmarkSelectedTabsMenuItem)) { viewModel.onBookmarkSelectedTabs() }
499+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.bookmarkAllTabsMenuItem)) { viewModel.onBookmarkAllTabs() }
500+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.selectTabsMenuItem)) { viewModel.onSelectionModeRequested() }
501+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeSelectedTabsMenuItem)) { viewModel.onCloseSelectedTabs() }
502+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeOtherTabsMenuItem)) { viewModel.onCloseOtherTabs() }
503+
popupMenu.onMenuItemClicked(popupMenu.contentView.findViewById(R.id.closeAllTabsMenuItem)) { viewModel.onCloseAllTabsRequested() }
504+
}
505+
490506
override fun onOptionsItemSelected(item: MenuItem): Boolean {
491507
when (item.itemId) {
492508
R.id.layoutTypeMenuItem -> onLayoutTypeToggled()

app/src/main/java/com/duckduckgo/app/tabs/ui/TabSwitcherViewModel.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,27 @@ class TabSwitcherViewModel @Inject constructor(
137137
pixel.fire(AppPixelName.TAB_MANAGER_MENU_CLOSE_ALL_TABS_PRESSED)
138138
}
139139

140+
fun onSelectAllTabs() {
141+
}
142+
143+
fun onShareSelectedTabs() {
144+
}
145+
146+
fun onBookmarkSelectedTabs() {
147+
}
148+
149+
fun onBookmarkAllTabs() {
150+
}
151+
152+
fun onSelectionModeRequested() {
153+
}
154+
155+
fun onCloseSelectedTabs() {
156+
}
157+
158+
fun onCloseOtherTabs() {
159+
}
160+
140161
fun onCloseAllTabsConfirmed() {
141162
viewModelScope.launch(dispatcherProvider.io()) {
142163
tabSwitcherItems.value?.forEach { tabSwitcherItem ->

0 commit comments

Comments
 (0)