| 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<T> implements Observer<T> { | 
|     private RxJavaGcManager rxJavaGcManager; | 
|     private WeakReference<Disposable> sr; | 
|   | 
|     public SimpleObserver(RxJavaGcManager rxJavaGcManager) { | 
|         this.rxJavaGcManager = rxJavaGcManager; | 
|     } | 
|   | 
|     @Override | 
|     public void onSubscribe(Disposable d) { | 
|         rxJavaGcManager.addDisposable(d); | 
|         sr=new WeakReference<Disposable>(d); | 
|     } | 
|   | 
|     @Override | 
|     public void onComplete(){ | 
|         if(sr.get()!=null){ | 
|             rxJavaGcManager.disposableActive(sr.get()); | 
|         } | 
|     } | 
| } |