Skip to content

Commit a4251ce

Browse files
authored
Open settings from Input Screen autocomplete (#6330)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1210695297519854?focus=true ### Description - Moves `PrivateSearchScreenNoParams` into `browser-api` so it is accessible outside the `app` module. - Moves `AutoCompleteSettings` into `browser-api` so it is accessible outside the `app` module. - Uncomments the line to open “Private Search” settings from autocomplete. ### Steps to test this PR - [x] Fresh install, Enable Duck.ai > Search Input - [x] Search for something - [x] Tap the address bar and tap “Open Settings” on the “Same Privacy…” dialog - [x] Verify that the “Private Search” settings screen opens - [x] Disable “Search suggestions" - [x] Verify that autocomplete is hidden --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1210697405257087 - https://app.asana.com/0/0/1210697405257088
1 parent 6746b3d commit a4251ce

File tree

19 files changed

+74
-37
lines changed

19 files changed

+74
-37
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
216216
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteSearchSuggestion
217217
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteUrlSuggestion.AutoCompleteBookmarkSuggestion
218218
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteUrlSuggestion.AutoCompleteSwitchToTabSuggestion
219+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
219220
import com.duckduckgo.browser.api.brokensite.BrokenSiteContext
220221
import com.duckduckgo.common.test.CoroutineTestRule
221222
import com.duckduckgo.common.test.InstantSchedulersRule
@@ -432,6 +433,8 @@ class BrowserTabViewModelTest {
432433

433434
private val mockSettingsDataStore: SettingsDataStore = mock()
434435

436+
private val mockAutoCompleteSettings: AutoCompleteSettings = mock()
437+
435438
private val mockAdClickManager: AdClickManager = mock()
436439

437440
private val mockUserAllowListRepository: UserAllowListRepository = mock()
@@ -796,6 +799,7 @@ class BrowserTabViewModelTest {
796799
onboardingDesignExperimentToggles = fakeOnboardingDesignExperimentToggles,
797800
tabManager = tabManager,
798801
addressDisplayFormatter = mockAddressDisplayFormatter,
802+
autoCompleteSettings = mockAutoCompleteSettings,
799803
)
800804

801805
testee.loadData("abc", null, false, false)
@@ -1532,14 +1536,14 @@ class BrowserTabViewModelTest {
15321536
@Test
15331537
fun whenTriggeringAutocompleteThenAutoCompleteSuggestionsShown() = runTest {
15341538
whenever(mockAutoCompleteService.autoComplete("foo")).thenReturn(emptyList())
1535-
doReturn(true).whenever(ctaViewModelMockSettingsStore).autoCompleteSuggestionsEnabled
1539+
doReturn(true).whenever(mockAutoCompleteSettings).autoCompleteSuggestionsEnabled
15361540
testee.triggerAutocomplete("foo", true, hasQueryChanged = true)
15371541
assertTrue(autoCompleteViewState().showSuggestions)
15381542
}
15391543

15401544
@Test
15411545
fun whenTriggeringAutoCompleteButNoQueryChangeThenAutoCompleteSuggestionsNotShown() {
1542-
doReturn(true).whenever(ctaViewModelMockSettingsStore).autoCompleteSuggestionsEnabled
1546+
doReturn(true).whenever(mockAutoCompleteSettings).autoCompleteSuggestionsEnabled
15431547
testee.triggerAutocomplete("foo", true, hasQueryChanged = false)
15441548
assertFalse(autoCompleteViewState().showSuggestions)
15451549
}
@@ -1560,7 +1564,7 @@ class BrowserTabViewModelTest {
15601564
),
15611565
),
15621566
)
1563-
doReturn(true).whenever(ctaViewModelMockSettingsStore).autoCompleteSuggestionsEnabled
1567+
doReturn(true).whenever(mockAutoCompleteSettings).autoCompleteSuggestionsEnabled
15641568
testee.triggerAutocomplete("https://example.com", true, hasQueryChanged = false)
15651569
assertFalse(autoCompleteViewState().showSuggestions)
15661570
assertTrue(autoCompleteViewState().showFavorites)
@@ -1582,7 +1586,7 @@ class BrowserTabViewModelTest {
15821586
whenever(mockTabRepository.flowTabs).thenReturn(
15831587
flowOf(listOf(TabEntity(tabId = "1", position = 1, url = "https://example.com", title = "title"))),
15841588
)
1585-
doReturn(true).whenever(ctaViewModelMockSettingsStore).autoCompleteSuggestionsEnabled
1589+
doReturn(true).whenever(mockAutoCompleteSettings).autoCompleteSuggestionsEnabled
15861590

15871591
whenever(mockAutoCompleteRepository.wasHistoryInAutoCompleteIAMDismissed()).thenReturn(false)
15881592
whenever(mockAutoCompleteRepository.countHistoryInAutoCompleteIAMShown()).thenReturn(0)
@@ -1608,7 +1612,7 @@ class BrowserTabViewModelTest {
16081612
flowOf(listOf(Favorite("abc", "title", "https://example.com", position = 1, lastModified = null))),
16091613
)
16101614
whenever(mockNavigationHistory.getHistory()).thenReturn(flowOf(emptyList()))
1611-
doReturn(true).whenever(ctaViewModelMockSettingsStore).autoCompleteSuggestionsEnabled
1615+
doReturn(true).whenever(mockAutoCompleteSettings).autoCompleteSuggestionsEnabled
16121616
testee.autoCompleteStateFlow.value = "query"
16131617
testee.autoCompleteSuggestionsGone()
16141618
verify(mockAutoCompleteRepository, never()).submitUserSeenHistoryIAM()

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ import com.duckduckgo.app.global.view.launchDefaultAppActivity
198198
import com.duckduckgo.app.global.view.renderIfChanged
199199
import com.duckduckgo.app.onboardingdesignexperiment.OnboardingDesignExperimentToggles
200200
import com.duckduckgo.app.pixels.AppPixelName
201-
import com.duckduckgo.app.privatesearch.PrivateSearchScreenNoParams
202201
import com.duckduckgo.app.settings.db.SettingsDataStore
203202
import com.duckduckgo.app.statistics.pixels.Pixel
204203
import com.duckduckgo.app.tabs.ui.GridViewColumnCalculator
@@ -241,6 +240,7 @@ import com.duckduckgo.browser.api.WebViewVersionProvider
241240
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion
242241
import com.duckduckgo.browser.api.brokensite.BrokenSiteData
243242
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.RELOAD_THREE_TIMES_WITHIN_20_SECONDS
243+
import com.duckduckgo.browser.api.ui.BrowserScreens.PrivateSearchScreenNoParams
244244
import com.duckduckgo.browser.api.ui.BrowserScreens.WebViewActivityWithParams
245245
import com.duckduckgo.common.ui.DuckDuckGoActivity
246246
import com.duckduckgo.common.ui.DuckDuckGoFragment

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
287287
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteSearchSuggestion
288288
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteUrlSuggestion.AutoCompleteBookmarkSuggestion
289289
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteUrlSuggestion.AutoCompleteSwitchToTabSuggestion
290+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
290291
import com.duckduckgo.browser.api.brokensite.BrokenSiteData
291292
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.MENU
292293
import com.duckduckgo.browser.api.brokensite.BrokenSiteData.ReportFlow.RELOAD_THREE_TIMES_WITHIN_20_SECONDS
@@ -409,6 +410,7 @@ class BrowserTabViewModel @Inject constructor(
409410
private val navigationAwareLoginDetector: NavigationAwareLoginDetector,
410411
private val autoComplete: AutoComplete,
411412
private val appSettingsPreferencesStore: SettingsDataStore,
413+
private val autoCompleteSettings: AutoCompleteSettings,
412414
private val longPressHandler: LongPressHandler,
413415
private val webViewSessionStorage: WebViewSessionStorage,
414416
private val specialUrlDetector: SpecialUrlDetector,
@@ -2229,7 +2231,7 @@ class BrowserTabViewModel @Inject constructor(
22292231
currentAutoCompleteViewState().searchResults
22302232
}
22312233

2232-
val autoCompleteSuggestionsEnabled = appSettingsPreferencesStore.autoCompleteSuggestionsEnabled
2234+
val autoCompleteSuggestionsEnabled = autoCompleteSettings.autoCompleteSuggestionsEnabled
22332235
val showAutoCompleteSuggestions = hasFocus && query.isNotBlank() && hasQueryChanged && autoCompleteSuggestionsEnabled
22342236
val showFavoritesAsSuggestions = if (!showAutoCompleteSuggestions) {
22352237
val urlFocused =

app/src/main/java/com/duckduckgo/app/generalsettings/GeneralSettingsViewModel.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import com.duckduckgo.app.pixels.AppPixelName.AUTOCOMPLETE_RECENT_SITES_GENERAL_
3030
import com.duckduckgo.app.pixels.remoteconfig.AndroidBrowserConfigFeature
3131
import com.duckduckgo.app.settings.db.SettingsDataStore
3232
import com.duckduckgo.app.statistics.pixels.Pixel
33+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
3334
import com.duckduckgo.common.utils.DispatcherProvider
3435
import com.duckduckgo.di.scopes.ActivityScope
3536
import com.duckduckgo.history.api.NavigationHistory
@@ -55,6 +56,7 @@ import logcat.logcat
5556
@ContributesViewModel(ActivityScope::class)
5657
class GeneralSettingsViewModel @Inject constructor(
5758
private val settingsDataStore: SettingsDataStore,
59+
private val autoCompleteSettings: AutoCompleteSettings,
5860
private val pixel: Pixel,
5961
private val history: NavigationHistory,
6062
private val voiceSearchAvailability: VoiceSearchAvailability,
@@ -91,12 +93,12 @@ class GeneralSettingsViewModel @Inject constructor(
9193

9294
init {
9395
viewModelScope.launch(dispatcherProvider.io()) {
94-
val autoCompleteEnabled = settingsDataStore.autoCompleteSuggestionsEnabled
96+
val autoCompleteEnabled = autoCompleteSettings.autoCompleteSuggestionsEnabled
9597
if (!autoCompleteEnabled) {
9698
history.setHistoryUserEnabled(false)
9799
}
98100
_viewState.value = ViewState(
99-
autoCompleteSuggestionsEnabled = settingsDataStore.autoCompleteSuggestionsEnabled,
101+
autoCompleteSuggestionsEnabled = autoCompleteSettings.autoCompleteSuggestionsEnabled,
100102
autoCompleteRecentlyVisitedSitesSuggestionsUserEnabled = history.isHistoryUserEnabled(),
101103
storeHistoryEnabled = history.isHistoryFeatureAvailable(),
102104
showVoiceSearch = voiceSearchAvailability.isVoiceSearchSupported,
@@ -117,7 +119,7 @@ class GeneralSettingsViewModel @Inject constructor(
117119
fun onAutocompleteSettingChanged(enabled: Boolean) {
118120
logcat(INFO) { "User changed autocomplete setting, is now enabled: $enabled" }
119121
viewModelScope.launch(dispatcherProvider.io()) {
120-
settingsDataStore.autoCompleteSuggestionsEnabled = enabled
122+
autoCompleteSettings.autoCompleteSuggestionsEnabled = enabled
121123
if (!enabled) {
122124
history.setHistoryUserEnabled(false)
123125
}

app/src/main/java/com/duckduckgo/app/privatesearch/PrivateSearchActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.duckduckgo.anvil.annotations.InjectWith
2727
import com.duckduckgo.app.browser.R
2828
import com.duckduckgo.app.browser.databinding.ActivityPrivateSearchBinding
2929
import com.duckduckgo.app.privatesearch.PrivateSearchViewModel.Command
30+
import com.duckduckgo.browser.api.ui.BrowserScreens.PrivateSearchScreenNoParams
3031
import com.duckduckgo.browser.api.ui.BrowserScreens.WebViewActivityWithParams
3132
import com.duckduckgo.common.ui.DuckDuckGoActivity
3233
import com.duckduckgo.common.ui.viewbinding.viewBinding

app/src/main/java/com/duckduckgo/app/privatesearch/PrivateSearchViewModel.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ import com.duckduckgo.app.pixels.AppPixelName.AUTOCOMPLETE_HISTORY_TOGGLED_OFF
2424
import com.duckduckgo.app.pixels.AppPixelName.AUTOCOMPLETE_HISTORY_TOGGLED_ON
2525
import com.duckduckgo.app.pixels.AppPixelName.AUTOCOMPLETE_TOGGLED_OFF
2626
import com.duckduckgo.app.pixels.AppPixelName.AUTOCOMPLETE_TOGGLED_ON
27-
import com.duckduckgo.app.settings.db.SettingsDataStore
2827
import com.duckduckgo.app.statistics.pixels.Pixel
28+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
2929
import com.duckduckgo.common.utils.DispatcherProvider
3030
import com.duckduckgo.di.scopes.ActivityScope
3131
import com.duckduckgo.history.api.NavigationHistory
@@ -42,7 +42,7 @@ import logcat.logcat
4242

4343
@ContributesViewModel(ActivityScope::class)
4444
class PrivateSearchViewModel @Inject constructor(
45-
private val settingsDataStore: SettingsDataStore,
45+
private val autoCompleteSettings: AutoCompleteSettings,
4646
private val pixel: Pixel,
4747
private val history: NavigationHistory,
4848
private val dispatcherProvider: DispatcherProvider,
@@ -65,12 +65,12 @@ class PrivateSearchViewModel @Inject constructor(
6565

6666
init {
6767
viewModelScope.launch(dispatcherProvider.io()) {
68-
val autoCompleteEnabled = settingsDataStore.autoCompleteSuggestionsEnabled
68+
val autoCompleteEnabled = autoCompleteSettings.autoCompleteSuggestionsEnabled
6969
if (!autoCompleteEnabled) {
7070
history.setHistoryUserEnabled(false)
7171
}
7272
_viewState.value = ViewState(
73-
autoCompleteSuggestionsEnabled = settingsDataStore.autoCompleteSuggestionsEnabled,
73+
autoCompleteSuggestionsEnabled = autoCompleteSettings.autoCompleteSuggestionsEnabled,
7474
autoCompleteRecentlyVisitedSitesSuggestionsUserEnabled = history.isHistoryUserEnabled(),
7575
storeHistoryEnabled = history.isHistoryFeatureAvailable(),
7676
)
@@ -84,7 +84,7 @@ class PrivateSearchViewModel @Inject constructor(
8484
fun onAutocompleteSettingChanged(enabled: Boolean) {
8585
logcat(INFO) { "User changed autocomplete setting, is now enabled: $enabled" }
8686
viewModelScope.launch(dispatcherProvider.io()) {
87-
settingsDataStore.autoCompleteSuggestionsEnabled = enabled
87+
autoCompleteSettings.autoCompleteSuggestionsEnabled = enabled
8888
if (!enabled) {
8989
history.setHistoryUserEnabled(false)
9090
}

app/src/main/java/com/duckduckgo/app/settings/SettingsActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ import com.duckduckgo.app.global.view.launchDefaultAppActivity
4040
import com.duckduckgo.app.permissions.PermissionsScreenNoParams
4141
import com.duckduckgo.app.pixels.AppPixelName
4242
import com.duckduckgo.app.pixels.AppPixelName.PRIVACY_PRO_IS_ENABLED_AND_ELIGIBLE
43-
import com.duckduckgo.app.privatesearch.PrivateSearchScreenNoParams
4443
import com.duckduckgo.app.settings.SettingsViewModel.Command
4544
import com.duckduckgo.app.settings.SettingsViewModel.Command.LaunchAboutScreen
4645
import com.duckduckgo.app.settings.SettingsViewModel.Command.LaunchAccessibilitySettings
@@ -73,6 +72,7 @@ import com.duckduckgo.autoconsent.impl.ui.AutoconsentSettingsActivity
7372
import com.duckduckgo.autofill.api.AutofillScreenLaunchSource
7473
import com.duckduckgo.autofill.api.AutofillScreens.AutofillPasswordsManagementScreen
7574
import com.duckduckgo.autofill.api.AutofillScreens.AutofillSettingsScreen
75+
import com.duckduckgo.browser.api.ui.BrowserScreens.PrivateSearchScreenNoParams
7676
import com.duckduckgo.browser.api.ui.BrowserScreens.SettingsScreenNoParams
7777
import com.duckduckgo.common.ui.DuckDuckGoActivity
7878
import com.duckduckgo.common.ui.view.gone

app/src/main/java/com/duckduckgo/app/settings/db/SettingsDataStore.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ import com.duckduckgo.app.settings.clear.ClearWhatOption
2828
import com.duckduckgo.app.settings.clear.ClearWhenOption
2929
import com.duckduckgo.app.settings.clear.FireAnimation
3030
import com.duckduckgo.appbuildconfig.api.AppBuildConfig
31+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
3132
import com.duckduckgo.di.scopes.AppScope
3233
import com.squareup.anvil.annotations.ContributesBinding
34+
import dagger.SingleInstanceIn
3335
import javax.inject.Inject
3436

3537
interface SettingsDataStore {
@@ -38,7 +40,6 @@ interface SettingsDataStore {
3840

3941
@Deprecated(message = "hideTips variable is deprecated and no longer available in onboarding")
4042
var hideTips: Boolean
41-
var autoCompleteSuggestionsEnabled: Boolean
4243
var maliciousSiteProtectionEnabled: Boolean
4344
var appIcon: AppIcon
4445
var selectedFireAnimation: FireAnimation
@@ -91,11 +92,19 @@ interface SettingsDataStore {
9192
fun clearAppBackgroundTimestamp()
9293
}
9394

94-
@ContributesBinding(AppScope::class)
95+
@ContributesBinding(
96+
scope = AppScope::class,
97+
boundType = SettingsDataStore::class,
98+
)
99+
@ContributesBinding(
100+
scope = AppScope::class,
101+
boundType = AutoCompleteSettings::class,
102+
)
103+
@SingleInstanceIn(AppScope::class)
95104
class SettingsSharedPreferences @Inject constructor(
96105
private val context: Context,
97106
private val appBuildConfig: AppBuildConfig,
98-
) : SettingsDataStore {
107+
) : SettingsDataStore, AutoCompleteSettings {
99108

100109
private val fireAnimationMapper = FireAnimationPrefsMapper()
101110

app/src/main/java/com/duckduckgo/app/systemsearch/SystemSearchActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ import com.duckduckgo.app.browser.newtab.QuickAccessDragTouchItemListener
5151
import com.duckduckgo.app.browser.omnibar.OmnibarScrolling
5252
import com.duckduckgo.app.fire.DataClearerForegroundAppRestartPixel
5353
import com.duckduckgo.app.pixels.AppPixelName
54-
import com.duckduckgo.app.privatesearch.PrivateSearchScreenNoParams
5554
import com.duckduckgo.app.settings.db.SettingsDataStore
5655
import com.duckduckgo.app.statistics.pixels.Pixel
5756
import com.duckduckgo.app.systemsearch.SystemSearchViewModel.Command.*
5857
import com.duckduckgo.app.tabs.ui.GridViewColumnCalculator
5958
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion
59+
import com.duckduckgo.browser.api.ui.BrowserScreens.PrivateSearchScreenNoParams
6060
import com.duckduckgo.common.ui.DuckDuckGoActivity
6161
import com.duckduckgo.common.ui.view.dialog.TextAlertDialogBuilder
6262
import com.duckduckgo.common.ui.view.hideKeyboard

app/src/main/java/com/duckduckgo/app/systemsearch/SystemSearchViewModel.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggesti
4040
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteHistoryRelatedSuggestion.AutoCompleteHistorySuggestion
4141
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteHistoryRelatedSuggestion.AutoCompleteInAppMessageSuggestion
4242
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteUrlSuggestion.AutoCompleteSwitchToTabSuggestion
43+
import com.duckduckgo.browser.api.autocomplete.AutoCompleteSettings
4344
import com.duckduckgo.common.utils.ConflatedJob
4445
import com.duckduckgo.common.utils.DispatcherProvider
4546
import com.duckduckgo.common.utils.SingleLiveEvent
@@ -86,6 +87,7 @@ class SystemSearchViewModel @Inject constructor(
8687
private val pixel: Pixel,
8788
private val savedSitesRepository: SavedSitesRepository,
8889
private val appSettingsPreferencesStore: SettingsDataStore,
90+
private val autoCompleteSettings: AutoCompleteSettings,
8991
private val history: NavigationHistory,
9092
private val dispatchers: DispatcherProvider,
9193
@AppCoroutineScope private val appCoroutineScope: CoroutineScope,
@@ -243,7 +245,7 @@ class SystemSearchViewModel @Inject constructor(
243245
return
244246
}
245247

246-
if (appSettingsPreferencesStore.autoCompleteSuggestionsEnabled) {
248+
if (autoCompleteSettings.autoCompleteSuggestionsEnabled) {
247249
val trimmedQuery = query.trim()
248250
resultsStateFlow.value = trimmedQuery
249251
}
@@ -278,7 +280,7 @@ class SystemSearchViewModel @Inject constructor(
278280
}
279281

280282
private fun inputCleared() {
281-
if (appSettingsPreferencesStore.autoCompleteSuggestionsEnabled) {
283+
if (autoCompleteSettings.autoCompleteSuggestionsEnabled) {
282284
resultsStateFlow.value = ""
283285
}
284286
resetResultsState()

0 commit comments

Comments
 (0)