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 { private MutableLiveData updateVersionBeanLiveData = new MutableLiveData<>(); private MutableLiveData infoLiveData;//个人信息 public MainViewModel(@NonNull Application application) { super(application); } @Override 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>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData 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>() { @Override public void onSubscribe(Disposable d) { addSubscribe(d); } @Override public void onNext(ResultData 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 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 getUpdateVersionBeanLiveData() { if (updateVersionBeanLiveData == null) updateVersionBeanLiveData = new MutableLiveData<>(); return updateVersionBeanLiveData; } public void setUpdateVersionBeanLiveData(MutableLiveData updateVersionBeanLiveData) { this.updateVersionBeanLiveData = updateVersionBeanLiveData; } }