| package com.doumee.lib_coremodel.http.rxJava; | 
|   | 
| import java.util.Collection; | 
| import java.util.HashMap; | 
| import java.util.Iterator; | 
|   | 
| import io.reactivex.disposables.CompositeDisposable; | 
| import io.reactivex.disposables.Disposable; | 
|   | 
| public class RxJavaGcManager { | 
|     public RxJavaGcManager() { | 
|   | 
|     } | 
|   | 
|     private CompositeDisposable compositeDisposable; | 
|   | 
|     public void addDisposable(Disposable disposable) { | 
|         if (compositeDisposable == null) { | 
|             compositeDisposable | 
|                     = new CompositeDisposable(); | 
|         } | 
|         compositeDisposable.add(disposable); | 
|     } | 
|   | 
|     private void deleteDisposable(Disposable disposable) { | 
|         if (compositeDisposable != null) { | 
|             compositeDisposable.delete(disposable); | 
|         } | 
|     } | 
|   | 
|     public void clearDisposable() { | 
|         if (compositeDisposable != null) { | 
|             compositeDisposable.clear(); | 
|         } | 
|     } | 
|   | 
|     public void disposableActive(Disposable disposable) { | 
|         synchronized (this) { | 
|             if (disposable != null && !disposable.isDisposed()) { | 
|                 disposable.dispose(); | 
|                 deleteDisposable(disposable); | 
|                 disposable = null; | 
|             } | 
|         } | 
|     } | 
|   | 
|     public void disposableActives() { | 
|         synchronized (this) { | 
|             if(compositeDisposable!=null){ | 
|                 compositeDisposable.clear(); | 
|             } | 
|         } | 
|     } | 
|   | 
|   | 
|     public void disposableActives(HashMap<String, Disposable> disposables) { | 
|         synchronized (this) { | 
|             Collection<Disposable> values=disposables.values(); | 
|             Iterator<Disposable> iterator2=values.iterator(); | 
|             while (iterator2.hasNext()){ | 
|                 Disposable disposable=iterator2.next(); | 
|                 if (disposable != null && !disposable.isDisposed()) { | 
|                     disposable.dispose(); | 
|                     deleteDisposable(disposable); | 
|                     disposable = null; | 
|                 } | 
|             } | 
|   | 
|         } | 
|     } | 
| } |