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() { 
 | 
  
 | 
                        } 
 | 
                    }); 
 | 
        } 
 | 
    } 
 | 
} 
 |