Skip to content

Commit a38c5d0

Browse files
committed
Revert some of the extracted interfaces
1 parent dea13a1 commit a38c5d0

21 files changed

+143
-279
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,12 @@ import com.duckduckgo.app.browser.newtab.NewTabPageProvider
145145
import com.duckduckgo.app.browser.omnibar.Omnibar
146146
import com.duckduckgo.app.browser.omnibar.OmnibarItemPressedListener
147147
import com.duckduckgo.app.browser.omnibar.QueryOrigin
148-
import com.duckduckgo.app.browser.omnibar.model.FindInPageListener
149-
import com.duckduckgo.app.browser.omnibar.model.ItemPressedListener
150-
import com.duckduckgo.app.browser.omnibar.model.LogoClickListener
151-
import com.duckduckgo.app.browser.omnibar.model.OmnibarTextState
152-
import com.duckduckgo.app.browser.omnibar.model.TextListener
153-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
148+
import com.duckduckgo.app.browser.omnibar.Omnibar.FindInPageListener
149+
import com.duckduckgo.app.browser.omnibar.Omnibar.ItemPressedListener
150+
import com.duckduckgo.app.browser.omnibar.Omnibar.LogoClickListener
151+
import com.duckduckgo.app.browser.omnibar.Omnibar.OmnibarTextState
152+
import com.duckduckgo.app.browser.omnibar.Omnibar.TextListener
153+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
154154
import com.duckduckgo.app.browser.print.PrintDocumentAdapterFactory
155155
import com.duckduckgo.app.browser.print.PrintInjector
156156
import com.duckduckgo.app.browser.remotemessage.SharePromoLinkRMFBroadCastReceiver

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

Lines changed: 94 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package com.duckduckgo.app.browser.omnibar
1818

