title: How to process distinct values using RxBinding RxTextView.textChangeEvents
body: <p>I am using RxBinding in my current Android application and wish to implement a text search feature.</p>
  
  <p>My code is as follows:-</p>
  
  <pre><code>compositeDisposable.add(RxTextView.textChangeEvents(searchEditText)
                  .skipInitialValue()
                  .subscribeOn(Schedulers.io())
                  .debounce(200, TimeUnit.MILLISECONDS)
                  .filter(textViewTextChangeEvent -&gt; (textViewTextChangeEvent.text().length() == 0 || textViewTextChangeEvent.text().length() &gt; 2))
                  .map(event -&gt; event.text().toString())
                  .distinct()
                  .observeOn(AndroidSchedulers.mainThread())
                  .subscribe(charactersResponse -&gt; {
                      articlesLiveData = viewModel.textSearch(charactersResponse);
                      textLiveData.removeObserver(TextFragment.this);
                      textLiveData.observe(TextFragment.this, TextFragment.this);
                  }));
  </code></pre>
  
  <p>I want to only search for distinct values, however the code above makes duplicate search requests.</p>
  
  <p>Why isn't distinct removing duplicate strings?</p>
  
  <p>For example when I type "chilean" into my Search EditText</p>
  
  <p>my search code is called with the following strings</p>
  
  <pre><code>chi
  chi
  chil
  chil
  chil
  chile
  chile
  chilea
  chilean
  chilean
  </code></pre>
  
  <p>What am I doing wrong?</p>