Skip to content

Commit 7787bf3

Browse files
authored
Split Omnibar: Existing functionality integration (#7062)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1211586528616266?focus=true ### Description This PR updates a couple of things to fully integrate the new split omnibar with the rest of the functionality: - Adds the default browser menu button highlight support - Modifies the Duck.AI input screen to not show the toolbar buttons when split omnibar is enabled ### Steps to test this PR _Duck.AI toolbar_ - [ ] Make sure the `splitOmnibar` feature flag is disabled - [ ] Go to Settings -> AI Features and enable the Duck.ai search - [ ] Go to the browser and tap on the address bar - [ ] Verify the input screen toolbar has buttons - [ ] Enable the `splitOmnibar` feature flag in the developer settings - [ ] Go to Settings -> Appearance and select the split omnibar - [ ] Go back to the browser and tap on the address bar - [ ] Notice input screen toolbar is not showing the buttons anymore _Default browser highlight_ Apply this patch: ```kotlin Index: app/src/main/java/com/duckduckgo/app/browser/defaultbrowsing/prompts/store/DefaultBrowserPromptsDataStore.kt IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/app/src/main/java/com/duckduckgo/app/browser/defaultbrowsing/prompts/store/DefaultBrowserPromptsDataStore.kt b/app/src/main/java/com/duckduckgo/app/browser/defaultbrowsing/prompts/store/DefaultBrowserPromptsDataStore.kt --- a/app/src/main/java/com/duckduckgo/app/browser/defaultbrowsing/prompts/store/DefaultBrowserPromptsDataStore.kt (revision d2c8b93) +++ b/app/src/main/java/com/duckduckgo/app/browser/defaultbrowsing/prompts/store/DefaultBrowserPromptsDataStore.kt (date 1762374933345) @@ -89,7 +89,7 @@ } override val highlightPopupMenu: Flow<Boolean> = store.data.map { preferences -> - preferences[booleanPreferencesKey(PREF_KEY_HIGHLIGHT_OVERFLOW_MENU_ICON)] ?: false + true } override val showSetAsDefaultMessage: Flow<Boolean> = store.data.map { preferences -> ``` - [ ] Enable the `splitOmnibar` feature flag in the developer settings - [ ] Go to Settings -> Appearance and select the split omnibar - [ ] Go back to the browser - [ ] Notice a blue dot is displayed above the browser menu button in the bottom bar
1 parent 7148198 commit 7787bf3

File tree

40 files changed

+241
-93
lines changed

40 files changed

+241
-93
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import com.duckduckgo.app.browser.WebViewErrorResponse.LOADING
6666
import com.duckduckgo.app.browser.WebViewErrorResponse.OMITTED
6767
import com.duckduckgo.app.browser.addtohome.AddToHomeCapabilityDetector
6868
import com.duckduckgo.app.browser.animations.AddressBarTrackersAnimationFeatureToggle
69+
import com.duckduckgo.app.browser.api.OmnibarRepository
6970
import com.duckduckgo.app.browser.applinks.AppLinksHandler
7071
import com.duckduckgo.app.browser.camera.CameraHardwareChecker
7172
import com.duckduckgo.app.browser.certificates.BypassedSSLCertificatesRepository
@@ -116,7 +117,7 @@ import com.duckduckgo.app.browser.model.BasicAuthenticationRequest
116117
import com.duckduckgo.app.browser.model.LongPressTarget
117118
import com.duckduckgo.app.browser.newtab.FavoritesQuickAccessAdapter.QuickAccessFavorite
118119
import com.duckduckgo.app.browser.omnibar.OmnibarEntryConverter
119-
import com.duckduckgo.app.browser.omnibar.OmnibarFeatureRepository
120+
import com.duckduckgo.app.browser.omnibar.OmnibarType
120121
import com.duckduckgo.app.browser.omnibar.QueryOrigin.*
121122
import com.duckduckgo.app.browser.refreshpixels.RefreshPixelSender
122123
import com.duckduckgo.app.browser.remotemessage.RemoteMessagingModel
@@ -224,7 +225,6 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
224225
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
225226
import com.duckduckgo.browser.api.brokensite.BrokenSiteContext
226227
import com.duckduckgo.browser.api.webviewcompat.WebViewCompatWrapper
227-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
228228
import com.duckduckgo.common.test.CoroutineTestRule
229229
import com.duckduckgo.common.test.InstantSchedulersRule
230230
import com.duckduckgo.common.ui.tabs.SwipingTabsFeature
@@ -584,7 +584,7 @@ class BrowserTabViewModelTest {
584584
private val mockSubscriptionsJSHelper: SubscriptionsJSHelper = mock()
585585
private val mockOnboardingHomeScreenWidgetToggles: OnboardingHomeScreenWidgetToggles = mock()
586586
private val tabManager: TabManager = mock()
587-
private val mockOmnibarFeatureRepository: OmnibarFeatureRepository = mock()
587+
private val mockOmnibarFeatureRepository: OmnibarRepository = mock()
588588

589589
private val mockAddressDisplayFormatter: AddressDisplayFormatter by lazy {
590590
mock {
@@ -853,7 +853,7 @@ class BrowserTabViewModelTest {
853853
webViewCompatWrapper = mockWebViewCompatWrapper,
854854
addressBarTrackersAnimationFeatureToggle = mockAddressBarTrackersAnimationFeatureToggle,
855855
autoconsentPixelManager = mockAutoconsentPixelManager,
856-
omnibarFeatureRepository = mockOmnibarFeatureRepository,
856+
omnibarRepository = mockOmnibarFeatureRepository,
857857
contentScopeScriptsSubscriptionEventPluginPoint = fakeContentScopeScriptsSubscriptionEventPluginPoint,
858858
settingsPageFeature = fakeSettingsPageFeature,
859859
)

app/src/main/java/com/duckduckgo/app/appearance/AppearanceActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ import com.duckduckgo.app.appearance.AppearanceViewModel.Command.LaunchThemeSett
3535
import com.duckduckgo.app.appearance.AppearanceViewModel.Command.UpdateTheme
3636
import com.duckduckgo.app.browser.R
3737
import com.duckduckgo.app.browser.databinding.ActivityAppearanceBinding
38+
import com.duckduckgo.app.browser.omnibar.OmnibarType
3839
import com.duckduckgo.app.fire.FireActivity
39-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
4040
import com.duckduckgo.common.ui.DuckDuckGoActivity
4141
import com.duckduckgo.common.ui.DuckDuckGoTheme
4242
import com.duckduckgo.common.ui.DuckDuckGoTheme.DARK

app/src/main/java/com/duckduckgo/app/appearance/AppearanceViewModel.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import androidx.lifecycle.ViewModel
2020
import androidx.lifecycle.viewModelScope
2121
import androidx.webkit.WebViewFeature
2222
import com.duckduckgo.anvil.annotations.ContributesViewModel
23-
import com.duckduckgo.app.browser.omnibar.OmnibarFeatureRepository
23+
import com.duckduckgo.app.browser.api.OmnibarRepository
24+
import com.duckduckgo.app.browser.omnibar.OmnibarType
2425
import com.duckduckgo.app.icon.api.AppIcon
2526
import com.duckduckgo.app.pixels.AppPixelName
2627
import com.duckduckgo.app.pixels.AppPixelName.SETTINGS_THEME_TOGGLED_DARK
@@ -29,7 +30,6 @@ import com.duckduckgo.app.pixels.AppPixelName.SETTINGS_THEME_TOGGLED_SYSTEM_DEFA
2930
import com.duckduckgo.app.settings.db.SettingsDataStore
3031
import com.duckduckgo.app.statistics.pixels.Pixel
3132
import com.duckduckgo.app.tabs.store.TabSwitcherDataStore
32-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
3333
import com.duckduckgo.common.ui.DuckDuckGoTheme
3434
import com.duckduckgo.common.ui.store.ThemingDataStore
3535
import com.duckduckgo.common.utils.DispatcherProvider
@@ -56,7 +56,7 @@ class AppearanceViewModel @Inject constructor(
5656
private val pixel: Pixel,
5757
private val dispatcherProvider: DispatcherProvider,
5858
private val tabSwitcherDataStore: TabSwitcherDataStore,
59-
omnibarFeatureRepository: OmnibarFeatureRepository,
59+
omnibarRepository: OmnibarRepository,
6060
) : ViewModel() {
6161
data class ViewState(
6262
val theme: DuckDuckGoTheme = DuckDuckGoTheme.LIGHT,
@@ -93,7 +93,7 @@ class AppearanceViewModel @Inject constructor(
9393
supportsForceDarkMode = WebViewFeature.isFeatureSupported(WebViewFeature.ALGORITHMIC_DARKENING),
9494
isFullUrlEnabled = settingsDataStore.isFullUrlEnabled,
9595
omnibarType = settingsDataStore.omnibarType,
96-
shouldShowSplitOmnibarSettings = omnibarFeatureRepository.isSplitOmnibarAvailable,
96+
shouldShowSplitOmnibarSettings = omnibarRepository.isSplitOmnibarAvailable,
9797
),
9898
)
9999

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ import com.duckduckgo.app.browser.defaultbrowsing.prompts.ui.DefaultBrowserBotto
6161
import com.duckduckgo.app.browser.defaultbrowsing.prompts.ui.DefaultBrowserBottomSheetDialog.EventListener
6262
import com.duckduckgo.app.browser.newaddressbaroption.NewAddressBarOptionManager
6363
import com.duckduckgo.app.browser.omnibar.OmnibarEntryConverter
64+
import com.duckduckgo.app.browser.omnibar.OmnibarType
6465
import com.duckduckgo.app.browser.shortcut.ShortcutBuilder
6566
import com.duckduckgo.app.browser.tabs.TabManager
6667
import com.duckduckgo.app.browser.tabs.TabManager.TabModel
@@ -98,7 +99,6 @@ import com.duckduckgo.appbuildconfig.api.AppBuildConfig
9899
import com.duckduckgo.autofill.api.emailprotection.EmailProtectionLinkVerifier
99100
import com.duckduckgo.browser.api.ui.BrowserScreens.BookmarksScreenNoParams
100101
import com.duckduckgo.browser.api.ui.BrowserScreens.SettingsScreenNoParams
101-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
102102
import com.duckduckgo.common.ui.DuckDuckGoActivity
103103
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
104104
import com.duckduckgo.common.ui.view.addBottomShadow

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ import com.duckduckgo.app.browser.R.string
107107
import com.duckduckgo.app.browser.SSLErrorType.NONE
108108
import com.duckduckgo.app.browser.WebViewErrorResponse.LOADING
109109
import com.duckduckgo.app.browser.WebViewErrorResponse.OMITTED
110+
import com.duckduckgo.app.browser.api.OmnibarRepository
110111
import com.duckduckgo.app.browser.api.WebViewCapabilityChecker
111112
import com.duckduckgo.app.browser.api.WebViewCapabilityChecker.WebViewCapability
112113
import com.duckduckgo.app.browser.applinks.AppLinksLauncher
@@ -151,8 +152,8 @@ import com.duckduckgo.app.browser.omnibar.Omnibar.LogoClickListener
151152
import com.duckduckgo.app.browser.omnibar.Omnibar.OmnibarTextState
152153
import com.duckduckgo.app.browser.omnibar.Omnibar.TextListener
153154
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
154-
import com.duckduckgo.app.browser.omnibar.OmnibarFeatureRepository
155155
import com.duckduckgo.app.browser.omnibar.OmnibarItemPressedListener
156+
import com.duckduckgo.app.browser.omnibar.OmnibarType
156157
import com.duckduckgo.app.browser.omnibar.QueryOrigin
157158
import com.duckduckgo.app.browser.print.PrintDocumentAdapterFactory
158159
import com.duckduckgo.app.browser.print.PrintInjector
@@ -252,7 +253,6 @@ import com.duckduckgo.browser.api.ui.BrowserScreens.PrivateSearchScreenNoParams
252253
import com.duckduckgo.browser.api.ui.BrowserScreens.WebViewActivityWithParams
253254
import com.duckduckgo.browser.api.webviewcompat.WebViewCompatWrapper
254255
import com.duckduckgo.browser.ui.autocomplete.BrowserAutoCompleteSuggestionsAdapter
255-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
256256
import com.duckduckgo.common.ui.DuckDuckGoActivity
257257
import com.duckduckgo.common.ui.DuckDuckGoFragment
258258
import com.duckduckgo.common.ui.store.BrowserAppTheme
@@ -594,7 +594,7 @@ class BrowserTabFragment :
594594
lateinit var webViewCompatWrapper: WebViewCompatWrapper
595595

596596
@Inject
597-
lateinit var omnibarFeatureRepository: OmnibarFeatureRepository
597+
lateinit var omnibarRepository: OmnibarRepository
598598

599599
@Inject
600600
lateinit var webViewCompatTestHelper: WebViewCompatTestHelper
@@ -927,9 +927,10 @@ class BrowserTabFragment :
927927
}
928928

929929
InputScreenActivityResultCodes.MENU_REQUESTED -> {
930+
val isSplitOmnibarEnabled = omnibarRepository.omnibarType == OmnibarType.SPLIT
930931
launchPopupMenu(
931-
anchorToNavigationBar = omnibarFeatureRepository.isSplitOmnibarEnabled,
932-
addExtraDelay = omnibarFeatureRepository.isSplitOmnibarEnabled,
932+
anchorToNavigationBar = isSplitOmnibarEnabled,
933+
addExtraDelay = isSplitOmnibarEnabled,
933934
)
934935
}
935936

@@ -1043,7 +1044,7 @@ class BrowserTabFragment :
10431044
omnibar = Omnibar(
10441045
omnibarType = settingsDataStore.omnibarType,
10451046
binding = binding,
1046-
isUnifiedOmnibarEnabled = omnibarFeatureRepository.isUnifiedOmnibarFlagEnabled,
1047+
isUnifiedOmnibarEnabled = omnibarRepository.isUnifiedOmnibarLayoutEnabled,
10471048
)
10481049

10491050
webViewContainer = binding.webViewContainer
@@ -1204,7 +1205,7 @@ class BrowserTabFragment :
12041205
browserNavigationBarIntegration = BrowserNavigationBarViewIntegration(
12051206
lifecycleScope = lifecycleScope,
12061207
browserTabFragmentBinding = binding,
1207-
isEnabled = omnibarFeatureRepository.isSplitOmnibarEnabled,
1208+
isEnabled = omnibarRepository.omnibarType == OmnibarType.SPLIT,
12081209
omnibar = omnibar,
12091210
browserNavigationBarObserver = observer,
12101211
)
@@ -1647,7 +1648,7 @@ class BrowserTabFragment :
16471648
.flowWithLifecycle(lifecycle, Lifecycle.State.RESUMED)
16481649
.collectLatest { hasFavorites ->
16491650
binding.includeNewBrowserTab.topNtpOutlineStroke.isVisible = hasFavorites
1650-
binding.includeNewBrowserTab.bottomNtpOutlineStroke.isVisible = hasFavorites && !omnibarFeatureRepository.isSplitOmnibarEnabled
1651+
binding.includeNewBrowserTab.bottomNtpOutlineStroke.isVisible = hasFavorites && omnibarRepository.omnibarType != OmnibarType.SPLIT
16511652
}
16521653
}
16531654

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ import com.duckduckgo.app.browser.WebViewErrorResponse.LOADING
6161
import com.duckduckgo.app.browser.WebViewErrorResponse.OMITTED
6262
import com.duckduckgo.app.browser.addtohome.AddToHomeCapabilityDetector
6363
import com.duckduckgo.app.browser.animations.AddressBarTrackersAnimationFeatureToggle
64+
import com.duckduckgo.app.browser.api.OmnibarRepository
6465
import com.duckduckgo.app.browser.applinks.AppLinksHandler
6566
import com.duckduckgo.app.browser.camera.CameraHardwareChecker
6667
import com.duckduckgo.app.browser.certificates.BypassedSSLCertificatesRepository
@@ -192,7 +193,7 @@ import com.duckduckgo.app.browser.model.BasicAuthenticationRequest
192193
import com.duckduckgo.app.browser.model.LongPressTarget
193194
import com.duckduckgo.app.browser.newtab.FavoritesQuickAccessAdapter
194195
import com.duckduckgo.app.browser.omnibar.OmnibarEntryConverter
195-
import com.duckduckgo.app.browser.omnibar.OmnibarFeatureRepository
196+
import com.duckduckgo.app.browser.omnibar.OmnibarType
196197
import com.duckduckgo.app.browser.omnibar.QueryOrigin
197198
import com.duckduckgo.app.browser.omnibar.QueryOrigin.FromAutocomplete
198199
import com.duckduckgo.app.browser.refreshpixels.RefreshPixelSender
@@ -294,7 +295,6 @@ import com.duckduckgo.browser.api.brokensite.BrokenSiteData
294295
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.MENU
295296
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.RELOAD_THREE_TIMES_WITHIN_20_SECONDS
296297
import com.duckduckgo.browser.api.webviewcompat.WebViewCompatWrapper
297-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
298298
import com.duckduckgo.common.ui.tabs.SwipingTabsFeatureProvider
299299
import com.duckduckgo.common.utils.AppUrl
300300
import com.duckduckgo.common.utils.AppUrl.ParamKey.QUERY
@@ -493,7 +493,7 @@ class BrowserTabViewModel @Inject constructor(
493493
private val webViewCompatWrapper: WebViewCompatWrapper,
494494
private val addressBarTrackersAnimationFeatureToggle: AddressBarTrackersAnimationFeatureToggle,
495495
private val autoconsentPixelManager: AutoconsentPixelManager,
496-
private val omnibarFeatureRepository: OmnibarFeatureRepository,
496+
private val omnibarRepository: OmnibarRepository,
497497
private val contentScopeScriptsSubscriptionEventPluginPoint: PluginPoint<ContentScopeScriptsSubscriptionEventPlugin>,
498498
private val settingsPageFeature: SettingsPageFeature,
499499
) : ViewModel(),
@@ -2905,7 +2905,7 @@ class BrowserTabViewModel @Inject constructor(
29052905
showMenuButton = HighlightableButton.Visible(highlighted = false),
29062906
)
29072907
}
2908-
command.value = LaunchPopupMenu(anchorToNavigationBar = !isCustomTab && omnibarFeatureRepository.isSplitOmnibarEnabled)
2908+
command.value = LaunchPopupMenu(anchorToNavigationBar = !isCustomTab && omnibarRepository.omnibarType == OmnibarType.SPLIT)
29092909
}
29102910

29112911
fun onPopupMenuLaunched() {

app/src/main/java/com/duckduckgo/app/browser/navigation/bar/view/BrowserNavigationBarView.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarViewMo
4343
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarViewModel.Command.NotifyTabsButtonClicked
4444
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarViewModel.Command.NotifyTabsButtonLongClicked
4545
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarViewModel.ViewState
46+
import com.duckduckgo.app.browser.omnibar.OmnibarType
4647
import com.duckduckgo.app.browser.omnibar.OmnibarView
4748
import com.duckduckgo.app.browser.webview.TopOmnibarBrowserContainerLayoutBehavior
4849
import com.duckduckgo.app.onboardingdesignexperiment.OnboardingDesignExperimentManager
49-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
5050
import com.duckduckgo.common.ui.viewbinding.viewBinding
5151
import com.duckduckgo.common.utils.ConflatedJob
5252
import com.duckduckgo.common.utils.ViewViewModelFactory
@@ -195,6 +195,7 @@ class BrowserNavigationBarView @JvmOverloads constructor(
195195
binding.tabsButton.isVisible = viewState.tabsButtonVisible
196196
binding.tabsButton.count = viewState.tabsCount
197197
binding.tabsButton.hasUnread = viewState.hasUnreadTabs
198+
binding.browserMenuHighlight?.isVisible = viewState.showBrowserMenuHighlight
198199

199200
renderFireButtonPulseAnimation(enabled = viewState.fireButtonHighlighted)
200201
}

app/src/main/java/com/duckduckgo/app/browser/navigation/bar/view/BrowserNavigationBarViewModel.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import androidx.lifecycle.DefaultLifecycleObserver
2121
import androidx.lifecycle.ViewModel
2222
import androidx.lifecycle.viewModelScope
2323
import com.duckduckgo.anvil.annotations.ContributesViewModel
24+
import com.duckduckgo.app.browser.defaultbrowsing.prompts.AdditionalDefaultBrowserPrompts
2425
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarView.ViewMode
2526
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarView.ViewMode.Browser
2627
import com.duckduckgo.app.browser.navigation.bar.view.BrowserNavigationBarView.ViewMode.NewTab
@@ -52,9 +53,10 @@ import javax.inject.Inject
5253
@SuppressLint("NoLifecycleObserver")
5354
@ContributesViewModel(ViewScope::class)
5455
class BrowserNavigationBarViewModel @Inject constructor(
55-
private val tabRepository: TabRepository,
5656
private val pixel: Pixel,
57-
private val dispatcherProvider: DispatcherProvider,
57+
tabRepository: TabRepository,
58+
dispatcherProvider: DispatcherProvider,
59+
additionalDefaultBrowserPrompts: AdditionalDefaultBrowserPrompts,
5860
) : ViewModel(), DefaultLifecycleObserver {
5961
private val _commands = Channel<Command>(capacity = Channel.CONFLATED)
6062
val commands: Flow<Command> = _commands.receiveAsFlow()
@@ -65,11 +67,13 @@ class BrowserNavigationBarViewModel @Inject constructor(
6567
_viewState.asStateFlow(),
6668
isCustomTab,
6769
tabRepository.flowTabs,
68-
) { state, isCustomTab, tabs ->
70+
additionalDefaultBrowserPrompts.highlightPopupMenu,
71+
) { state, isCustomTab, tabs, highlightOverflowMenu ->
6972
state.copy(
7073
isVisible = !isCustomTab,
7174
tabsCount = tabs.size,
7275
hasUnreadTabs = tabs.firstOrNull { !it.viewed } != null,
76+
showBrowserMenuHighlight = highlightOverflowMenu,
7377
)
7478
}.flowOn(dispatcherProvider.io()).stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000L), ViewState())
7579

@@ -176,5 +180,6 @@ class BrowserNavigationBarViewModel @Inject constructor(
176180
val tabsButtonVisible: Boolean = true,
177181
val tabsCount: Int = 0,
178182
val hasUnreadTabs: Boolean = false,
183+
val showBrowserMenuHighlight: Boolean = false,
179184
)
180185
}

