package io.nextop.rx;
import android.app.Activity;
import android.view.View;
import rx.Observable;
import rx.Subscription;
public class RxActivity extends Activity implements RxLifecycleBinder {
private final RxLifecycleBinder.Lifted liftedRxLifecycleBinder = new RxLifecycleBinder.Lifted();
@Override
public void reset() {
liftedRxLifecycleBinder.reset();
}
@Override
public boolean reset(Object id) {
return liftedRxLifecycleBinder.reset(id);
}
@Override
public <T> Observable<T> bind(Observable<T> source) {
return liftedRxLifecycleBinder.bind(source);
}
@Override
public void bind(Subscription sub) {
liftedRxLifecycleBinder.bind(sub);
}
@Override
public void unsubscribe() {
liftedRxLifecycleBinder.unsubscribe();
}
@Override
public boolean isUnsubscribed() {
return liftedRxLifecycleBinder.isUnsubscribed();
}
@Override
public void onResume() {
super.onResume();
View contentView = findViewById(android.R.id.content);
liftedRxLifecycleBinder.connect(contentView);
}
@Override
public void onPause() {
super.onPause();
liftedRxLifecycleBinder.disconnect();
}
@Override
public void onDestroy() {
super.onDestroy();
liftedRxLifecycleBinder.close();
}
}