Skip to content

Commit b061ab8

Browse files
authored
Fix: Disable tab swiping on NTP (#6003)
Task/Issue URL: https://app.asana.com/1/137249556945/project/1207418217763355/task/1210046079393103?focus=true ### Description This PR fixes the tab swiping on NTP (disables it). ### Steps to test this PR _Without favorites_ - [ ] Open a NTP - [ ] Try swiping the NTP content - [ ] Verify it doesn't work - [ ] Try swiping the omnibar or navigation bar - [ ] Verify the swiping works _With favorites_ - [ ] Open a NTP - [ ] Make sure you have at least 1 favorite bookmark - [ ] Try swiping the favorites area - [ ] Verify it doesn't work - [ ] Try dragging the bookmark - [ ] Verify the icon can be dragged and the tabs are not swiping
1 parent 3ade24e commit b061ab8

File tree

13 files changed

+34
-11
lines changed

13 files changed

+34
-11
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ import com.duckduckgo.common.test.CoroutineTestRule
217217
import com.duckduckgo.common.test.InstantSchedulersRule
218218
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
219219
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore.FeatureState
220+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeature
221+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
220222
import com.duckduckgo.common.utils.DispatcherProvider
221223
import com.duckduckgo.common.utils.device.DeviceInfo
222224
import com.duckduckgo.common.utils.plugins.PluginPoint

app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ import com.duckduckgo.browser.api.ui.BrowserScreens.BookmarksScreenNoParams
8585
import com.duckduckgo.browser.api.ui.BrowserScreens.SettingsScreenNoParams
8686
import com.duckduckgo.common.ui.DuckDuckGoActivity
8787
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
88+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
8889
import com.duckduckgo.common.ui.view.dialog.TextAlertDialogBuilder
8990
import com.duckduckgo.common.ui.view.gone
9091
import com.duckduckgo.common.ui.view.show

app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ import com.duckduckgo.browser.api.ui.BrowserScreens.WebViewActivityWithParams
239239
import com.duckduckgo.common.ui.DuckDuckGoFragment
240240
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
241241
import com.duckduckgo.common.ui.store.BrowserAppTheme
242+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
242243
import com.duckduckgo.common.ui.view.DaxDialog
243244
import com.duckduckgo.common.ui.view.dialog.ActionBottomSheetDialog
244245
import com.duckduckgo.common.ui.view.dialog.CustomAlertDialogBuilder
@@ -979,7 +980,7 @@ class BrowserTabFragment :
979980
private fun disableSwipingOutsideTheOmnibar() {
980981
newBrowserTab.newTabLayout.setOnTouchListener { v, event ->
981982
v.parent.requestDisallowInterceptTouchEvent(true)
982-
false
983+
true
983984
}
984985
binding.autoCompleteSuggestionsList.setOnTouchListener { v, event ->
985986
v.parent.requestDisallowInterceptTouchEvent(true)

app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ import com.duckduckgo.browser.api.brokensite.BrokenSiteData
284284
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.MENU
285285
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.RELOAD_THREE_TIMES_WITHIN_20_SECONDS
286286
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
287+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
287288
import com.duckduckgo.common.utils.AppUrl
288289
import com.duckduckgo.common.utils.AppUrl.ParamKey.QUERY
289290
import com.duckduckgo.common.utils.ConflatedJob

app/src/main/java/com/duckduckgo/app/browser/BrowserViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ import com.duckduckgo.app.statistics.pixels.Pixel.PixelParameter
6060
import com.duckduckgo.app.statistics.pixels.Pixel.PixelType.Daily
6161
import com.duckduckgo.app.tabs.model.TabEntity
6262
import com.duckduckgo.app.tabs.model.TabRepository
63+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
6364
import com.duckduckgo.common.utils.DispatcherProvider
6465
import com.duckduckgo.common.utils.SingleLiveEvent
6566
import com.duckduckgo.di.scopes.ActivityScope

app/src/main/java/com/duckduckgo/app/browser/tabs/adapter/FragmentStateAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import androidx.viewpager2.adapter.StatefulAdapter;
4848
import androidx.viewpager2.widget.ViewPager2;
4949

50-
import com.duckduckgo.app.browser.SwipingTabsFeatureProvider;
50+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider;
5151
import com.duckduckgo.app.browser.tabs.TabManager;
5252

5353
import java.util.ArrayDeque;

app/src/main/java/com/duckduckgo/app/browser/tabs/adapter/TabPagerAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import androidx.recyclerview.widget.DiffUtil
2626
import androidx.recyclerview.widget.RecyclerView
2727
import com.duckduckgo.app.browser.BrowserActivity
2828
import com.duckduckgo.app.browser.BrowserTabFragment
29-
import com.duckduckgo.app.browser.SwipingTabsFeatureProvider
3029
import com.duckduckgo.app.tabs.model.TabEntity
30+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
3131

3232
class TabPagerAdapter(
3333
lifecycleOwner: LifecycleOwner,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import androidx.lifecycle.ViewModel
2121
import androidx.lifecycle.asLiveData
2222
import androidx.lifecycle.viewModelScope
2323
import com.duckduckgo.anvil.annotations.ContributesViewModel
24-
import com.duckduckgo.app.browser.SwipingTabsFeatureProvider
2524
import com.duckduckgo.app.browser.favicon.FaviconManager
2625
import com.duckduckgo.app.browser.senseofprotection.SenseOfProtectionExperiment
2726
import com.duckduckgo.app.pixels.AppPixelName
@@ -57,6 +56,7 @@ import com.duckduckgo.app.tabs.ui.TabSwitcherViewModel.SelectionViewState.Mode.N
5756
import com.duckduckgo.app.tabs.ui.TabSwitcherViewModel.SelectionViewState.Mode.Selection
5857
import com.duckduckgo.app.trackerdetection.api.WebTrackersBlockedAppRepository
5958
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
59+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
6060
import com.duckduckgo.common.utils.DispatcherProvider
6161
import com.duckduckgo.common.utils.SingleLiveEvent
6262
import com.duckduckgo.common.utils.extensions.toBinaryString

app/src/test/java/com/duckduckgo/app/browser/BrowserViewModelTest.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.duckduckgo.app.browser
1818

19+
import android.annotation.SuppressLint
1920
import android.content.Intent
2021
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
2122
import androidx.lifecycle.MutableLiveData
@@ -39,6 +40,8 @@ import com.duckduckgo.app.statistics.pixels.Pixel.PixelType.Daily
3940
import com.duckduckgo.app.tabs.model.TabEntity
4041
import com.duckduckgo.app.tabs.model.TabRepository
4142
import com.duckduckgo.common.test.CoroutineTestRule
43+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeature
44+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
4245
import com.duckduckgo.feature.toggles.api.FakeFeatureToggleFactory
4346
import com.duckduckgo.feature.toggles.api.Toggle.State
4447
import kotlinx.coroutines.channels.Channel
@@ -60,6 +63,7 @@ import org.mockito.kotlin.never
6063
import org.mockito.kotlin.verify
6164
import org.mockito.kotlin.whenever
6265

66+
@SuppressLint("DenyListedApi")
6367
class BrowserViewModelTest {
6468

6569
@get:Rule

app/src/test/java/com/duckduckgo/app/tabs/ui/TabSwitcherViewModelTest.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818

1919
package com.duckduckgo.app.tabs.ui
2020

21+
import android.annotation.SuppressLint
2122
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
2223
import androidx.lifecycle.Observer
2324
import androidx.lifecycle.liveData
2425
import app.cash.turbine.test
25-
import com.duckduckgo.app.browser.SwipingTabsFeature
26-
import com.duckduckgo.app.browser.SwipingTabsFeatureProvider
2726
import com.duckduckgo.app.browser.favicon.FaviconManager
2827
import com.duckduckgo.app.browser.senseofprotection.SenseOfProtectionExperiment
2928
import com.duckduckgo.app.browser.senseofprotection.SenseOfProtectionExperimentImpl
@@ -65,6 +64,8 @@ import com.duckduckgo.common.test.blockingObserve
6564
import com.duckduckgo.common.ui.DuckDuckGoTheme
6665
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore
6766
import com.duckduckgo.common.ui.experiments.visual.store.VisualDesignExperimentDataStore.FeatureState
67+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeature
68+
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
6869
import com.duckduckgo.duckchat.api.DuckChat
6970
import com.duckduckgo.duckchat.impl.pixel.DuckChatPixelName
7071
import com.duckduckgo.fakes.FakePixel
@@ -105,6 +106,7 @@ import org.mockito.kotlin.never
105106
import org.mockito.kotlin.verify
106107
import org.mockito.kotlin.whenever
107108

109+
@SuppressLint("DenyListedApi")
108110
@OptIn(ExperimentalCoroutinesApi::class)
109111
class TabSwitcherViewModelTest {
110112

0 commit comments

Comments
 (0)