Skip to content

Commit 0f31f65

Browse files
authored
Default to Search Mode on Input Screen (#6411)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210814996510638?focus=true ### Description - Defaults the Input Screen to Search ### Steps to test this PR - [x] Tap on the omnibar - [x] Verify that the Input Screen always opens in Search Mode
1 parent e07b40b commit 0f31f65

File tree

6 files changed

+2
-96
lines changed

6 files changed

+2
-96
lines changed

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/inputscreen/store/InputScreenDataStore.kt

Lines changed: 0 additions & 65 deletions
This file was deleted.

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/inputscreen/ui/InputScreenFragment.kt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ import com.duckduckgo.duckchat.impl.R
3838
import com.duckduckgo.duckchat.impl.databinding.FragmentInputScreenBinding
3939
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command
4040
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.EditWithSelectedQuery
41-
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.SwitchModeToChat
42-
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.SwitchModeToSearch
4341
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.SwitchToTab
4442
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.UserSubmittedQuery
4543
import com.duckduckgo.duckchat.impl.inputscreen.ui.state.SubmitButtonIcon.GLOBE
@@ -154,14 +152,6 @@ class InputScreenFragment : DuckDuckGoFragment(R.layout.fragment_input_screen) {
154152
requireActivity().setResult(Activity.RESULT_OK, data)
155153
exitInterstitial()
156154
}
157-
SwitchModeToSearch -> {
158-
binding.viewPager.setCurrentItem(0, false)
159-
}
160-
161-
SwitchModeToChat -> {
162-
binding.viewPager.setCurrentItem(1, false)
163-
}
164-
165155
else -> {
166156
// TODO handle other commands
167157
}

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/inputscreen/ui/command/Command.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,4 @@ sealed class Command {
2424
data class SwitchToTab(val tabId: String) : Command()
2525
data class UserSubmittedQuery(val query: String) : Command()
2626
data class EditWithSelectedQuery(val query: String) : Command()
27-
data object SwitchModeToSearch : Command()
28-
data object SwitchModeToChat : Command()
2927
}

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/inputscreen/ui/view/InputModeWidget.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ class InputModeWidget @JvmOverloads constructor(
9393
configureTabBehavior()
9494
applyModeSpecificInputBehaviour(isSearchTab = true)
9595
configureShadow()
96+
97+
onSearchSelected?.invoke()
9698
}
9799

98100
fun provideInitialText(text: String) {

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/inputscreen/ui/viewmodel/InputScreenViewModel.kt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
3535
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
3636
import com.duckduckgo.common.utils.DispatcherProvider
3737
import com.duckduckgo.common.utils.SingleLiveEvent
38-
import com.duckduckgo.duckchat.impl.inputscreen.store.InputScreenDataStore
39-
import com.duckduckgo.duckchat.impl.inputscreen.store.InputScreenMode
4038
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command
4139
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.AutocompleteItemRemoved
4240
import com.duckduckgo.duckchat.impl.inputscreen.ui.command.Command.EditWithSelectedQuery
@@ -83,7 +81,6 @@ class InputScreenViewModel @AssistedInject constructor(
8381
private val dispatchers: DispatcherProvider,
8482
private val history: NavigationHistory,
8583
@AppCoroutineScope private val appCoroutineScope: CoroutineScope,
86-
private val inputScreenDataStore: InputScreenDataStore,
8784
private val voiceSearchAvailability: VoiceSearchAvailability,
8885
private val autoCompleteSettings: AutoCompleteSettings,
8986
) : ViewModel() {
@@ -184,17 +181,6 @@ class InputScreenViewModel @AssistedInject constructor(
184181
val command: SingleLiveEvent<Command> = SingleLiveEvent()
185182

186183
init {
187-
viewModelScope.launch {
188-
inputScreenDataStore.getLastUsedMode().let { mode ->
189-
command.value = when (mode) {
190-
null,
191-
InputScreenMode.SEARCH,
192-
-> Command.SwitchModeToSearch
193-
InputScreenMode.CHAT -> Command.SwitchModeToChat
194-
}
195-
}
196-
}
197-
198184
combine(voiceServiceAvailable, voiceInputAllowed) { serviceAvailable, inputAllowed ->
199185
serviceAvailable && inputAllowed
200186
}.onEach { voiceInputPossible ->
@@ -315,7 +301,6 @@ class InputScreenViewModel @AssistedInject constructor(
315301

316302
fun onSearchSelected() {
317303
viewModelScope.launch {
318-
inputScreenDataStore.setLastUsedMode(InputScreenMode.SEARCH)
319304
_visibilityState.update {
320305
it.copy(
321306
forceWebSearchButtonVisible = false,
@@ -326,7 +311,6 @@ class InputScreenViewModel @AssistedInject constructor(
326311

327312
fun onChatSelected() {
328313
viewModelScope.launch {
329-
inputScreenDataStore.setLastUsedMode(InputScreenMode.CHAT)
330314
_visibilityState.update {
331315
it.copy(
332316
forceWebSearchButtonVisible = true,

duckchat/duckchat-impl/src/test/kotlin/com/duckduckgo/duckchat/impl/ui/inputscreen/InputScreenViewModelTest.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
88
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteSearchSuggestion
99
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
1010
import com.duckduckgo.common.test.CoroutineTestRule
11-
import com.duckduckgo.duckchat.impl.inputscreen.store.InputScreenDataStore
1211
import com.duckduckgo.duckchat.impl.inputscreen.ui.state.SubmitButtonIcon
1312
import com.duckduckgo.duckchat.impl.inputscreen.ui.viewmodel.InputScreenViewModel
1413
import com.duckduckgo.history.api.NavigationHistory
@@ -43,7 +42,6 @@ class InputScreenViewModelTest {
4342
private val autoComplete: AutoComplete = mock()
4443
private val history: NavigationHistory = mock()
4544
private val appCoroutineScope: CoroutineScope = mock()
46-
private val inputScreenDataStore: InputScreenDataStore = mock()
4745
private val voiceSearchAvailability: VoiceSearchAvailability = mock()
4846
private val autoCompleteSettings: AutoCompleteSettings = mock()
4947

@@ -62,7 +60,6 @@ class InputScreenViewModelTest {
6260
dispatchers = coroutineRule.testDispatcherProvider,
6361
history = history,
6462
appCoroutineScope = appCoroutineScope,
65-
inputScreenDataStore = inputScreenDataStore,
6663
voiceSearchAvailability = voiceSearchAvailability,
6764
autoCompleteSettings = autoCompleteSettings,
6865
)

0 commit comments

Comments
 (0)