package com.doumee.keyCabinet.ui.main; import android.app.Application; import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.databinding.ObservableField; import androidx.hilt.lifecycle.ViewModelInject; import androidx.lifecycle.MutableLiveData; import com.doumee.keyCabinet.MApplication; import com.doumee.keyCabinet.R; import com.doumee.keyCabinet.bean.CabinetFaceBean; import com.doumee.keyCabinet.bean.DevConfigBean; import com.doumee.keyCabinet.bean.FaceUserBean; import com.doumee.keyCabinet.event.DevConfigEvent; import com.doumee.keyCabinet.http.Apis; import com.doumee.keyCabinet.http.param.BaseResponse; import com.doumee.keyCabinet.http.param.DevErrInfoParam; import com.doumee.keyCabinet.http.param.DevLoginParam; import com.doumee.keyCabinet.http.param.FaceUserParam; import com.doumee.keyCabinet.http.param.RequestBaseObject; import com.doumee.keyCabinet.ui.guide.GuideActivity; import com.doumee.keyCabinet.utils.BraceletLogUtils; import com.doumee.keyCabinet.utils.LMobileInfo; import com.doumee.keyCabinet.utils.LanguageUtil; import com.doumee.keyCabinet.utils.ParamsUtil; import com.doumee.lib_coremodel.base.BaseModel; import com.doumee.lib_coremodel.base.DataViewModel; import com.doumee.lib_coremodel.http.rxJava.SimpleObserver; import com.doumee.lib_coremodel.http.utils.RxUtils; import com.doumee.lib_coremodel.util.SpUtil; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; import java.util.List; import okhttp3.Headers; import retrofit2.Response; public class MainVM extends DataViewModel { public ObservableField dayObs = new ObservableField<>(""); public ObservableField timeObs = new ObservableField<>(""); private MutableLiveData> faceLD = new MutableLiveData<>(); @ViewModelInject public MainVM(@NonNull Application application, BaseModel model) { super(application, model); } @Override protected void clickByTypeCommand(int type) { doAction(type); } private boolean isReq = false; public void resetReq(){ isReq = false; } public void devLogin(){ //清除登录信息 if(isReq){ return; } isReq = true; MApplication.saveConfigBean(new DevConfigBean()); getRetrofitService(Apis.class).getCabinetInfoForDriver(LMobileInfo.getDeviceUniqueId()) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver>(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ if(response.getData()!=null){ MApplication.saveConfigBean(response.getData()); }else { toast(MApplication.mContext.getString(R.string.guide_toast_1)); } }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { isReq = false; } }); } public void devHeart(){ if (MApplication.getConfigBean().getId()==null) { return; } getRetrofitService(Apis.class).heart(MApplication.getConfigBean().getId()) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } }); } public MutableLiveData> getFaceLD() { return faceLD; } public void getFaceDatas() { if (true) { return; } DevLoginParam param = new DevLoginParam(); param.setCode(LMobileInfo.getDeviceUniqueId()); //showLoading(true); getRetrofitService(Apis.class).allFaceList( ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver>(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ //查询数据 if(response.getData()!=null){ CabinetFaceBean faceBean = response.getData(); List datas = new ArrayList<>(); if(faceBean!=null&&faceBean.getAutoFaceList()!=null){ for(FaceUserBean bean:faceBean.getAutoFaceList()){ bean.setGroupId("1"); } datas.addAll(faceBean.getAutoFaceList()); } if(faceBean!=null&&faceBean.getDriverFaceList()!=null){ for(FaceUserBean bean:faceBean.getDriverFaceList()){ bean.setGroupId("0"); } datas.addAll(faceBean.getDriverFaceList()); } faceLD.setValue(datas); } }else { } } @Override public void onError(@NonNull Throwable e) { //toast(e.getMessage()); } @Override public void onComplete() { //hideLoading(); } }); } public void upErrInfo(SpUtil.SPBean bean) { if (true) { return; } RequestBaseObject request = new RequestBaseObject<>(); DevErrInfoParam param = new DevErrInfoParam(); param.setDevCode(LMobileInfo.getDeviceUniqueId()); param.setErrInfo(bean.getValue()); request.setParam(param); getRetrofitService(Apis.class).upErrInfo(ParamsUtil.encodeRequestBody(request)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ SpUtil.remoreString(bean.getKey()); }else { } } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } }); } /** * 上传手环日志 */ public void upBraceletLog() { if (true) { return; } if(BraceletLogUtils.COUNT>100||(System.currentTimeMillis() - BraceletLogUtils.lastTime > 600000)){ BraceletLogUtils.lastTime = System.currentTimeMillis(); String text = BraceletLogUtils.getAllLog(); if(TextUtils.isEmpty(text)){ return; } RequestBaseObject request = new RequestBaseObject<>(); DevErrInfoParam param = new DevErrInfoParam(); param.setDevCode(LMobileInfo.getDeviceUniqueId()); param.setErrInfo(text); request.setParam(param); getRetrofitService(Apis.class).upErrInfo(ParamsUtil.encodeRequestBody(request)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ } } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } }); } } }