rk
3 天以前 4a8ff39b0fab0627ef8f7459587d514cc01c3676
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
对比新文件
@@ -0,0 +1,247 @@
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() {
                        }
                    });
        }
    }
}