title: Process Observable on background thread
body: <p>I am using <em>RxAndroid</em> for stream operations. In my real use-case, i am fetching a list from the server (using <em>Retrofit</em>). I am using schedulers to do the work on a background thread and get the final emission on the Android UI (main) thread.</p>
  
  <p>This works well for the network call, however i realized that my operators after the network call do not use the background thread, but getting called on the main thread.</p>
  
  <pre><code>myService.fetchSomeIntegersFromServer()
          .subscribeOn(Schedulers.newThread())
          .observeOn(AndroidSchedulers.mainThread())
          .filter(integer -&gt; {
              System.out.println(Looper.getMainLooper().getThread() == Thread.currentThread());
              return true;
          })
          .subscribe(integer1 -&gt; {});
  </code></pre>
  
  <p>How can i make sure that all operations are executed on a background thread?</p>