package starter.kit.feature.rx;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import nucleus.presenter.Presenter;
import nucleus.view.NucleusAppCompatActivity;
import rx.Subscription;
import rx.subscriptions.CompositeSubscription;
public class RxStarterActivity<P extends Presenter> extends NucleusAppCompatActivity<P> {
private Unbinder mUnbinder;
private final CompositeSubscription subscriptions = new CompositeSubscription();
public void add(Subscription subscription) {
subscriptions.add(subscription);
}
public void remove(Subscription subscription) {
subscriptions.remove(subscription);
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
mUnbinder = ButterKnife.bind(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mUnbinder != null) {
mUnbinder.unbind();
mUnbinder = null;
}
subscriptions.unsubscribe();
}
}