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/TrainFragment.java | 523 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 427 insertions(+), 96 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 95e0c0c..e0031b7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -1,10 +1,14 @@
package safeluck.drive.evaluation.fragment;
+import android.app.AlarmManager;
+import android.app.PendingIntent;
import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.core.app.AlarmManagerCompat;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
import androidx.work.OneTimeWorkRequest;
@@ -12,8 +16,11 @@
import android.os.Handler;
import android.os.Message;
+import android.os.SystemClock;
+import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
@@ -24,15 +31,21 @@
import com.anyun.exam.lib.AYSdk;
import com.anyun.exam.lib.MyLog;
+import com.google.gson.Gson;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
import java.util.List;
+import java.util.Random;
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.Student;
+import safeluck.drive.evaluation.DB.WokViewModel;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
@@ -42,11 +55,20 @@
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.ScoreBean;
+import safeluck.drive.evaluation.bean.SimulateNightBean;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
import safeluck.drive.evaluation.customview.ArrowView;
import safeluck.drive.evaluation.customview.HouseView;
+import safeluck.drive.evaluation.customview.MyDialogFragment;
+import safeluck.drive.evaluation.im.MessageProcessor;
+import safeluck.drive.evaluation.platformMessage.JKMessage0201;
+import safeluck.drive.evaluation.platformMessage.JKMessage0202;
+import safeluck.drive.evaluation.platformMessage.JKMessage0203;
+import safeluck.drive.evaluation.platformMessage.JKMessage0204;
+import safeluck.drive.evaluation.util.Utils;
/**鍗曟満璁粌UI
* MyApplication2
@@ -57,66 +79,178 @@
public class TrainFragment extends SupportFragment implements View.OnClickListener {
private static final String TAG = TrainFragment.class.getSimpleName();
- private ListView mListView ;
- private Button btn_train;
- private ScoreAdapter mScoreAdapter;
+ private static final int REQUEST_CODE = 1000;
+ private static final String ALARM_ACTION_CODE = "com.anyun.alermbroadcast";
- private int item_id;//鎵e垎鍒嗘暟鎬诲拰
+ public static SupportFragment newInstance() {
+ return new TrainFragment();
+ }
+
+ private int exam_type = 2;//2 鍦哄湴锛�3 閬撹矾锛屾ā鎷熷鑰冿紱4 閬撹矾锛屽疄闄呭鑰冿紱
+ private ListView mListView;
+ private Button btn_start_exam;
+ private TextView tv_stop;//鍛煎彨璇锋眰锛堢粨鏉熻�冭瘯锛�
+ private Gson gson = new Gson();
+ private ScoreAdapter mScoreAdapter;
private ArrowView av_zhijiao, av_curve, av_park, av_podao;
private HouseView houseView;
private List<ExamStatus> examStatusList = new ArrayList<>();
private List<String> item_conents = new ArrayList<>();//鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�
+ private int item_id;//鎵e垎鍒嗘暟鎬诲拰
private ExamStatusViewModel examStatusViewModel;
private static final int ADD_DATA = 1;
- private static final int SPEED_DATA = 2;
+ private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform;
+ private double speed=0.0;
private ImageView iv_rtk_status,iv_head;
- private List<ScoreBean> mArrayList = new ArrayList<>();
- private View tv_stop;
- private TextView tv_speed,tv_total_score,tv_sat_num;
private int currTotalScore = 100;
- private double speed=0.0;
+ private List<ScoreBean> mArrayList = new ArrayList<>();
+ private static final int SPEED_DATA = 2;
+ private FailedProjViewModel failedProjViewModel;
+ String icson;//杩斿洖鐨刬c鍗′俊鎭� json
+ private Random random = new Random();
+ private List<SimulateNightBean.QuestionBean> tempQs= new ArrayList<>();
+
+
+
private Handler mHandler = new Handler(new Handler.Callback() {
@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));
+ }
+ if (msg.what == Constant.IC_ID){
+ try {
+ JSONObject jsSpeed = new JSONObject(icson);
+ int result = jsSpeed.getInt("result");
+ String icStr = jsSpeed.getString("serialno");
+ if (result == 0) {
+ JKMessage0201 jkMessage0201 = new JKMessage0201();
+ jkMessage0201.phone = ExamPlatformData.getInstance().getPhone();
+ if (exam_type==Constant.Chang_di){
+ jkMessage0201.currentExam = 0;
+ }else{
+ jkMessage0201.currentExam = 1;
+ }
+
+ jkMessage0201.id = icStr;
+ MessageProcessor.getInstance().sendMessage(jkMessage0201);
+ }
+
+ }catch (JSONException e){
+
+ }
+
}
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);
+ }
- public static SupportFragment newInstance(){
- return new TrainFragment();
+ }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("鏇茬嚎琛岄┒鍚堟牸");
+ 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
- public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.layout_train_fragment,container,false);
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.layout_train_fragment, container, false);
initView(view);
-
-
- FailedProjViewModel failedProjViewModel =ViewModelProviders.of(this).get(FailedProjViewModel.class);
+ failedProjViewModel = ViewModelProviders.of(this).get(FailedProjViewModel.class);
failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
@Override
public void onChanged(List<FailedProj_select> failedProj_selects) {
if (failedProj_selects != null && failedProj_selects.size()>0){
item_id = 0;
+ currTotalScore = 100;
mArrayList.clear();
item_conents.clear();
for (FailedProj_select f :
@@ -125,22 +259,28 @@
Log.i(TAG, "onChanged: " + f.toString());
mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason()));
item_conents.add(f.getItem_content());
+ Collections.reverse(mArrayList);
mScoreAdapter.addDatas(mArrayList);
+ MyLog.i("item_score="+item_id);
}
+ //TODO 鍙戦�丣KMessage0203 缁欏钩鍙帮紝杩欏効鏈夌偣澶嶆潅锛岀湅鎬庝箞澶勭悊
+ sendJKMessage0203(failedProj_selects);
+ MyLog.i("娌℃墸鍒嗕箣鍓嶅緱鍒嗭細"+currTotalScore);
currTotalScore -=item_id;
+ MyLog.i("褰撳墠寰楀垎锛�"+currTotalScore);
if (currTotalScore < Constant.PASSING_SCORE){
- MyLog.i(TAG,"浣庝簬80锛屼笉鍚堟牸");
+ MyLog.i("浣庝簬80锛屼笉鍚堟牸"+currTotalScore);
+ ExamPlatformData.getInstance().getTTS().speak("鑰冭瘯涓嶅悎鏍�");
stopExam();
}
-
- MyLog.i(TAG,"鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
+ MyLog.i("鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
mHandler.obtainMessage(ADD_DATA).sendToTarget();
-
}else{
MyLog.i(TAG,"澶辫触椤圭洰鏁版嵁琛ㄨ娓呯┖鏇存柊UI");
item_id = 0;
mArrayList.clear();
item_conents.clear();
+ Collections.reverse(mArrayList);
mScoreAdapter.addDatas(mArrayList);
mHandler.obtainMessage(ADD_DATA).sendToTarget();
}
@@ -153,26 +293,43 @@
@Override
public void onChanged(List<ExamStatus> examStatus) {
- for (ExamStatus e :
- examStatus) {
- Log.i(TAG, "onChanged: e="+e.toString());
+
+
+ Log.i(TAG, "ExamStatus onChanged: ");
+ if (examStatus!=null && examStatus.size()>0){
+ MyLog.i(TAG,"鑰冭瘯鐘舵�佹洿鏂�");
+ examStatusList.clear();
+ examStatusList.addAll(examStatus);
+ mHandler.obtainMessage(ADD_DATA).sendToTarget();
+ if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){
+ btn_start_exam.setEnabled(false);
+ tv_stop.setEnabled(true);
+ }else{
+ btn_start_exam.setEnabled(true);
+ tv_stop.setEnabled(false);
+ }
+ exam_type = examStatus.get(0).getStartExam();
}
- Log.i(TAG, "onChanged: ");
- examStatusList.clear();
- examStatusList.addAll(examStatus);
- mHandler.obtainMessage(ADD_DATA).sendToTarget();
- if (examStatus.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){
- btn_train.setEnabled(false);
- tv_stop.setEnabled(true);
- }else{
- btn_train.setEnabled(true);
- tv_stop.setEnabled(false);
- }
+
}
});
+ WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
+ wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
+ @Override
+ public void onChanged(List<Student> students) {
+ for (Student student :
+ students) {
+ MyLog.i(TAG, "onChanged: " + student.toString());
+ if (!TextUtils.isEmpty(student.getName())){
-
+ tv_name.setText(getString(R.string.name)+student.getName());
+ tv_id.setText(getString(R.string.user_id)+student.getID());
+ ExamPlatformData.getInstance().setId(student.getID());
+ }
+ }
+ }
+ });
AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
@@ -181,6 +338,7 @@
if (appStatus != null){
Log.i(TAG, "onChanged: "+appStatus.toString());
iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status());
+ tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(appStatus.getWork_platform())));
tv_sat_num.setText(String.valueOf(appStatus.getDefault_observe1()).length()==1?"0"+appStatus.getDefault_observe1():String.valueOf(appStatus.getDefault_observe1()));
}
}
@@ -188,43 +346,65 @@
return view;
}
- private void initView(View view) {
+ private List<Integer> sns =new ArrayList<>();
+ private void sendJKMessage0203(List<FailedProj_select> failedProj_selects) {
+ JKMessage0203 jkMessage0203 = new JKMessage0203();
+ jkMessage0203.phone = ExamPlatformData.getInstance().getPhone();
+ jkMessage0203.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0203.exam_id = ExamPlatformData.getInstance().getExam_id();
- av_curve = view.findViewById(R.id.av3);
- av_park = view.findViewById(R.id.av2);
- av_podao = view.findViewById(R.id.av1);
- av_zhijiao = view.findViewById(R.id.av4);
- houseView = view.findViewById(R.id.hv);
+ for (int i = 0; i < failedProj_selects.size(); i++) {
+ if (hasSnEqulas(failedProj_selects.get(i).getSn())){
+ MyLog.i("sn鐩稿悓"+failedProj_selects.get(i).getSn());
+ }else{
+ ExamPlatformData.getInstance().getTTS().speak(failedProj_selects.get(i).getDeducting_reason()+(
+ failedProj_selects.get(i).getScore_deducting()==100?"涓嶅悎鏍�":"鎵�"+
+ failedProj_selects.get(i).getScore_deducting()+"鍒�"));
+ MyLog.i("娌℃湁鐩稿悓鐨剆n锛屽彂閫�"+failedProj_selects.get(i).getSn());
+ sns.add(failedProj_selects.get(i).getSn());
+ String utc = failedProj_selects.get(i).getUtc();
+ if (!TextUtils.isEmpty(utc)&&utc.length()>12){
+ utc =utc.substring(0,12);
+ }
+ jkMessage0203.timeBCD = utc ;
- tv_speed = view.findViewById(R.id.tv_speed);
- iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
- iv_head = view.findViewById(R.id.iv_head);
- tv_sat_num = view.findViewById(R.id.tv_sat_num);
+ 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();
+ }
- tv_total_score = view.findViewById(R.id.tv_total_score);
- tv_speed.setText(getResources().getString(R.string.speed,speed));
- view.findViewById(R.id.btn_return).setOnClickListener(this);
- mListView = view.findViewById(R.id.lv);
- tv_stop = view.findViewById(R.id.tv_stop);
- tv_stop.setOnClickListener(this);
- mListView.setFocusable(false);//listview涓嶈幏鍙栫劍鐐癸紝涓嶇劧鐨勮瘽scrollview浼氶《鍒板簳閮�
- view.findViewById(R.id.view_map).setOnClickListener(this);
- btn_train = view.findViewById(R.id.btn_start);
- btn_train.setOnClickListener(this);
- btn_train.setText("寮�濮嬭缁�");
- mScoreAdapter = new ScoreAdapter(_mActivity);
- mListView.setAdapter(mScoreAdapter);
-
- mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item,null));
+ }
+
+
+
+
+
+ MessageProcessor.getInstance().sendMessage(jkMessage0203);
+ }
+
+ private boolean hasSnEqulas(int failedProjSn){
+ if (sns.size() > 0){
+ for (int j = 0; j < sns.size(); j++) {
+ MyLog.i("宸插瓨鍦ㄧ殑sn"+sns.get(j));
+ if (sns.get(j) == failedProjSn){
+ MyLog.i("sn鐩稿悓锛屼笉鍙�"+sns.get(j));
+ return true;
+ }else{
+ continue;
+ }
+ }
+
+ }
+ return false;
}
private int whatPaintColor(ExamStatus examStat) {
int map_id = examStat.getMap_id();
int status = examStat.getEnter();
- Log.i(TAG, "whatPaintColor: map_id="+map_id+" status="+status);
+ MyLog.i(TAG, "whatPaintColor: map_id="+map_id+" status="+status);
switch (status) {
case 0://鑰冭瘯瀹屾垚
switch (map_id) {
@@ -261,57 +441,181 @@
}
case 1://杩涘叆鑰冨満椤圭洰
+ MyLog.i("pink 杩涘叆鏌愪釜鑰冨満椤圭洰");
return getResources().getColor(R.color.pink);
case 2://寰呰��
return getResources().getColor(R.color.examing);
}
return getResources().getColor(R.color.examing);
}
+
+ private void initView(View view) {
+
+ Intent intent = new Intent(ALARM_ACTION_CODE);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(_mActivity.getApplicationContext(),
+ REQUEST_CODE, intent,
+ PendingIntent.FLAG_CANCEL_CURRENT);
+ AlarmManager alarmManager = (AlarmManager) _mActivity.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
+ alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(),pendingIntent);
+
+
+ view.findViewById(R.id.iv_head).setOnClickListener(this);
+ av_curve = view.findViewById(R.id.av3);
+ av_park = view.findViewById(R.id.av2);
+ av_podao = view.findViewById(R.id.av1);
+ av_zhijiao = view.findViewById(R.id.av4);
+ houseView = view.findViewById(R.id.hv);
+ tv_name = view.findViewById(R.id.tv_name);
+ tv_id = view.findViewById(R.id.tv_ID);
+ tv_work_platform = view.findViewById(R.id.platform);
+
+ iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
+ iv_head = view.findViewById(R.id.iv_head);
+ 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_speed.setText(getResources().getString(R.string.speed,speed));
+
+ 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;
+ }
+ });
+
+ view.findViewById(R.id.view_map).setOnClickListener(this);
+ mScoreAdapter = new ScoreAdapter(_mActivity);
+ mListView.setAdapter(mScoreAdapter);
+ btn_start_exam = view.findViewById(R.id.btn_start);
+ btn_start_exam.setOnClickListener(this);
+ tv_stop = view.findViewById(R.id.tv_stop);
+ tv_stop.setOnClickListener(this);
+ mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null));
+
+ }
+
+
+ MyDialogFragment myDialogFragment;
+ SimulateNightBean simulateNightBean = null;
@Override
public void onClick(View v) {
- switch (v.getId()){
- case R.id.view_map:
- TcpFragment passwordFragment = findFragment(TcpFragment.class);
- if (passwordFragment == null) {
- passwordFragment = (TcpFragment) TcpFragment.newInstance();
- start(passwordFragment);
- } else {
- start(passwordFragment);
- }
- break;
+ switch (v.getId()) {
case R.id.btn_start:
- examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM);
- try {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("exam", 1);
- String examJson = jsonObject.toString();
- Log.i(TAG, "onClick: " + examJson);
- AYSdk.getInstance().sendCmd(Constant.EXAM_STATUS, examJson);
- } catch (JSONException e) {
- e.printStackTrace();
+ 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();
+ jkMessage0202.timeBCD = new Date();
+ jkMessage0202.ID = ExamPlatformData.getInstance().getID();
+
+ jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
+ failedProjViewModel.deleteAll();
+
+ if (myDialogFragment == null){
+ myDialogFragment = new MyDialogFragment();
}
+ myDialogFragment.show(getFragmentManager(),"dialog");
+ myDialogFragment.setCallback(new MyDialogFragment.Callback() {
+ @Override
+ public void changKao() {
+ exam_type = 2;
+ examStatusViewModel.updateStartExam(exam_type);
+ sendExamJson(1,exam_type);
+ ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭�冭瘯");
+ jkMessage0202.curr_exam = 0;
+
+ MessageProcessor.getInstance().sendMessage(jkMessage0202);
+ }
+
+ @Override
+ public void luKao() {
+ exam_type = 3;
+ examStatusViewModel.updateStartExam(exam_type);
+ sendExamJson(1,exam_type);
+ if (simulateNightBean == null){
+ simulateNightBean = new SimulateNightBean();
+ }
+ simulateNightBean.setExam(0);
+
+ final List<SimulateNightBean.QuestionBean> list = ExamPlatformData.getInstance().getSimulate_light_tips();
+ simulateNightBean.setQuestion(list.subList(list.size()-2,list.size()-1));
+ AYSdk.getInstance().sendCmd(0x8012,gson.toJson(simulateNightBean));
+ jkMessage0202.curr_exam = 1;
+
+ MessageProcessor.getInstance().sendMessage(jkMessage0202);
+
+ tempQs.add(list.get(0));
+ int [] a = Utils.getRandomInts(4,12);
+ for (int i = 0; i < a.length; i++) {
+ tempQs.add(list.get(a[i]));
+ }
+
+ simulateNightBean.setQuestion(tempQs);
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ AYSdk.getInstance().sendCmd(0x8012,gson.toJson(simulateNightBean));
+ tempQs.clear();
+ }
+ },10*1000);
+
+ }
+ });
+
+ iv_head.getDrawable().setLevel(1);
+ //娓呯┖sns
+ sns.clear();
+
+
+
break;
case R.id.tv_stop:
Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show();
stopExam();
+
+ break;
+ case R.id.view_map:
+ MapFragment mapFragment = findFragment(MapFragment.class);
+ MyLog.i(TAG,"鏌ョ湅鍦板浘");
+ if (mapFragment == null) {
+ mapFragment = (MapFragment) MapFragment.newInstance();
+ }
+ start(mapFragment);
break;
case R.id.btn_return:
_mActivity.onBackPressed();
break;
+ case R.id.iv_head:
+ MyLog.i(TAG,"绛惧埌锛岃幏鍙栬韩浠借瘉鐗╃悊鍗″彿");
+ AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,"");
+ //TODO 鑾峰緱鐗╃悊鍗″彿 鍙戦�丣KMessage0201缁欏钩鍙帮紝鑾峰彇濮撳悕銆佽韩浠借瘉銆乭ead_url
+
+ break;
}
}
- private void stopExam() {
- MyLog.i(TAG,"缁撴潫鑰冭瘯");
- 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);
+ private void sendExamJson(int i,int type) {
try {
+
JSONObject jsonObject = new JSONObject();
- jsonObject.put("exam", 0);
+ jsonObject.put("exam", i);
+ jsonObject.put("type", type);
String examJson = jsonObject.toString();
Log.i(TAG, "onClick: " + examJson);
AYSdk.getInstance().sendCmd(Constant.EXAM_STATUS, examJson);
@@ -320,11 +624,38 @@
}
}
+ private void stopExam() {
+ MyLog.i(TAG,"缁撴潫鑰冭瘯");
+
+
+ tv_total_score.setText(String.valueOf(currTotalScore));
+ iv_head.getDrawable().setLevel(0);
+
+ ExamPlatformData.getInstance().getTTS().speak("缁撴潫鑰冭瘯");
+ examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM);
+ sendExamJson(0,0);//缁撴潫鑰冭瘯 exstart=0
+ //TODO 鍙戦�丣KMessage0204缁欏钩鍙� 缁撴潫鑰冭瘯
+ JKMessage0204 jkMessage0204 = new JKMessage0204();
+ jkMessage0204.phone = ExamPlatformData.getInstance().getPhone();
+ jkMessage0204.timeBCD = new Date();
+ jkMessage0204.score = 10;
+ jkMessage0204.stop = JKMessage0204.SUCC_STOP;
+ jkMessage0204.ID = ExamPlatformData.getInstance().getID();
+ jkMessage0204.exam_id = ExamPlatformData.getInstance().getExam_id();
+ MessageProcessor.getInstance().sendMessage(jkMessage0204);
+ }
+
private ICEventListener icEventListener = new ICEventListener() {
@Override
public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
- speed = (double)obj;
- mHandler.obtainMessage(SPEED_DATA).sendToTarget();
+ if (msgCode == Constant.IC_ID){
+ icson = (String)obj;
+ mHandler.obtainMessage(msgCode).sendToTarget();
+ }else{
+ speed = (double)obj;
+ mHandler.obtainMessage(SPEED_DATA).sendToTarget();
+ }
+
}
};
@Override
--
Gitblit v1.8.0