yy1717
2020-04-16 1b7c87b81313bca47a6847f203be329a63decff3
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -21,6 +21,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
import androidx.work.OneTimeWorkRequest;
@@ -58,11 +59,15 @@
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
import safeluck.drive.evaluation.customview.ArrowView;
import safeluck.drive.evaluation.customview.HouseView;
import safeluck.drive.evaluation.customview.LoadProgressDialog;
import safeluck.drive.evaluation.customview.MyDialogFragment;
import safeluck.drive.evaluation.customview.QRCodeDialog;
import safeluck.drive.evaluation.httpmodule.RetrofitCreator;
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.platformMessage.JKMessage0201;
import safeluck.drive.evaluation.platformMessage.JKMessage0202;
import safeluck.drive.evaluation.platformMessage.JKMessage0204;
import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
import safeluck.drive.evaluation.util.Utils;
import safeluck.drive.evaluation.viewmodels.TimeViewModel;
@@ -103,11 +108,13 @@
    private FailedProjViewModel failedProjViewModel;
    String icson;//返回的ic卡信息 json
    WokViewModel wokViewModel;
    private List<SimulateNightBean.QuestionBean> tempQs=  new ArrayList<>();
    private List<Integer> btn_ids = new ArrayList<Integer>();
    public static SupportFragment newInstance() {
        return new NetWorkTrainFragment();
    }
    private String content;//用以生成二维码的内容
    private Handler mHandler = new Handler(new Handler.Callback() {
@@ -484,6 +491,8 @@
                        ExamPlatformData.getInstance().setId(student.getID());
                        tv_sex.setText(getString(R.string.sex)+(student.getSex()==2?"女":"男"));
                        tv_start_time.setText(getString(R.string.begin_time)+Utils.formatTimeYYMMDDHHmmSS(student.getBegin_time()));
                    }else if (!TextUtils.isEmpty(student.getName())&&student.getStu_id()==ExamPlatformData.COACH_ID){
                        ExamPlatformData.getInstance().setCoachID(student.getID());
                    }
                }
            }
@@ -559,21 +568,18 @@
        view.findViewById(R.id.btn_return).setOnClickListener(this);
        mListView = view.findViewById(R.id.lv);
        mListView.setFocusable(false);
        mListView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent ev) {
                switch (ev.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                    case MotionEvent.ACTION_MOVE:
                        mListView.getParent().requestDisallowInterceptTouchEvent(true);
                        break;
                    case MotionEvent.ACTION_UP:
                    case MotionEvent.ACTION_CANCEL:
                        mListView.getParent().requestDisallowInterceptTouchEvent(false);
                        break;
                }
                return false;
        mListView.setOnTouchListener((v, ev) -> {
            switch (ev.getAction()) {
                case MotionEvent.ACTION_DOWN:
                case MotionEvent.ACTION_MOVE:
                    mListView.getParent().requestDisallowInterceptTouchEvent(true);
                    break;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    mListView.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
            }
            return false;
        });
        view.findViewById(R.id.view_map).setOnClickListener(this);
@@ -587,9 +593,8 @@
    }
private LoadProgressDialog loadProgressDialog;
MyDialogFragment myDialogFragment;
    SimulateNightBean simulateNightBean = null;
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
@@ -597,8 +602,6 @@
                clearArrayListResetTotalScore();
                //TODO 发送JKMessage0202 给平台,开始考试
                final JKMessage0202 jkMessage0202 = new JKMessage0202();
                if (myDialogFragment == null){
                    myDialogFragment = new MyDialogFragment();
@@ -607,44 +610,12 @@
                myDialogFragment.setCallback(new MyDialogFragment.Callback() {
                    @Override
                    public void changKao() {
                        exam_type = 2;
                        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE);
                        ExamPlatformData.getInstance().setExamType(exam_type);
                        examStatusViewModel.updateStartExam(exam_type);
                        sendExamJson(1,exam_type);
                        ExamPlatformData.getInstance().getTTS().speak("开始考试");
                        Date date = new Date();
                        wokViewModel.updateBeginTime(date.getTime());
                        jkMessage0202.timeBCD = date;
                        ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                        jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                        jkMessage0202.curr_exam = 0;
                        jkMessage0202.mode = ExamPlatformData.getInstance().getExamType()==ExamPlatformData.TRAINING_MODE?1:0;
                        MessageProcessor.getInstance().sendMessage(jkMessage0202);
                        sendJK0202(2);
                    }
                    @Override
                    public void luKao() {
                        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE);
                        exam_type = 3;
                        ExamPlatformData.getInstance().setExamType(exam_type);
                        examStatusViewModel.updateStartExam(exam_type);
                        sendExamJson(1,exam_type);
                        ExamPlatformData.getInstance().getTTS().speak("开始考试");
                        Date date = new Date();
                        wokViewModel.updateBeginTime(date.getTime());
                        jkMessage0202.timeBCD = date;
                        ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                        jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                        jkMessage0202.curr_exam = 1;
                        jkMessage0202.mode = ExamPlatformData.getInstance().getExamType()==ExamPlatformData.TRAINING_MODE?1:0;
                        MessageProcessor.getInstance().sendMessage(jkMessage0202);
                        sendJK0202(3);
                    }
                });
@@ -680,12 +651,37 @@
                _mActivity.onBackPressed();
                break;
            case R.id.iv_head:
                MyLog.i(TAG,"签到,获取身份证物理卡号");
                AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,"");
                //TODO 获得物理卡号 发送JKMessage0201给平台,获取姓名、身份证、head_url
                MyLog.i(PlatFormConstant.HTTPTAG,"签到");
                loadProgressDialog = LoadProgressDialog.newInstance("请稍后...");
                loadProgressDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen);
                loadProgressDialog.showNow(getFragmentManager(),"loadingdiaolog");
                //从服务器获取用于生成签到二维码的url
                break;
        }
    }
    private void sendJK0202(int type) {
        final JKMessage0202 jkMessage0202 = new JKMessage0202();
        exam_type = type;
        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE);
        ExamPlatformData.getInstance().setExamType(exam_type);
        examStatusViewModel.updateStartExam(exam_type);
        sendExamJson(1,exam_type);
        ExamPlatformData.getInstance().getTTS().speak("开始考试");
        Date date = new Date();
        wokViewModel.updateBeginTime(date.getTime());
        jkMessage0202.timeBCD = date;
        ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
        jkMessage0202.stu_id = ExamPlatformData.getInstance().getID();
        jkMessage0202.coach_id = ExamPlatformData.getInstance().getCoachID();
        jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
        jkMessage0202.curr_exam = (type-2);//  跟移动站服务定义的场考是2  ,平台是0 ;  移动站路考是3 ,平台是1
        jkMessage0202.mode = ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE?1:0;
        MessageProcessor.getInstance().sendMessage(jkMessage0202);
    }
    private void sendExamJson(int i,int type) {
@@ -768,4 +764,6 @@
        super.onDetach();
        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC);
    }
}