From 1b7c87b81313bca47a6847f203be329a63decff3 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期四, 16 四月 2020 18:15:05 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/endian11/DriveJudge --- app/src/main/res/drawable/qrcode.jpg | 0 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 21 ++ .gitignore | 6 app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java | 5 app/src/main/res/values/styles.xml | 5 app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java | 2 lib/src/main/cpp/test_items/area_exam.cpp | 1 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 64 +++-- app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java | 73 +++++++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java | 16 + app/src/main/res/drawable/anim_loading.xml | 7 app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java | 4 app/src/main/java/safeluck/drive/evaluation/app.java | 13 - app/src/main/res/drawable/anyunlog.jpg | 0 app/src/main/res/layout/layout_dialog_loading.xml | 40 ++++ app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 22 - app/src/main/res/drawable/dialog_round.xml | 6 app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java | 100 ++++++++++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java | 1 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 110 +++++----- app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java | 58 ++--- app/src/main/res/layout/layout_dialog_qrcode.xml | 36 +++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java | 2 app/src/main/res/drawable/icon_loading.png | 0 24 files changed, 429 insertions(+), 163 deletions(-) diff --git a/.gitignore b/.gitignore index 2b75303..c580c08 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,9 @@ /build /captures .externalNativeBuild +*.ninja +lib/.cxx/cmake/debug +signal_config_file.json.orig +lib/.cxx/cmake +ndk_locator_record.json +misc.xml diff --git a/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java b/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java index 30135cd..9357019 100644 --- a/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java +++ b/app/src/androidTest/java/safeluck/drive/evaluation/ExampleInstrumentedTest.java @@ -1,8 +1,9 @@ package safeluck.drive.evaluation; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; + +import androidx.test.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index dedd39a..6867cfd 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -10,10 +10,8 @@ import androidx.annotation.NonNull; -import androidx.lifecycle.Observer; import androidx.work.Data; import androidx.work.OneTimeWorkRequest; -import androidx.work.WorkInfo; import androidx.work.WorkManager; import com.anyun.exam.lib.AYSdk; @@ -25,18 +23,15 @@ import com.anyun.exam.lib.MyLog; import com.anyun.exam.lib.crash.CrashHandler; import com.facebook.stetho.Stetho; -import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.safeluck.aykj.utils.BytesUtils; import org.json.JSONException; import org.json.JSONObject; import java.util.Date; -import java.util.Random; import safeluck.drive.evaluation.DB.WorkRoomDataBase; import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker; @@ -47,7 +42,6 @@ import safeluck.drive.evaluation.DB.failitems.FailedProj; import safeluck.drive.evaluation.DB.failitems.LuKaoFailedProj; import safeluck.drive.evaluation.DB.gps.GpsInfoWorker; -import safeluck.drive.evaluation.DB.rtktb.RTKConfig; import safeluck.drive.evaluation.DB.rtktb.RTKConfigUpdateWorker; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.cEventCenter.CEventCenter; @@ -583,12 +577,7 @@ AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,buffer.toString()); }else{ MyLog.d(TAG,String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName())); - CThreadPoolExecutor.runOnMainThread(new Runnable() { - @Override - public void run() { - Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show(); - } - }); + CThreadPoolExecutor.runOnMainThread(() -> Toast.makeText(getAppContext(), String.format("鍦板浘妯″瀷鏈嫹鍏%s]鐩綍涓�", Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+getApplicationContext().getPackageName()), Toast.LENGTH_SHORT).show()); } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java index b586d21..5940779 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java @@ -140,6 +140,7 @@ private int rtkPort = 12125; private String rtkIP = "47.93.80.84"; public final int MAX_SCORE_DUCT = 20; + private String coachID;//鏁欑粌鍛樿韩浠借瘉鍙风爜 public static ExamPlatformData getInstance() { return ourInstance; @@ -207,7 +208,10 @@ } - + /** + * 鑾峰彇瀛﹀憳ID锛堣韩浠借瘉锛� + * @return + */ public String getID() { return id; } @@ -388,4 +392,19 @@ return roadmapPath; } + /** + * 璁剧疆淇濆瓨鏁欑粌鍛樿韩浠借瘉鍙� + * @param id + */ + public void setCoachID(String id) { + this.coachID = id; + } + + /** + * 鑾峰彇 + * @return 鏁欑粌鍛樿韩浠借瘉 + */ + public String getCoachID() { + return coachID; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java new file mode 100644 index 0000000..b89fcda --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/LoadProgressDialog.java @@ -0,0 +1,73 @@ +package safeluck.drive.evaluation.customview; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +import safeluck.drive.evaluation.R; + +/** + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: LoadProgressDialog + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-16 09:57 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-16 09:57 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +public class LoadProgressDialog extends DialogFragment { + private String message="姝e湪鍔犺浇..."; + private boolean canCancel= false; + private TextView textView; + + private Handler handler = new Handler(Looper.getMainLooper()){ + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + if (msg.what==1) + dismiss(); + } + }; + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.layout_dialog_loading,container,false); + initView(view); + setCancelable(canCancel); + Message message = Message.obtain(); + message.what = 1; + handler.sendMessageDelayed(message,10*1000); + return view; + } + + private void initView(View view) { + textView =view.findViewById(R.id.tv_message); + } + + public static LoadProgressDialog newInstance(String message){ + LoadProgressDialog fragment = new LoadProgressDialog(); + Bundle bundle = new Bundle(); + bundle.putString("tittle", message); + fragment.setArguments(bundle); + return fragment; + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + message = getArguments().getString("title"); + textView.setText(message); + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java new file mode 100644 index 0000000..8fd32bc --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/customview/QRCodeDialog.java @@ -0,0 +1,100 @@ +package safeluck.drive.evaluation.customview; + +import android.app.Dialog; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Color; +import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + +import java.nio.charset.Charset; + +import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.util.QRCodeUtil; + +/** + * @ProjectName: DriveJudge + * @Package: safeluck.drive.evaluation.customview + * @ClassName: LoadProgressDialog + * @Description: java绫讳綔鐢ㄦ弿杩� + * @Author: 鏉庡崰浼� + * @CreateDate: 2020-04-16 09:57 + * @UpdateUser: 鏇存柊鑰� + * @UpdateDate: 2020-04-16 09:57 + * @UpdateRemark: 鏇存柊璇存槑 + * @Version: 1.0 + */ + +public class QRCodeDialog extends DialogFragment { + private static final String TAG = "QRCodeDialog"; + private String message="姝e湪鍔犺浇..."; + private boolean canCancel= true; + private ImageView iv_qrCode; + private Button btn; + private Bitmap qrBitmap; + private Bitmap logobitmap; + + + private Handler handler = new Handler(Looper.getMainLooper()){ + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + if (msg.what==1) + dismiss(); + } + }; + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.layout_dialog_qrcode,container,false); + initView(view); + setCancelable(canCancel); + + Message message = Message.obtain(); + message.what = 1; + handler.sendMessageDelayed(message,15*1000); + return view; + } + + private void initView(View view) { + Bundle bundle =getArguments(); + message = bundle.getString("tittle"); + Log.i(TAG,"meesage="+message); + btn = view.findViewById(R.id.btn_qr_sure); + iv_qrCode =view.findViewById(R.id.iv_qr_code); + logobitmap = BitmapFactory.decodeResource(getResources(),R.drawable.anyunlog); + qrBitmap = QRCodeUtil.createQRCodeBitmap(message,640,640,"UTF-8","H", + "1", Color.BLACK,Color.WHITE,logobitmap,0.2f,null); + iv_qrCode.setImageBitmap(qrBitmap); + btn.setOnClickListener(v -> { + dismiss(); + }); + } + + + public static QRCodeDialog newInstance(String message){ + QRCodeDialog fragment = new QRCodeDialog(); + Bundle bundle = new Bundle(); + bundle.putString("tittle", message); + Log.i(TAG,"messae="+message); + fragment.setArguments(bundle); + return fragment; + } + + + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java index 9ba2202..78f59ae 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java @@ -15,6 +15,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; import com.anyun.exam.lib.AYSdk; @@ -24,6 +25,7 @@ import safeluck.drive.evaluation.BuildConfig; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.ExamPlatformData; +import safeluck.drive.evaluation.customview.LoadProgressDialog; /** @@ -82,6 +84,8 @@ } } + + break; case R.id.network_train: if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){ @@ -106,28 +110,12 @@ public void onClick(DialogInterface dialog, int which) { _mActivity.finish(); } - }).setNegativeButton("鍙栨秷", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { + }).setNegativeButton("鍙栨秷", (DialogInterface dialog, int which)-> { dialog.dismiss(); - } }).show(); -// TakePhotoFragment takePhotoFragment = findFragment(TakePhotoFragment.class); -// if (takePhotoFragment == null){ -// takePhotoFragment = TakePhotoFragment.newInstance(); -// } -// start(takePhotoFragment); break; case R.id.system_setting: - //鎵撳紑杈撳叆瀵嗙爜鐣岄潰 -// PasswordFragment passwordFragment = findFragment(PasswordFragment.class); -// if (passwordFragment == null) { -// passwordFragment = (PasswordFragment) PasswordFragment.newInstance(); -// start(passwordFragment); -// } else { -// start(passwordFragment); -// } BaseSettingFragment sysSetingFragment = findFragment(BaseSettingFragment.class); if (sysSetingFragment == null) { sysSetingFragment = (BaseSettingFragment) BaseSettingFragment.newInstance(); 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 52acb1b..0966173 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/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;//杩斿洖鐨刬c鍗′俊鎭� 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 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯 - 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 鑾峰緱鐗╃悊鍗″彿 鍙戦�丣KMessage0201缁欏钩鍙帮紝鑾峰彇濮撳悕銆佽韩浠借瘉銆乭ead_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); } + + } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java index 04a064f..8d77325 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java @@ -97,24 +97,21 @@ View view = inflater.inflate(R.layout.layout_base_datas, container, false); initView(view); rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class); - rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() { - @Override - public void onChanged(RTKConfig rtkConfig) { - if (rtkConfig != null){ - Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); - mRtkConfig = rtkConfig; - et_ip_rtk.setText(rtkConfig.getIp()); - et_city_id.setText(String.valueOf(rtkConfig.getCity())); - et_city_province.setText(String.valueOf(rtkConfig.getProvince())); - et_port_rtk.setText(String.valueOf(rtkConfig.getPort())); - et_phone.setText(rtkConfig.getPhone()); - ExamPlatformData.getInstance().setRTKPort(rtkConfig.getPort()); - ExamPlatformData.getInstance().setRTKIP(rtkConfig.getIp()); - - } - + rtkConfigViewModel.getRTKConfig().observe(this, rtkConfig -> { + if (rtkConfig != null){ + Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); + mRtkConfig = rtkConfig; + et_ip_rtk.setText(rtkConfig.getIp()); + et_city_id.setText(String.valueOf(rtkConfig.getCity())); + et_city_province.setText(String.valueOf(rtkConfig.getProvince())); + et_port_rtk.setText(String.valueOf(rtkConfig.getPort())); + et_phone.setText(rtkConfig.getPhone()); + ExamPlatformData.getInstance().setRTKPort(rtkConfig.getPort()); + ExamPlatformData.getInstance().setRTKIP(rtkConfig.getIp()); } + + }); @@ -279,16 +276,15 @@ final Uri uri= data.getData(); Log.i(TAG, "onActivityResult: "+uri.getPath()); ExamPlatformData.getInstance().setNewMapPath(uri.getPath()); - CThreadPoolExecutor.runInBackground(new Runnable() { - @Override - public void run() { + CThreadPoolExecutor.runInBackground(()-> { + byte[] fileContent = FileUtil.readFile(uri.getPath()); if (fileContent != null){ String str = new String(fileContent); Log.i(TAG, "鏂囦欢鍐呭锛�"+str); AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str); } - } + }); } @@ -298,16 +294,15 @@ final Uri uri= data.getData(); Log.i(TAG, "onActivityResult: "+uri.getPath()); ExamPlatformData.getInstance().setCarModelPath(uri.getPath()); - CThreadPoolExecutor.runInBackground(new Runnable() { - @Override - public void run() { + CThreadPoolExecutor.runInBackground(()-> { + byte[] fileContent = FileUtil.readFile(uri.getPath()); if (fileContent != null){ String str = new String(fileContent); Log.i(TAG, "鏂囦欢鍐呭锛�"+str); AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,str); } - } + }); } @@ -317,15 +312,12 @@ final Uri uri= data.getData(); Log.i(TAG, "onActivityResult: "+uri.getPath()); ExamPlatformData.getInstance().setNewRoadMapPath(uri.getPath()); - CThreadPoolExecutor.runInBackground(new Runnable() { - @Override - public void run() { - byte[] fileContent = FileUtil.readFile(uri.getPath()); - if (fileContent != null){ - String str = new String(fileContent); - Log.i(TAG, "鏂囦欢鍐呭锛�"+str); - AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str); - } + CThreadPoolExecutor.runInBackground(() -> { + byte[] fileContent = FileUtil.readFile(uri.getPath()); + if (fileContent != null){ + String str = new String(fileContent); + Log.i(TAG, "鏂囦欢鍐呭锛�"+str); + AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str); } }); } 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 baebf8b..da8ebf4 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java @@ -6,6 +6,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; @@ -59,6 +60,7 @@ 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.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0201; @@ -106,8 +108,9 @@ private static final int SPEED_DATA = 2; private FailedProjViewModel failedProjViewModel; String icson;//杩斿洖鐨刬c鍗′俊鎭� json - private List<SimulateNightBean.QuestionBean> tempQs= new ArrayList<>(); - private TableRow tableRow1,tableRow2,tableRow3; + private String content;//鐢ㄤ互鐢熸垚浜岀淮鐮佺殑鍐呭 + + private LoadProgressDialog loadProgressDialog; private List<Integer> btn_ids = new ArrayList<Integer>(); @@ -474,6 +477,8 @@ 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()); } } } @@ -542,10 +547,6 @@ tv_total_score = view.findViewById(R.id.tv_total_score); tv_network_time = view.findViewById(R.id.network_time); - tableRow1 = view.findViewById(R.id.first); - tableRow2 = view.findViewById(R.id.second); - tableRow3 = view.findViewById(R.id.third); - tv_network_time.setText(Utils.getHHmm()); @@ -606,30 +607,12 @@ @Override public void changKao() { - exam_type = 2; - ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE);//璁剧疆涓鸿缁冩ā寮� - ExamPlatformData.getInstance().setExamType(exam_type); - examStatusViewModel.updateStartExam(exam_type); - sendExamJson(1,exam_type); - ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭缁�"); - jkMessage0202.curr_exam = 0; - - jkMessage0202.mode = ExamPlatformData.getInstance().getExamType()==ExamPlatformData.TRAINING_MODE?1:0; - - MessageProcessor.getInstance().sendMessage(jkMessage0202); + sendJK0202(2); } @Override public void luKao() { - exam_type = 3; - ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE); - ExamPlatformData.getInstance().setExamType(exam_type); - examStatusViewModel.updateStartExam(exam_type); - sendExamJson(1,exam_type); - ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭缁�"); - jkMessage0202.curr_exam = 1; - jkMessage0202.mode = ExamPlatformData.getInstance().getExamType()==ExamPlatformData.TRAINING_MODE?1:0; - MessageProcessor.getInstance().sendMessage(jkMessage0202); + sendJK0202(3); @@ -669,13 +652,36 @@ break; case R.id.iv_head: MyLog.i(TAG,"绛惧埌锛岃幏鍙栬韩浠借瘉鐗╃悊鍗″彿"); - AYSdk.getInstance().sendCmd(Constant.READ_PHYSICAL_ID,""); - //TODO 鑾峰緱鐗╃悊鍗″彿 鍙戦�丣KMessage0201缁欏钩鍙帮紝鑾峰彇濮撳悕銆佽韩浠借瘉銆乭ead_url - + loadProgressDialog = LoadProgressDialog.newInstance("璇风◢鍚�..."); + loadProgressDialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.Dialog_FullScreen); + loadProgressDialog.showNow(getFragmentManager(),"loadingdiaolog"); break; } } + private void sendJK0202(int type) { + + final JKMessage0202 jkMessage0202 = new JKMessage0202(); + exam_type = type; + ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_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) { try { diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java index 9184539..cc80540 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java @@ -1,9 +1,5 @@ package safeluck.drive.evaluation.platformMessage; -import com.safeluck.aykj.annotation.Hex; -import com.safeluck.aykj.annotation.Int32; -import com.safeluck.aykj.annotation.Length; -import com.safeluck.aykj.annotation.Order; public class JKMessage0002 extends JK2019MessageBase { /** diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java index 70ccedf..e03fb5c 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java @@ -6,17 +6,25 @@ public class JKMessage0202 extends JK2019MessageBase { - @Order(1) + @Length(18) + @Ascii + public String coach_id; + @Order(2) + @Length(18) + @Ascii + public String stu_id; + + @Order(3) @BcdDateTime public Date timeBCD; - @Order(2) + @Order(4) @Int32 public int exam_id; - @Order(3) + @Order(5) @Int8 public int curr_exam; - @Order(3) + @Order(6) @Int8 public int mode; diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java index 29b08e0..2670da4 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java @@ -2,7 +2,6 @@ import com.safeluck.aykj.annotation.Ascii; import com.safeluck.aykj.annotation.BcdDateTime; -import com.safeluck.aykj.annotation.Hex; import com.safeluck.aykj.annotation.Int32; import com.safeluck.aykj.annotation.Int8; import com.safeluck.aykj.annotation.Length; diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java index ce7a3b2..b5810e9 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java @@ -1,10 +1,8 @@ package safeluck.drive.evaluation.platformMessage; -import com.safeluck.aykj.annotation.Ascii; import com.safeluck.aykj.annotation.BcdDateTime; import com.safeluck.aykj.annotation.Int32; import com.safeluck.aykj.annotation.Int8; -import com.safeluck.aykj.annotation.Length; import com.safeluck.aykj.annotation.Order; import java.util.Date; diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java index cc2ab02..592a691 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java @@ -2,8 +2,6 @@ import com.safeluck.aykj.annotation.*; -import safeluck.drive.evaluation.platformMessage.decoder.JWD; -import safeluck.drive.evaluation.platformMessage.decoder.SPEED; public class JKMessage0206 extends JK2019MessageBase { @Order(1) diff --git a/app/src/main/res/drawable/anim_loading.xml b/app/src/main/res/drawable/anim_loading.xml new file mode 100644 index 0000000..125d033 --- /dev/null +++ b/app/src/main/res/drawable/anim_loading.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" + android:drawable="@drawable/icon_loading" + android:fromDegrees="0.0" + android:pivotX="50.0%" + android:pivotY="50.0%" + android:toDegrees="360.0" /> \ No newline at end of file diff --git a/app/src/main/res/drawable/anyunlog.jpg b/app/src/main/res/drawable/anyunlog.jpg new file mode 100644 index 0000000..cdc7d3e --- /dev/null +++ b/app/src/main/res/drawable/anyunlog.jpg Binary files differ diff --git a/app/src/main/res/drawable/dialog_round.xml b/app/src/main/res/drawable/dialog_round.xml new file mode 100644 index 0000000..4810941 --- /dev/null +++ b/app/src/main/res/drawable/dialog_round.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle" > +<solid android:color="#333333"/> + <corners android:radius="8dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/icon_loading.png b/app/src/main/res/drawable/icon_loading.png new file mode 100644 index 0000000..e04c045 --- /dev/null +++ b/app/src/main/res/drawable/icon_loading.png Binary files differ diff --git a/app/src/main/res/drawable/qrcode.jpg b/app/src/main/res/drawable/qrcode.jpg new file mode 100644 index 0000000..1ca9b6d --- /dev/null +++ b/app/src/main/res/drawable/qrcode.jpg Binary files differ diff --git a/app/src/main/res/layout/layout_dialog_loading.xml b/app/src/main/res/layout/layout_dialog_loading.xml new file mode 100644 index 0000000..1cb7cb9 --- /dev/null +++ b/app/src/main/res/layout/layout_dialog_loading.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="@android:color/transparent" + android:gravity="center" + android:orientation="vertical" > + + <LinearLayout + android:id="@+id/linearLayout" + android:layout_width="100dp" + android:layout_height="100dp" + android:background="#333333" + android:gravity="center" + android:orientation="vertical" > + + <ProgressBar + android:id="@+id/progressBar1" + style="?android:attr/progressBarStyleInverse" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:indeterminateBehavior="repeat" + android:indeterminateDrawable="@drawable/anim_loading" + android:background="@android:color/transparent" /> + + <TextView + android:id="@+id/tv_message" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:paddingTop="5dp" + android:text="Message" + android:visibility="gone" + android:textColor="@android:color/holo_red_dark" + /> + </LinearLayout> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_dialog_qrcode.xml b/app/src/main/res/layout/layout_dialog_qrcode.xml new file mode 100644 index 0000000..fd6494c --- /dev/null +++ b/app/src/main/res/layout/layout_dialog_qrcode.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="@android:color/transparent" + android:gravity="center" + android:orientation="vertical" > + + <LinearLayout + android:id="@+id/linearLayout" + android:layout_width="210dp" + android:layout_height="210dp" + android:gravity="center" + android:background="@android:color/white" + android:orientation="vertical" > + + <ImageView + android:id="@+id/iv_qr_code" + android:layout_width="125dp" + android:layout_height="125dp" + android:layout_margin="10dp" + android:scaleType="fitCenter" + android:src="@drawable/qrcode" + /> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="纭畾" + android:padding="10dp" + android:background="@drawable/ic_btn_daikao" + android:textColor="@android:color/white" + android:id="@+id/btn_qr_sure"/> + + </LinearLayout> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 0bbdc2b..16fc81d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -52,4 +52,9 @@ <item name="android:ems">6</item> <item name="android:background">@android:drawable/edit_text</item> </style> + + <style name="Dialog.FullScreen" parent="Theme.AppCompat.Dialog"> + <item name="android:padding">0dp</item> + <item name="android:windowBackground">@android:color/transparent</item> + </style> </resources> diff --git a/lib/src/main/cpp/test_items/area_exam.cpp b/lib/src/main/cpp/test_items/area_exam.cpp index 819910b..46c71ca 100644 --- a/lib/src/main/cpp/test_items/area_exam.cpp +++ b/lib/src/main/cpp/test_items/area_exam.cpp @@ -2,6 +2,7 @@ // Created by YY on 2020/4/3. // +#include <cstdlib> #include "area_exam.h" #include "../test_common/car_sensor.h" #include "../driver_test.h" -- Gitblit v1.8.0