From 399bf6ae73d636d56ecd590036964e52433b4743 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期四, 17 九月 2020 17:30:27 +0800
Subject: [PATCH] 设置一个ROUTE_MODE 为 采集模式, app  HomeFragment增加这个模式的判断

---
 app/src/main/java/safeluck/drive/evaluation/app.java                                 |    2 
 /dev/null                                                                            |   13 ----
 app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java               |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java               |    2 
 app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java        |   50 ++++++++++++----
 app/src/main/java/safeluck/drive/evaluation/routecollect/RouteCollectController.java |   12 ++-
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java              |   41 ++++++++++---
 7 files changed, 80 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index a17b22f..db45ca9 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -473,7 +473,7 @@
                         }
 
                         jkMessage0206.attachInfo2 = attachInfo2;
-                    if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.MODE_NONE){
+                    if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.MODE_NONE||ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.ROUTE_MODE){
                         //鍒ゆ柇10s鏃堕棿鏄惁鍒�
                         if (ExamPlatformData.getInstance().isTimeArrive_10s()){
 
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 2ce8108..754d143 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -60,6 +60,8 @@
     private int  trainingMode = 0;//鍗充笉鏄缁冩ā寮忎篃涓嶆槸鑰冭瘯妯″紡
     public static final int EXAMING_MODE =1;
     public static final int TRAINING_MODE =2;
+    //閲囬泦妯″紡
+    public static final int ROUTE_MODE =3;
 
 
     //涓昏鏄负浜嗘帶鍒舵棦涓嶆槸鑰冭瘯妯″紡涔熶笉鏄缁冩ā寮忎笅 0206娑堟伅鐨勫彂閫侊紝10s涓�娆″彂閫�
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 c5dd073..61e948d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -95,7 +95,7 @@
 
                 break;
             case R.id.network_train:
-                if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE){
+                if (ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.TRAINING_MODE || ExamPlatformData.getInstance().getTrainingMode()==ExamPlatformData.ROUTE_MODE){
                     Toast.makeText(_mActivity, "褰撳墠姝e浜庤缁冩ā寮忥紝鏃犳硶杩涘叆鑱旂綉鑰冭瘯锛岃鍏堢粨鏉熻缁�", Toast.LENGTH_SHORT).show();
                 }else{
                     NetWorkTrainFragment netWorkTrainFragment = findFragment(NetWorkTrainFragment.class);
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 14b7277..e480e6b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -88,6 +88,9 @@
 import safeluck.drive.evaluation.platformMessage.JKMessage0202;
 import safeluck.drive.evaluation.platformMessage.JKMessage0204;
 import safeluck.drive.evaluation.platformMessage.PlatFormConstant;
+import safeluck.drive.evaluation.routecollect.CollectPointResult;
+import safeluck.drive.evaluation.routecollect.ICollectView;
+import safeluck.drive.evaluation.routecollect.RouteCollectController;
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.Utils;
 import safeluck.drive.evaluation.widget.StatusDialog;
@@ -98,7 +101,7 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-public class TrainFragment extends SupportFragment implements View.OnClickListener {
+public class TrainFragment extends SupportFragment implements View.OnClickListener, ICollectView {
 
     private static final String TAG = TrainFragment.class.getSimpleName();
     private static final int ROUTE_COLLECT = 5;//绾胯矾閲囬泦鏍囧織
@@ -137,6 +140,7 @@
     String icson;//杩斿洖鐨刬c鍗′俊鎭� json
     private String content;//鐢ㄤ互鐢熸垚浜岀淮鐮佺殑鍐呭
 
+    RouteCollectController routeCollectController;
 
 private List<Integer> btn_ids = new ArrayList<Integer>();
 private HashMap<String,Integer> routeCollect_btn_ids = new HashMap<>();
@@ -547,6 +551,7 @@
 
 
     private void initView(View view) {
+        routeCollectController = new RouteCollectController(this);
         items = view.findViewById(R.id.items);
         items_score=view.findViewById(R.id.items_score);
         route_collect=view.findViewById(R.id.route_collect);
@@ -673,22 +678,23 @@
                                         for (RouteBean bean:mRouteBeans){
                                             if (string.equalsIgnoreCase(bean.getRouteName())){
                                                 //鏈夐噸鍚嶇殑绾胯矾锛屾彁绀虹敤鎴峰苟涓嶅紑鍚嚎璺噰闆�
-                                                Toast.makeText(_mActivity, "璇ョ嚎璺悕绉板凡琚娇鐢紝璇锋洿鎹�", Toast.LENGTH_SHORT).show();
+                                                Toast.makeText(_mActivity, "缁х画閲囬泦"+bean.getRouteName(), Toast.LENGTH_SHORT).show();
                                                 flag = true;
                                                 break;
                                             }
                                         }
+                                        Toast.makeText(_mActivity, "绾胯矾閲囬泦", Toast.LENGTH_SHORT).show();
+                                        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.ROUTE_MODE);
+                                        exam_type = 5;
+                                        examStatusViewModel.updateStartExam(exam_type);
+                                        items.setVisibility(View.GONE);
+                                        items_score.setVisibility(View.GONE);
+                                        route_collect.setVisibility(View.VISIBLE);
                                         if (!flag){
                                             RouteBean routeBean = new RouteBean();
                                             routeBean.setRouteName(string);
                                             routeLineViewModel.insertRouteBean(routeBean);
-                                            Toast.makeText(_mActivity, "绾胯矾閲囬泦", Toast.LENGTH_SHORT).show();
-                                            ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE);
-                                            exam_type = 5;
-                                            examStatusViewModel.updateStartExam(exam_type);
-                                            items.setVisibility(View.GONE);
-                                            items_score.setVisibility(View.GONE);
-                                            route_collect.setVisibility(View.VISIBLE);
+
                                         }
 
                                     }
@@ -782,7 +788,7 @@
                 while (iterator.hasNext()){
                     Map.Entry<String, Integer> next = iterator.next();
                     if (next.getValue()== v.getId()){
-
+                routeCollectController.startCollect();
                 Toast.makeText(_mActivity, String.format("鐐瑰嚮浜�%s",next.getKey()), Toast.LENGTH_SHORT).show();
                 break;
                     }
@@ -1039,4 +1045,19 @@
         return spannableString;
     }
 
+    @Override
+    public void beginCollectView() {
+        Log.i(TAG,"BIND_RTK_INFO_MAP");
+    }
+
+    @Override
+    public void endCollectView() {
+        Log.i(TAG,"endCollectView");
+        routeCollectController.endCollect();
+    }
+
+    @Override
+    public void routeItem(CollectPointResult collectPointResult) {
+        Log.i(TAG,String.format("x=%f,y=%f",collectPointResult.getX(),collectPointResult.getY()));
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/routecollect/IRouteRemotePointCallback.java b/app/src/main/java/safeluck/drive/evaluation/routecollect/IRouteRemotePointCallback.java
deleted file mode 100644
index 0da552c..0000000
--- a/app/src/main/java/safeluck/drive/evaluation/routecollect/IRouteRemotePointCallback.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package safeluck.drive.evaluation.routecollect;
-
-/**
- * 瀛樻斁c缁欑殑鍥炶皟锛�
- * dge
- * Created by lzw on 2020/9/16. 10:46:00
- * 閭锛�632393724@qq.com
- * All Rights Saved! Chongqing AnYun Tech co. LTD
- */
-public interface IRouteRemotePointCallback {
-    void javaPoint(final int qf, final double x, final double y, final double z,final double heading,
-                   final double pitch,final double roll);
-}
diff --git a/app/src/main/java/safeluck/drive/evaluation/routecollect/RouteCollectController.java b/app/src/main/java/safeluck/drive/evaluation/routecollect/RouteCollectController.java
index a72b4ce..bb439c3 100644
--- a/app/src/main/java/safeluck/drive/evaluation/routecollect/RouteCollectController.java
+++ b/app/src/main/java/safeluck/drive/evaluation/routecollect/RouteCollectController.java
@@ -1,5 +1,6 @@
 package safeluck.drive.evaluation.routecollect;
 
+import safeluck.drive.evaluation.fragment.TrainFragment;
 import safeluck.drive.evaluation.routecollect.impl.RouteModel;
 
 /**
@@ -13,8 +14,11 @@
     ICollectView iCollectView;
     RouteModel routeModel;
 
-
-    public void RouteCollectController(ICollectView collectView){
+    /**
+     *  Topic=[bind_rtk_info_map],message={"utc":"20200917081227.40","qf":3,"coord_x":0.974,"coord_x_dir":"N","coord_y":-0.191,"coord_y_dir":"E","heading":315.0,"pitch":0.0,"roll":0.0,"sat_num":14,"latitude":31.174458016666667,"longitude":121.38786518333333,"altitude":58.9666,"speed":1.72591488,"track_ture":315.0}
+     * @param collectView
+     */
+    public  RouteCollectController(ICollectView collectView){
         this.iCollectView = collectView;
         routeModel = new RouteModel();
     }
@@ -29,8 +33,8 @@
     }
 
     public void endCollect(){
-        if (iCollectView != null){
-            iCollectView.endCollectView();
+        if (routeModel != null){
+            routeModel.endCollect();
         }
     }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java b/app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java
index fe352fa..399ca2b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java
@@ -1,11 +1,19 @@
 package safeluck.drive.evaluation.routecollect.impl;
 
+import android.util.Log;
+
 import com.anyun.exam.lib.IRemoteInterface;
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.cEventCenter.CEventCenter;
+import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 import safeluck.drive.evaluation.routecollect.CollectPointResult;
 import safeluck.drive.evaluation.routecollect.ILoadListener;
 import safeluck.drive.evaluation.routecollect.IRouteCollectInterface;
-import safeluck.drive.evaluation.routecollect.IRouteRemotePointCallback;
+import safeluck.drive.evaluation.util.Utils;
 
 /**
  * DriveJudge
@@ -13,10 +21,33 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-public class RouteModel implements IRouteCollectInterface,IRouteRemotePointCallback {
+public class RouteModel implements IRouteCollectInterface{
 
     ILoadListener iLoadListener;
-    private double sx=120.0,sy=10.03;
+    private static final String TAG = "RouteModel";
+    private ICEventListener icEventListener= new ICEventListener() {
+        @Override
+        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
+            //,"coord_x":0.974,"coord_x_dir":"N","coord_y":-0.191,"c
+            if (iLoadListener != null){
+                CollectPointResult collectPointResult = new CollectPointResult();
+                try {
+                    JSONObject jsonObject = new JSONObject((String)obj);
+                    double x = jsonObject.getDouble("coord_x");
+                    double y = jsonObject.getDouble("coord_y");
+
+                    Log.i(TAG,String.format("閲囬泦鍒扮殑鐐广�恱=%f,y=%f]",x,y));
+                    collectPointResult.setX(Utils.getdouble(x,4));
+                    collectPointResult.setY(Utils.getdouble(y,4));
+                    iLoadListener.finishCollectItem(collectPointResult);
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+
+            }
+        }
+    };
+
     @Override
     public void startCollect(ILoadListener listener) {
         iLoadListener = listener;
@@ -24,6 +55,7 @@
         //set IRouteRemotePointCallback
 
         //濡傛灉閲囩敤application鐨刢allback 锛屽彲鑳介渶瑕佹敞鍐屼竴涓狢EventLisntener
+        CEventCenter.onBindEvent(true,icEventListener, Constant.BIND_RTK_INFO_MAP);
     }
 
     /**
@@ -32,17 +64,9 @@
     @Override
     public void endCollect() {
         //濡傛灉閲囩敤application鐨刢allback 锛屽彲鑳介渶瑕佸弽娉ㄥ唽涓�涓狢EventLisntener 瑙g粦
+        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_RTK_INFO_MAP);
+        iLoadListener = null;
     }
 
 
-    @Override
-    public void javaPoint(int qf, double x, double y, double z, double heading, double pitch, double roll) {
-
-        if (iLoadListener != null){
-            CollectPointResult collectPointResult = new CollectPointResult();
-            collectPointResult.setX(sx);
-            collectPointResult.setY(sy);
-            iLoadListener.finishCollectItem(collectPointResult);
-        }
-    }
 }

--
Gitblit v1.8.0