12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.guangzhou.haochuan.jxtv.viewModel;
- import com.guangzhou.haochuan.jxtv.model.CheckQuery;
- import com.guangzhou.haochuan.jxtv.web.retrofitFactory.CheckQueryFactory;
- import java.util.Observable;
- import io.reactivex.android.schedulers.AndroidSchedulers;
- import io.reactivex.annotations.NonNull;
- import io.reactivex.disposables.CompositeDisposable;
- import io.reactivex.functions.Consumer;
- import io.reactivex.schedulers.Schedulers;
- /**
- * Created by yunhaipiaodi on 2017/9/22.
- */
- public class CheckQueryViewModel extends Observable {
- private CompositeDisposable compositeDisposable = new CompositeDisposable();
- private CheckQuery checkQuery;
- private String deviceId;
- public CheckQueryViewModel(String deviceId){
- this.deviceId = deviceId;
- fetchCreateQueryData();
- }
- private void fetchCreateQueryData() {
- compositeDisposable.add( new CheckQueryFactory().create()
- .getObservable(deviceId,deviceId,String.valueOf(System.currentTimeMillis()))
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Consumer<CheckQuery>() {
- @Override
- public void accept(@NonNull CheckQuery source) throws Exception {
- setCheckQueryData(source);
- }
- }, new Consumer<Throwable>() {
- @Override
- public void accept(@NonNull Throwable throwable) throws Exception {
- throwable.printStackTrace();
- }
- }));
- }
- public void setCheckQueryData(CheckQuery source){
- this.checkQuery = source;
- setChanged();
- notifyObservers();
- }
- public CheckQuery getCheckQuery(){return this.checkQuery;}
- public void reset(){
- unSubscribeFromObservable();
- compositeDisposable = null;
- }
- private void unSubscribeFromObservable() {
- if (compositeDisposable != null && !compositeDisposable.isDisposed()) {
- compositeDisposable.dispose();
- }
- }
- }
|