Skip to content
This repository was archived by the owner on Feb 17, 2020. It is now read-only.

Commit 0061ade

Browse files
committed
Replace throttleLast() with distinctUntilChanged().debounce() in Search
1 parent a8751c5 commit 0061ade

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

app/src/main/java/net/squanchy/search/SearchActivity.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ class SearchActivity : AppCompatActivity(), SearchRecyclerView.OnSearchResultCli
7272
searchTextWatcher = SearchTextWatcher(querySubject)
7373
searchField.addTextChangedListener(searchTextWatcher)
7474

75-
val searchSubscription = querySubject.throttleLast(QUERY_DEBOUNCE_TIMEOUT, TimeUnit.MILLISECONDS)
75+
val searchSubscription = querySubject.distinctUntilChanged()
76+
.debounce(QUERY_DEBOUNCE_TIMEOUT, TimeUnit.MILLISECONDS)
7677
.doOnNext(::updateSearchActionIcon)
7778
.startWith(getInitialQuery())
7879
.flatMap(searchService::find)

app/src/main/java/net/squanchy/search/SearchService.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ package net.squanchy.search
33
import io.reactivex.Observable
44
import io.reactivex.functions.Function3
55
import net.squanchy.schedule.domain.view.Event
6+
import net.squanchy.search.SearchListElement.AlgoliaLogo
7+
import net.squanchy.search.SearchListElement.EventElement
8+
import net.squanchy.search.SearchListElement.EventHeader
9+
import net.squanchy.search.SearchListElement.SpeakerElement
10+
import net.squanchy.search.SearchListElement.SpeakerHeader
611
import net.squanchy.search.algolia.AlgoliaSearchEngine
712
import net.squanchy.search.algolia.model.AlgoliaSearchResult
8-
import net.squanchy.search.algolia.model.AlgoliaSearchResult.QueryNotLongEnough
913
import net.squanchy.search.algolia.model.AlgoliaSearchResult.ErrorSearching
1014
import net.squanchy.search.algolia.model.AlgoliaSearchResult.Matches
11-
import net.squanchy.search.SearchListElement.SpeakerHeader
12-
import net.squanchy.search.SearchListElement.EventHeader
13-
import net.squanchy.search.SearchListElement.SpeakerElement
14-
import net.squanchy.search.SearchListElement.AlgoliaLogo
15-
import net.squanchy.search.SearchListElement.EventElement
15+
import net.squanchy.search.algolia.model.AlgoliaSearchResult.QueryNotLongEnough
1616
import net.squanchy.service.repository.AuthService
1717
import net.squanchy.service.repository.EventRepository
1818
import net.squanchy.service.repository.SpeakerRepository

0 commit comments

Comments
 (0)