title: How to use Observable.from(Future)?
body: <p>I'm learning RxJava on Android. I want to use it with networking, so I can't do stuff on main thread.</p>
  
  <p>I have the following code:</p>
  
  <pre class="lang-java prettyprint-override"><code>final String RXTAG = "Rx";
  Log.d(RXTAG, "Starting Rx experiment");
  
  final FutureTask&lt;String&gt; future = new FutureTask&lt;&gt;(new Callable&lt;String&gt;() {
      @Override
      public String call() throws InterruptedException {
          Log.d(RXTAG, "Callable called on thread " + Thread.currentThread().getName());
          Utils.assertNotUIThread();
          Thread.sleep(TimeUnit.SECONDS.toMillis(1)); // Simulates network latency
          return "hello";
      }
  });
  
  Observable.from(future, Schedulers.io()).timeout(5, TimeUnit.SECONDS).subscribe(
          new Action1&lt;String&gt;() {
              @Override
              public void call(final String s) {
                  Log.d(RXTAG, "Next " + s);
              }
          },
          new Action1&lt;Throwable&gt;() {
              @Override
              public void call(final Throwable throwable) {
                  Log.w(RXTAG, throwable);
              }
          },
          new Action0() {
              @Override
              public void call() {
                  Log.d(RXTAG, "Completed");
              }
          }
  );
  </code></pre>
  
  <p>But it ends with <code>TimeoutException</code> after 5 secunds and the <em>Callable called</em> log is never showed. What's wrong, and how to make it work?</p>