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<String> dayObs = new ObservableField<>("");
|
public ObservableField<String> timeObs = new ObservableField<>("");
|
|
private MutableLiveData<List<FaceUserBean>> 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<BaseResponse<DevConfigBean>>(rxJavaGcManager) {
|
@Override
|
public void onNext(@NonNull BaseResponse<DevConfigBean> 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<BaseResponse>(rxJavaGcManager) {
|
@Override
|
public void onNext(@NonNull BaseResponse response) {
|
|
}
|
|
@Override
|
public void onError(@NonNull Throwable e) {
|
|
}
|
|
@Override
|
public void onComplete() {
|
|
}
|
});
|
}
|
|
public MutableLiveData<List<FaceUserBean>> 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<BaseResponse<CabinetFaceBean>>(rxJavaGcManager) {
|
@Override
|
public void onNext(@NonNull BaseResponse<CabinetFaceBean> response) {
|
if(200==response.getCode()){
|
//查询数据
|
if(response.getData()!=null){
|
CabinetFaceBean faceBean = response.getData();
|
List<FaceUserBean> 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<DevErrInfoParam> 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<BaseResponse>(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<DevErrInfoParam> 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<BaseResponse>(rxJavaGcManager) {
|
@Override
|
public void onNext(@NonNull BaseResponse response) {
|
if(200==response.getCode()){
|
|
}
|
}
|
|
@Override
|
public void onError(@NonNull Throwable e) {
|
|
}
|
|
@Override
|
public void onComplete() {
|
|
}
|
});
|
}
|
}
|
}
|