From c125fc0a5ee47ef32db587899d972491231167ee Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期四, 12 三月 2020 17:40:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 163 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 143 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java index edbca12..21612d1 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -23,6 +23,8 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; import androidx.work.OneTimeWorkRequest; +import androidx.work.PeriodicWorkRequest; +import androidx.work.WorkInfo; import androidx.work.WorkManager; import com.anyun.exam.lib.AYSdk; @@ -37,6 +39,7 @@ import java.util.Date; import java.util.List; import java.util.Random; +import java.util.concurrent.TimeUnit; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.Constant; @@ -65,6 +68,9 @@ import safeluck.drive.evaluation.platformMessage.JKMessage0203; import safeluck.drive.evaluation.platformMessage.JKMessage0204; import safeluck.drive.evaluation.util.Utils; +import safeluck.drive.evaluation.worker.TimeWorker; + +import static androidx.work.PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS; /** * 鑱旂綉璁粌UI @@ -91,7 +97,7 @@ private int item_id;//鎵e垎鍒嗘暟鎬诲拰 private ExamStatusViewModel examStatusViewModel; private static final int ADD_DATA = 1; - private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform; + private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time; private double speed=0.0; private ImageView iv_rtk_status,iv_head; @@ -112,12 +118,13 @@ @Override public boolean handleMessage(Message msg) { if (msg.what == ADD_DATA){ + MyLog.i("handler add_data totalScore="+currTotalScore); tv_total_score.setText(getResources().getString(R.string.total_score,currTotalScore)); - houseView.setColor(whatPaintColor(examStatusList.get(0))); - av_podao.setColor(whatPaintColor(examStatusList.get(1))); - av_park.setColor(whatPaintColor(examStatusList.get(2))); - av_curve.setColor(whatPaintColor(examStatusList.get(3))); - av_zhijiao.setColor(whatPaintColor(examStatusList.get(4))); + houseView.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1 + av_podao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP)); + av_park.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK)); + av_curve.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE)); + av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); } if (msg.what == SPEED_DATA){ tv_speed.setText(getResources().getString(R.string.speed,speed)); @@ -130,7 +137,12 @@ if (result == 0) { JKMessage0201 jkMessage0201 = new JKMessage0201(); jkMessage0201.phone = ExamPlatformData.getInstance().getPhone(); - jkMessage0201.currentExam = 0; + if (exam_type==Constant.Chang_di){ + jkMessage0201.currentExam = 0; + }else{ + jkMessage0201.currentExam = 1; + } + jkMessage0201.id = icStr; MessageProcessor.getInstance().sendMessage(jkMessage0201); } @@ -143,6 +155,87 @@ return false; } }); + + private int aaa(int type) { + if (examStatusList!=null &&examStatusList.size()>0){ + for (ExamStatus examStatus: + examStatusList) { + if (type == examStatus.getMap_item()){ + if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.BEGIN_ITEM){ + //杩涘叆鑰冨満 + if (examStatusList.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){ + //缁撴潫鑰冭瘯浜� + MyLog.i("杩涘叆鑰冨満缁撴潫鑰冭瘯锛宻tartexam="+examStatus.getStartExam()); + return getResources().getColor(R.color.colorAccent); + }else{ + MyLog.i("杩涘叆鑰冨満锛宼ype="+type); + return getResources().getColor(R.color.pink); + } + + + }else if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.FINISH_ITEM){ + + if (examStatusList.get(0).getStartExam()==Constant.NONE_BEEN_START_EXAM){ + return getResources().getColor(R.color.examing); + } + + switch (type) { + case 1://鍊掑簱 + if (item_conents.contains("鍊掕溅鍏ュ簱")) { + MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); + + return getResources().getColor(R.color.colorAccent); + }else{ + ExamPlatformData.getInstance().getTTS().speak("鍊掕溅鍏ュ簱鍚堟牸"); + return getResources().getColor(R.color.train_btn_return); + } + case 2: + if (item_conents.contains("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�")) { + MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); + return getResources().getColor(R.color.colorAccent); + }else{ + ExamPlatformData.getInstance().getTTS().speak("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝ュ悎鏍�"); + return getResources().getColor(R.color.train_btn_return); + } + case 3: + if (item_conents.contains("渚ф柟鍋滆溅")) { + MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); + return getResources().getColor(R.color.colorAccent); + }else{ + ExamPlatformData.getInstance().getTTS().speak("渚ф柟鍋滆溅鍚堟牸"); + return getResources().getColor(R.color.train_btn_return); + } + case 4: + if (item_conents.contains("鏇茬嚎琛岄┒")) { + MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); + return getResources().getColor(R.color.colorAccent); + }else{ + ExamPlatformData.getInstance().getTTS().speak("鏇茬嚎琛岄┒鍚堟牸"); + examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id()); + return getResources().getColor(R.color.train_btn_return); + } + case 5: + if (item_conents.contains("鐩磋杞集")) { + MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type); + return getResources().getColor(R.color.colorAccent); + }else{ + MyLog.i("璇ラ」鑰冭瘯鎴愬姛锛宼ype="+type); + ExamPlatformData.getInstance().getTTS().speak("鐩磋杞集鍚堟牸"); + return getResources().getColor(R.color.train_btn_return); + } + + + + } + + }else{ + return getResources().getColor(R.color.examing); + } + } + } + } + return getResources().getColor(R.color.examing); + } @Nullable @Override @@ -157,6 +250,7 @@ if (failedProj_selects != null && failedProj_selects.size()>0){ item_id = 0; + currTotalScore = 100; mArrayList.clear(); item_conents.clear(); for (FailedProj_select f : @@ -171,14 +265,15 @@ } //TODO 鍙戦�丣KMessage0203 缁欏钩鍙帮紝杩欏効鏈夌偣澶嶆潅锛岀湅鎬庝箞澶勭悊 sendJKMessage0203(failedProj_selects); + MyLog.i("娌℃墸鍒嗕箣鍓嶅緱鍒嗭細"+currTotalScore); currTotalScore -=item_id; MyLog.i("褰撳墠寰楀垎锛�"+currTotalScore); if (currTotalScore < Constant.PASSING_SCORE){ - MyLog.i(TAG,"浣庝簬80锛屼笉鍚堟牸"+currTotalScore); + MyLog.i("浣庝簬80锛屼笉鍚堟牸"+currTotalScore); ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�"); - stopExam(); +// stopExam(); } - MyLog.i(TAG,"鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊"); + MyLog.i("鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊"); mHandler.obtainMessage(ADD_DATA).sendToTarget(); }else{ MyLog.i(TAG,"澶辫触椤圭洰鏁版嵁琛ㄨ娓呯┖鏇存柊UI"); @@ -267,7 +362,12 @@ failedProj_selects.get(i).getScore_deducting()+"鍒�")); MyLog.i("娌℃湁鐩稿悓鐨剆n锛屽彂閫�"+failedProj_selects.get(i).getSn()); sns.add(failedProj_selects.get(i).getSn()); - jkMessage0203.timeBCD = failedProj_selects.get(i).getUtc(); + String utc = failedProj_selects.get(i).getUtc(); + if (!TextUtils.isEmpty(utc)&&utc.length()>12){ + utc =utc.substring(0,12); + } + jkMessage0203.timeBCD = utc ; + jkMessage0203.fail_item_id = failedProj_selects.get(i).getEmp_id(); jkMessage0203.fail_score = failedProj_selects.get(i).getScore_deducting(); jkMessage0203.fail_reason = failedProj_selects.get(i).getDeducting_reason(); @@ -308,7 +408,7 @@ switch (status) { case 0://鑰冭瘯瀹屾垚 switch (map_id) { - case 863://鍊掑簱 + case 1://鍊掑簱 if (item_conents.contains("鍊掕溅鍏ュ簱")) { return getResources().getColor(R.color.colorAccent); }else{ @@ -366,6 +466,25 @@ tv_sat_num = view.findViewById(R.id.tv_sat_num); tv_speed = view.findViewById(R.id.tv_speed); tv_total_score = view.findViewById(R.id.tv_total_score); + tv_network_time = view.findViewById(R.id.network_time); + + + PeriodicWorkRequest periodicWorkRequest = new PeriodicWorkRequest.Builder(TimeWorker.class,MIN_PERIODIC_INTERVAL_MILLIS, TimeUnit.MICROSECONDS).build(); + WorkManager.getInstance(getContext().getApplicationContext()).enqueue(periodicWorkRequest); + WorkManager.getInstance(getContext().getApplicationContext()).getWorkInfoByIdLiveData(periodicWorkRequest.getId()) + .observe(this, new Observer<WorkInfo>() { + @Override + public void onChanged(WorkInfo workInfo) { + if (workInfo!= null&&workInfo.getState().isFinished()){ + String time = workInfo.getOutputData().getString(Constant.TIME_MINUTE); + MyLog.i("Time="+time); + tv_network_time.setText(time); + } + + } + }); + tv_network_time.setText(Utils.getHHmm()); + tv_speed.setText(getResources().getString(R.string.speed,speed)); view.findViewById(R.id.btn_return).setOnClickListener(this); @@ -406,6 +525,10 @@ public void onClick(View v) { switch (v.getId()) { case R.id.btn_start: + OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class); + WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork); + item_id = 0; + currTotalScore = 100; //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯 final JKMessage0202 jkMessage0202 = new JKMessage0202(); jkMessage0202.phone = ExamPlatformData.getInstance().getPhone(); @@ -423,6 +546,7 @@ @Override public void changKao() { exam_type = 2; + examStatusViewModel.updateStartExam(exam_type); sendExamJson(1,exam_type); ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭�冭瘯"); jkMessage0202.curr_exam = 0; @@ -433,6 +557,7 @@ @Override public void luKao() { exam_type = 3; + examStatusViewModel.updateStartExam(exam_type); sendExamJson(1,exam_type); if (simulateNightBean == null){ simulateNightBean = new SimulateNightBean(); @@ -498,7 +623,7 @@ private void sendExamJson(int i,int type) { try { - examStatusViewModel.updateStartExam(type); + JSONObject jsonObject = new JSONObject(); jsonObject.put("exam", i); jsonObject.put("type", type); @@ -512,16 +637,14 @@ private void stopExam() { MyLog.i(TAG,"缁撴潫鑰冭瘯"); - //娓呯┖宸茬粡瀛樺湪鐨剆ns - sns.clear(); - item_id = 0; - currTotalScore = 100; + + tv_total_score.setText(String.valueOf(currTotalScore)); iv_head.getDrawable().setLevel(0); - OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class); - WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork); + ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯"); - sendExamJson(0,exam_type); + examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM); + sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0 //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯 JKMessage0204 jkMessage0204 = new JKMessage0204(); jkMessage0204.phone = ExamPlatformData.getInstance().getPhone(); -- Gitblit v1.8.0