| | |
| | | package com.application.zhangshi_app_android.ui.main; |
| | | |
| | | import static com.android.app_base.base.BaseConfig.CODE_SUCCESS; |
| | | |
| | | import android.app.Application; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.lifecycle.MutableLiveData; |
| | | |
| | | import com.android.app_base.base.StateViewEnum; |
| | | import com.android.app_base.base.model.BaseModel; |
| | | import com.android.app_base.base.viewmodel.BaseViewModel; |
| | | import com.android.app_base.http.ResultData; |
| | | import com.android.app_base.utils.RxUtils; |
| | | import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean; |
| | | import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean; |
| | | import com.application.zhangshi_app_android.bean.PageResponseBean; |
| | | import com.application.zhangshi_app_android.bean.UpdateVersionBean; |
| | | import com.application.zhangshi_app_android.data.DataRepository; |
| | | |
| | | import io.reactivex.Observer; |
| | | import io.reactivex.disposables.Disposable; |
| | | import io.reactivex.functions.Action; |
| | | |
| | | /** |
| | | * @author Ljj |
| | | * @date 2023.03.02. 23:07 |
| | | * @desc |
| | | */ |
| | | public class MainViewModel extends BaseViewModel { |
| | | public class MainViewModel extends BaseViewModel<DataRepository> { |
| | | |
| | | private MutableLiveData<UpdateVersionBean> updateVersionBeanLiveData = new MutableLiveData<>(); |
| | | private MutableLiveData<GrowthExperienceInformationBean> infoLiveData;//个人信息 |
| | | |
| | | public MainViewModel(@NonNull Application application) { |
| | | super(application); |
| | | } |
| | | |
| | | @Override |
| | | protected BaseModel initModel() { |
| | | return null; |
| | | protected DataRepository initModel() { |
| | | return DataRepository.getInstance(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取更新版本 |
| | | */ |
| | | public void getUpdateVersion() { |
| | | model.getUpdateVersion() |
| | | .compose(RxUtils.schedulersTransformer()) |
| | | .doFinally(new Action() { |
| | | @Override |
| | | public void run() throws Exception { |
| | | changeStateView(StateViewEnum.DATA_FINISH); |
| | | } |
| | | }) |
| | | .subscribe(new Observer<ResultData<UpdateVersionBean>>() { |
| | | @Override |
| | | public void onSubscribe(Disposable d) { |
| | | addSubscribe(d); |
| | | } |
| | | |
| | | @Override |
| | | public void onNext(ResultData<UpdateVersionBean> data) { |
| | | if (data.getCode() == CODE_SUCCESS){ |
| | | updateVersionBeanLiveData.postValue(data.getData()); |
| | | }else { |
| | | messageLiveData.postValue(data.getMsg()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onError(Throwable e) { |
| | | messageLiveData.postValue(e.getMessage()); |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete() { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取个人信息 |
| | | */ |
| | | public void getInfo(){ |
| | | model.getGrowthExperienceInformation() |
| | | .compose(RxUtils.schedulersTransformer()) |
| | | .subscribe(new Observer<ResultData<GrowthExperienceInformationBean>>() { |
| | | @Override |
| | | public void onSubscribe(Disposable d) { |
| | | addSubscribe(d); |
| | | } |
| | | |
| | | @Override |
| | | public void onNext(ResultData<GrowthExperienceInformationBean> data) { |
| | | if (data.getCode() == CODE_SUCCESS){ |
| | | getInfoLiveData().postValue(data.getData()); |
| | | }else { |
| | | messageLiveData.postValue(data.getMsg()); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void onError(Throwable e) { |
| | | messageLiveData.postValue(e.getMessage()); |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete() { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | public MutableLiveData<GrowthExperienceInformationBean> getInfoLiveData() { |
| | | if (infoLiveData == null){ |
| | | infoLiveData = new MutableLiveData<>(); |
| | | } |
| | | return infoLiveData; |
| | | } |
| | | |
| | | public void setInfoLiveData(GrowthExperienceInformationBean infoBean) { |
| | | if (infoLiveData == null){ |
| | | infoLiveData = new MutableLiveData<>(); |
| | | } |
| | | infoLiveData.setValue(infoBean); |
| | | } |
| | | |
| | | public MutableLiveData<UpdateVersionBean> getUpdateVersionBeanLiveData() { |
| | | if (updateVersionBeanLiveData == null) updateVersionBeanLiveData = new MutableLiveData<>(); |
| | | return updateVersionBeanLiveData; |
| | | } |
| | | |
| | | public void setUpdateVersionBeanLiveData(MutableLiveData<UpdateVersionBean> updateVersionBeanLiveData) { |
| | | this.updateVersionBeanLiveData = updateVersionBeanLiveData; |
| | | } |
| | | } |