From 6f2a6223147f697f62ebc29ebbcc444e0706c06f Mon Sep 17 00:00:00 2001 From: nalcalag Date: Fri, 3 Jul 2026 23:35:40 +0100 Subject: [PATCH] disable long press on new tab menu item while in a NTP --- .../app/browser/BrowserTabViewModel.kt | 4 ++++ .../app/browser/BrowserTabViewModelTest.kt | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt index fea981bda8b1..f05a5db8800f 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt @@ -3589,6 +3589,10 @@ class BrowserTabViewModel @Inject constructor( } fun onNewTabMenuItemClicked(longPress: Boolean = false) { + if (longPress && !currentBrowserViewState().browserShowing) { + return + } + openNewTab() if (longPress) { diff --git a/app/src/test/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt b/app/src/test/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt index 9b261405a39c..dadd816509d6 100644 --- a/app/src/test/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt +++ b/app/src/test/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt @@ -3383,12 +3383,26 @@ class BrowserTabViewModelTest { } @Test - fun whenUserRequestedToOpenNewTabByLongPressThenPixelFired() { + fun whenUserRequestedToOpenNewTabByLongPressAndBrowserShowingThenNewTabOpenedAndPixelFired() { + setBrowserShowing(true) + testee.onNewTabMenuItemClicked(longPress = true) + assertCommandIssued() verify(mockPixel).fire(AppPixelName.TAB_MANAGER_NEW_TAB_LONG_PRESSED) } + @Test + fun whenUserRequestedToOpenNewTabByLongPressAndAlreadyOnNewTabPageThenNoNewTabOpenedAndNoPixelFired() { + setBrowserShowing(false) + + testee.onNewTabMenuItemClicked(longPress = true) + + assertCommandNotIssued() + assertCommandNotIssued() + verify(mockPixel, never()).fire(AppPixelName.TAB_MANAGER_NEW_TAB_LONG_PRESSED) + } + @Test fun whenNewTabMenuItemClickedAndEmptyTabExistsAndInputScreenDisabledThenShowKeyboard() = runTest {