app/src/main/java/com/duckduckgo/app/browser/newaddressbaroption/NewAddressBarOptionManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
package com.duckduckgo.app.browser.newaddressbaroption
1818

1919
import android.app.Activity
20+
import com.duckduckgo.app.browser.omnibar.OmnibarType
2021
import com.duckduckgo.app.onboarding.store.AppStage
2122
import com.duckduckgo.app.onboarding.store.UserStageStore
2223
import com.duckduckgo.app.settings.db.SettingsDataStore
23-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
2424
import com.duckduckgo.common.ui.DuckDuckGoActivity
2525
import com.duckduckgo.common.utils.DefaultDispatcherProvider
2626
import com.duckduckgo.common.utils.DispatcherProvider

app/src/main/java/com/duckduckgo/app/browser/omnibar/LegacyOmnibarLayout.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ import com.duckduckgo.app.global.view.renderIfChanged
8989
import com.duckduckgo.app.onboardingdesignexperiment.OnboardingDesignExperimentManager
9090
import com.duckduckgo.app.statistics.pixels.Pixel
9191
import com.duckduckgo.app.trackerdetection.model.Entity
92-
import com.duckduckgo.browser.ui.omnibar.OmnibarType
9392
import com.duckduckgo.browser.ui.tabs.TabSwitcherButton
9493
import com.duckduckgo.common.ui.DuckDuckGoActivity
9594
import com.duckduckgo.common.ui.view.KeyboardAwareEditText

0 commit comments

Comments
 (0)