1919
import android.annotation.SuppressLint
2020
import android.text.Editable
21+
import android.view.MotionEvent
2122
import android.view.View
2223
import android.widget.ImageView
2324
import androidx.appcompat.widget.Toolbar
@@ -33,18 +34,7 @@ import com.duckduckgo.app.browser.omnibar.model.Decoration
3334
import com.duckduckgo.app.browser.omnibar.model.Decoration.DisableVoiceSearch
3435
import com.duckduckgo.app.browser.omnibar.model.Decoration.HighlightOmnibarItem
3536
import com.duckduckgo.app.browser.omnibar.model.Decoration.Mode
36-
import com.duckduckgo.app.browser.omnibar.model.FindInPageListener
37-
import com.duckduckgo.app.browser.omnibar.model.InputScreenLaunchListener
38-
import com.duckduckgo.app.browser.omnibar.model.ItemPressedListener
39-
import com.duckduckgo.app.browser.omnibar.model.LogoClickListener
4037
import com.duckduckgo.app.browser.omnibar.model.StateChange
41-
import com.duckduckgo.app.browser.omnibar.model.TextListener
42-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
43-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.CustomTab
44-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.Error
45-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.MaliciousSiteWarning
46-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.NewTab
47-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.SSLWarning
4838
import com.duckduckgo.app.browser.viewstate.BrowserViewState
4939
import com.duckduckgo.app.browser.viewstate.FindInPageViewState
5040
import com.duckduckgo.app.browser.viewstate.LoadingViewState
@@ -73,6 +63,94 @@ class Omnibar(
7363
private val binding: FragmentBrowserTabBinding,
7464
isUnifiedOmnibarEnabled: Boolean,
7565
) {
66+
interface ItemPressedListener {
67+
fun onTabsButtonPressed()
68+
69+
fun onTabsButtonLongPressed()
70+
71+
fun onFireButtonPressed()
72+
73+
fun onBrowserMenuPressed()
74+
75+
fun onPrivacyShieldPressed()
76+
77+
fun onCustomTabClosePressed()
78+
79+
fun onCustomTabPrivacyDashboardPressed()
80+
81+
fun onVoiceSearchPressed()
82+
83+
fun onDuckChatButtonPressed()
84+
85+
fun onBackButtonPressed()
86+
}
87+
88+
interface FindInPageListener {
89+
fun onFocusChanged(
90+
hasFocus: Boolean,
91+
query: String,
92+
)
93+
94+
fun onPreviousSearchItemPressed()
95+
96+
fun onNextSearchItemPressed()
97+
98+
fun onClosePressed()
99+
100+
fun onFindInPageTextChanged(query: String)
101+
}
102+
103+
interface TextListener {
104+
fun onFocusChanged(
105+
hasFocus: Boolean,
106+
query: String,
107+
)
108+
109+
fun onBackKeyPressed()
110+
111+
fun onEnterPressed()
112+
113+
fun onTouchEvent(event: MotionEvent)
114+
115+
fun onOmnibarTextChanged(state: OmnibarTextState)
116+
117+
fun onShowSuggestions(state: OmnibarTextState)
118+
119+
fun onTrackersCountFinished()
120+
}
121+
122+
fun interface InputScreenLaunchListener {
123+
fun launchInputScreen(query: String)
124+
}
125+
126+
interface LogoClickListener {
127+
fun onClick(url: String)
128+
}
129+
130+
data class OmnibarTextState(
131+
val text: String,
132+
val hasFocus: Boolean,
133+
)
134+
sealed class ViewMode {
135+
data object Error : ViewMode()
136+
137+
data object SSLWarning : ViewMode()
138+
139+
data object MaliciousSiteWarning : ViewMode()
140+
141+
data object NewTab : ViewMode()
142+
143+
data class Browser(
144+
val url: String?,
145+
) : ViewMode()
146+
147+
data class CustomTab(
148+
val toolbarColor: Int,
149+
val title: String?,
150+
val domain: String?,
151+
val showDuckPlayerIcon: Boolean = false,
152+
) : ViewMode()
153+
}
76154

77155
val omnibarView: OmnibarView by lazy {
78156
if (isUnifiedOmnibarEnabled) {
@@ -186,19 +264,19 @@ class Omnibar(
186264
logcat { "Omnibar: setViewMode $newViewMode" }
187265
viewMode = newViewMode
188266
when (newViewMode) {
189-
Error -> {
267+
ViewMode.Error -> {
190268
omnibarView.decorate(Mode(newViewMode))
191269
}
192270

193-
NewTab -> {
271+
ViewMode.NewTab -> {
194272
omnibarView.decorate(Mode(newViewMode))
195273
}
196274

197-
SSLWarning -> {
275+
ViewMode.SSLWarning -> {
198276
omnibarView.decorate(Mode(newViewMode))
199277
}
200278

201-
MaliciousSiteWarning -> {
279+
ViewMode.MaliciousSiteWarning -> {
202280
omnibarView.decorate(Mode(newViewMode))
203281
}
204282

@@ -344,7 +422,7 @@ class Omnibar(
344422
customTabToolbarColor: Int,
345423
customTabDomainText: String?,
346424
) {
347-
omnibarView.decorate(Mode(CustomTab(toolbarColor = customTabToolbarColor, title = null, domain = customTabDomainText)))
425+
omnibarView.decorate(Mode(ViewMode.CustomTab(toolbarColor = customTabToolbarColor, title = null, domain = customTabDomainText)))
348426
}
349427

350428
fun showWebPageTitleInCustomTab(

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchTrackersAnimati
7878
import com.duckduckgo.app.browser.omnibar.model.Decoration.Mode
7979
import com.duckduckgo.app.browser.omnibar.model.Decoration.PrivacyShieldChanged
8080
import com.duckduckgo.app.browser.omnibar.model.Decoration.QueueCookiesAnimation
81-
import com.duckduckgo.app.browser.omnibar.model.InputScreenLaunchListener
82-
import com.duckduckgo.app.browser.omnibar.model.ItemPressedListener
83-
import com.duckduckgo.app.browser.omnibar.model.LogoClickListener
84-
import com.duckduckgo.app.browser.omnibar.model.OmnibarTextState
81+
import com.duckduckgo.app.browser.omnibar.Omnibar.InputScreenLaunchListener
82+
import com.duckduckgo.app.browser.omnibar.Omnibar.ItemPressedListener
83+
import com.duckduckgo.app.browser.omnibar.Omnibar.LogoClickListener
84+
import com.duckduckgo.app.browser.omnibar.Omnibar.OmnibarTextState
8585
import com.duckduckgo.app.browser.omnibar.model.StateChange
86-
import com.duckduckgo.app.browser.omnibar.model.TextListener
87-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
86+
import com.duckduckgo.app.browser.omnibar.Omnibar.TextListener
87+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
8888
import com.duckduckgo.app.global.view.renderIfChanged
8989
import com.duckduckgo.app.onboardingdesignexperiment.OnboardingDesignExperimentManager
9090
import com.duckduckgo.app.statistics.pixels.Pixel
@@ -361,7 +361,7 @@ open class OmnibarLayout @JvmOverloads constructor(
361361
omnibarTextListener = textListener
362362

363363
omnibarTextInput.onFocusChangeListener =
364-
View.OnFocusChangeListener { _, hasFocus: Boolean ->
364+
OnFocusChangeListener { _, hasFocus: Boolean ->
365365
if (isAttachedToWindow) {
366366
viewModel.onOmnibarFocusChanged(hasFocus, omnibarTextInput.text.toString())
367367
omnibarTextListener?.onFocusChanged(hasFocus, omnibarTextInput.text.toString())
@@ -513,7 +513,7 @@ open class OmnibarLayout @JvmOverloads constructor(
513513
}
514514
}
515515

516-
open fun processCommand(command: OmnibarLayoutViewModel.Command) {
516+
open fun processCommand(command: Command) {
517517
when (command) {
518518
Command.CancelAnimations -> {
519519
cancelAddressBarAnimations()

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchCookiesAnimatio
3636
import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchTrackersAnimation
3737
import com.duckduckgo.app.browser.omnibar.model.StateChange
3838
import com.duckduckgo.app.browser.omnibar.model.StateChange.OmnibarStateChange
39-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
40-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.Browser
41-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.CustomTab
42-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.Error
43-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.MaliciousSiteWarning
44-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.NewTab
45-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.SSLWarning
39+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
40+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.Browser
41+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.CustomTab
42+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.Error
43+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.MaliciousSiteWarning
44+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.NewTab
45+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.SSLWarning
4646
import com.duckduckgo.app.browser.viewstate.HighlightableButton
4747
import com.duckduckgo.app.browser.viewstate.LoadingViewState
4848
import com.duckduckgo.app.browser.viewstate.OmnibarViewState

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import androidx.appcompat.widget.Toolbar
2222
import com.airbnb.lottie.LottieAnimationView
2323
import com.duckduckgo.app.browser.databinding.IncludeFindInPageBinding
2424
import com.duckduckgo.app.browser.omnibar.model.Decoration
25-
import com.duckduckgo.app.browser.omnibar.model.InputScreenLaunchListener
26-
import com.duckduckgo.app.browser.omnibar.model.ItemPressedListener
27-
import com.duckduckgo.app.browser.omnibar.model.LogoClickListener
25+
import com.duckduckgo.app.browser.omnibar.Omnibar.InputScreenLaunchListener
26+
import com.duckduckgo.app.browser.omnibar.Omnibar.ItemPressedListener
27+
import com.duckduckgo.app.browser.omnibar.Omnibar.LogoClickListener
2828
import com.duckduckgo.app.browser.omnibar.model.StateChange
29-
import com.duckduckgo.app.browser.omnibar.model.TextListener
29+
import com.duckduckgo.app.browser.omnibar.Omnibar.TextListener
3030
import com.duckduckgo.browser.ui.omnibar.OmnibarPosition
3131
import com.duckduckgo.common.ui.view.KeyboardAwareEditText
3232
import kotlinx.coroutines.flow.Flow

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import androidx.core.view.updateLayoutParams
3030
import com.duckduckgo.anvil.annotations.InjectWith
3131
import com.duckduckgo.app.browser.R
3232
import com.duckduckgo.app.browser.omnibar.OmnibarLayoutViewModel.ViewState
33-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
33+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
3434
import com.duckduckgo.browser.ui.omnibar.OmnibarPosition
3535
import com.duckduckgo.common.ui.view.addBottomShadow
3636
import com.duckduckgo.common.ui.view.gone
@@ -92,8 +92,8 @@ class SingleOmnibarLayout @JvmOverloads constructor(
9292
override val omnibarPosition: OmnibarPosition
9393

9494
init {
95-
val attr = context.theme.obtainStyledAttributes(attrs, R.styleable.SingleOmnibarLayout, defStyle, 0)
96-
omnibarPosition = OmnibarPosition.entries[attr.getInt(R.styleable.SingleOmnibarLayout_omnibarPosition, 0)]
95+
val attr = context.theme.obtainStyledAttributes(attrs, R.styleable.OmnibarLayout, defStyle, 0)
96+
omnibarPosition = OmnibarPosition.entries[attr.getInt(R.styleable.OmnibarLayout_omnibarPosition, 0)]
9797

9898
inflate(context, R.layout.view_single_omnibar, this)
9999

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchTrackersAnimati
8383
import com.duckduckgo.app.browser.omnibar.model.Decoration.Mode
8484
import com.duckduckgo.app.browser.omnibar.model.Decoration.PrivacyShieldChanged
8585
import com.duckduckgo.app.browser.omnibar.model.Decoration.QueueCookiesAnimation
86-
import com.duckduckgo.app.browser.omnibar.model.InputScreenLaunchListener
87-
import com.duckduckgo.app.browser.omnibar.model.ItemPressedListener
88-
import com.duckduckgo.app.browser.omnibar.model.LogoClickListener
89-
import com.duckduckgo.app.browser.omnibar.model.OmnibarTextState
86+
import com.duckduckgo.app.browser.omnibar.Omnibar.InputScreenLaunchListener
87+
import com.duckduckgo.app.browser.omnibar.Omnibar.ItemPressedListener
88+
import com.duckduckgo.app.browser.omnibar.Omnibar.LogoClickListener
89+
import com.duckduckgo.app.browser.omnibar.Omnibar.OmnibarTextState
9090
import com.duckduckgo.app.browser.omnibar.model.StateChange
91-
import com.duckduckgo.app.browser.omnibar.model.TextListener
92-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
91+
import com.duckduckgo.app.browser.omnibar.Omnibar.TextListener
92+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
9393
import com.duckduckgo.app.global.view.renderIfChanged
9494
import com.duckduckgo.app.onboardingdesignexperiment.OnboardingDesignExperimentManager
9595
import com.duckduckgo.app.statistics.pixels.Pixel
@@ -123,6 +123,7 @@ import kotlinx.coroutines.flow.map
123123
import kotlinx.coroutines.launch
124124
import logcat.logcat
125125
import javax.inject.Inject
126+
import kotlin.collections.isNotEmpty
126127
import kotlin.jvm.java
127128
import com.duckduckgo.app.global.model.PrivacyShield as PrivacyShieldState
128129
import com.duckduckgo.mobile.android.R as CommonR
@@ -424,7 +425,7 @@ class UnifiedOmnibarLayout @JvmOverloads constructor(
424425
omnibarTextListener = textListener
425426

426427
omnibarTextInput.onFocusChangeListener =
427-
View.OnFocusChangeListener { _, hasFocus: Boolean ->
428+
OnFocusChangeListener { _, hasFocus: Boolean ->
428429
if (isAttachedToWindow) {
429430
viewModel.onOmnibarFocusChanged(hasFocus, omnibarTextInput.text.toString())
430431
omnibarTextListener?.onFocusChanged(hasFocus, omnibarTextInput.text.toString())

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchCookiesAnimatio
3535
import com.duckduckgo.app.browser.omnibar.model.Decoration.LaunchTrackersAnimation
3636
import com.duckduckgo.app.browser.omnibar.model.StateChange
3737
import com.duckduckgo.app.browser.omnibar.model.StateChange.OmnibarStateChange
38-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
39-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.Browser
40-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.CustomTab
41-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.Error
42-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.MaliciousSiteWarning
43-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.NewTab
44-
import com.duckduckgo.app.browser.omnibar.model.ViewMode.SSLWarning
38+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
39+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.Browser
40+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.CustomTab
41+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.Error
42+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.MaliciousSiteWarning
43+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.NewTab
44+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode.SSLWarning
4545
import com.duckduckgo.app.browser.viewstate.HighlightableButton
4646
import com.duckduckgo.app.browser.viewstate.LoadingViewState
4747
import com.duckduckgo.app.browser.viewstate.OmnibarViewState

app/src/main/java/com/duckduckgo/app/browser/omnibar/animations/addressbar/LottiePrivacyShieldAnimationHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package com.duckduckgo.app.browser.omnibar.animations.addressbar
1919
import com.airbnb.lottie.LottieAnimationView
2020
import com.duckduckgo.app.browser.R
2121
import com.duckduckgo.app.browser.animations.AddressBarTrackersAnimationFeatureToggle
22-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
22+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
2323
import com.duckduckgo.app.global.model.PrivacyShield
2424
import com.duckduckgo.app.global.model.PrivacyShield.MALICIOUS
2525
import com.duckduckgo.app.global.model.PrivacyShield.PROTECTED

app/src/main/java/com/duckduckgo/app/browser/omnibar/animations/addressbar/PrivacyShieldAnimationHelper.kt

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

1919
import com.airbnb.lottie.LottieAnimationView
20-
import com.duckduckgo.app.browser.omnibar.model.ViewMode
20+
import com.duckduckgo.app.browser.omnibar.Omnibar.ViewMode
2121
import com.duckduckgo.app.global.model.PrivacyShield
2222

2323
/** Public interface for the Privacy Shield Animation Helper */

0 commit comments

Comments
 (0)