51 lines
1.9 KiB
Java
51 lines
1.9 KiB
Java
package com.ubt.jimu.base.http.manager;
|
|
|
|
import com.ubt.jimu.base.http.ApiObserver;
|
|
import io.reactivex.Observable;
|
|
import io.reactivex.Observer;
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.functions.Function;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class Manager {
|
|
public static final List<SubscriberModel> mList = new ArrayList();
|
|
protected String url;
|
|
|
|
private boolean isRepeat(Observer observer) {
|
|
if (mList.size() == 0) {
|
|
return false;
|
|
}
|
|
Iterator<SubscriberModel> it = mList.iterator();
|
|
while (it.hasNext()) {
|
|
if (observer.toString().equals(it.next().getSubscriber().toString())) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public <T> void noAddSubscribe(Observable<T> observable, ApiObserver<T> apiObserver) {
|
|
observable.subscribeOn(Schedulers.b()).unsubscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(apiObserver);
|
|
}
|
|
|
|
public <T> void toSubscribe(final Observable<T> observable, ApiObserver<T> apiObserver) {
|
|
if (!isRepeat(apiObserver)) {
|
|
SubscriberModel subscriberModel = new SubscriberModel();
|
|
subscriberModel.setObservable(observable);
|
|
subscriberModel.setSubscriber(apiObserver);
|
|
mList.add(subscriberModel);
|
|
}
|
|
observable.subscribeOn(Schedulers.b()).onErrorReturn(new Function<Throwable, T>() { // from class: com.ubt.jimu.base.http.manager.Manager.1
|
|
@Override // io.reactivex.functions.Function
|
|
public T apply(Throwable th) {
|
|
observable.unsubscribeOn(Schedulers.b());
|
|
return null;
|
|
}
|
|
}).unsubscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(apiObserver);
|
|
}
|
|
}
|