title: rxjava interval() reset time after some event
body: <p>I'm making an Android app with RxJava, in one of the page, I have a button, when pressed, the page will do a refresh. And I also want a auto-refresh for every 10 seconds, if user haven't pressed the button during that period. But when user clicks the button, I want the auto-refresh action to happen 10 seconds later after the click. Rather than continuing its own 10-second interval. 
  For example, at second 0, the app do a auto-refresh, then at second 3, user pressed the button. Then the auto-refresh should happen at second 13, second 23, etc.
  I know that there is an <code>interval()</code> operator that emits items at a certain interval. But it seems there is no way to "reset" the start time. Its kinda like unsubscribe and subscribe to the <code>interval()</code> Observable again. A piece of code would be like</p>
  
  <pre><code>Observable&lt;Long&gt; intervalObservable = Observable.inteval(10, TimeUnit.SECONDS)
  RxView.click(refreshButton).map(ignored -&gt; 0L)
        .merge(intervalObservable)
        .subscibe(ignore -&gt; performRefresh());
  </code></pre>
  
  <p>If there is a way to "unmerge" the <code>intervalObservable</code>, then I can unmerge it in <code>onNext</code> and then merge it again. But it seems there isn't.
  How can I achieve this?</p>