package com.doumee.lib_coremodel.http.rxJava; import java.lang.ref.WeakReference; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; public abstract class SimpleObserver implements Observer { private RxJavaGcManager rxJavaGcManager; private WeakReference sr; public SimpleObserver(RxJavaGcManager rxJavaGcManager) { this.rxJavaGcManager = rxJavaGcManager; } @Override public void onSubscribe(Disposable d) { rxJavaGcManager.addDisposable(d); sr=new WeakReference(d); } @Override public void onComplete(){ if(sr.get()!=null){ rxJavaGcManager.disposableActive(sr.get()); } } }