RxJava 1.x には Observable の static なインナークラスとして Observable.OnSubscribe
RxJava 2.x ではインナークラスではなく ObservableOnSubscribecall(Subscriber<? super T>)
ではなくsubscribe(ObservableEmitter<T>)
になっています。
Observable.OnSubscribe<T>#call(Subscriber<? super T>)
のなかで、unsubscribe したときにリソースの開放やリスナーの解除などをするフックを作っていた場合、RxAndroid のMainThreadSubscription
でフックすることになります。そしてそのインスタンスをSubscriber<? super T>#add(Subscription)
に渡します。
これを RxJava 2.x に移行するとき、MainThreadSubscription
はMainThreadDisposable
に、Subscriber<? super T>#add(Subscription)
はObservableEmitter<T>#setDisposable(Disposable)
に書き換えます。