From 505973d5c73a0981722935f7910ea1a373688aeb Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期五, 03 四月 2020 15:42:35 +0800
Subject: [PATCH] 修改科二科三显示

---
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java          |    2 
 app/src/main/java/safeluck/drive/evaluation/util/Utils.java                      |   15 +++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java |   34 +++++++++++++++--
 app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java            |   38 ++++++++++++++++++-
 app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java       |    2 
 5 files changed, 82 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
index b995454..7897acf 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatus.java
@@ -20,7 +20,7 @@
  zhijiao  type = 5*/
 
 
-    private int map_item;
+    private int map_item;//type
 
     //0 閫�鍑猴紙鑰冭瘯瀹屾瘯锛�
     //1 杩涘叆锛堟鍦ㄨ繘琛岃�冭瘯锛�  2-寰呰��
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
index 5465865..05df01b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
@@ -7,6 +7,7 @@
 import android.graphics.Paint;
 import android.graphics.Path;
 import android.os.Bundle;
+import android.os.Handler;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -37,6 +38,8 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
@@ -61,6 +64,8 @@
     private boolean isDrawing = false;
     private int pixels = 80;
 
+    private long count =0;
+    private long lastcount =0;
 
     private ICEventListener speedListener = new ICEventListener() {
         @Override
@@ -70,6 +75,7 @@
             }
             if (msgCode == Constant.LEFT_RIGHT_DISTANCE){
                 String str = (String)obj;
+                count++;
 
                 try {
                     JSONObject jsonObject = new JSONObject(str);
@@ -82,6 +88,10 @@
             }
         }
     };
+
+
+    private ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
+
 
     public static SupportFragment newInstance() {
         return new MapFragment();
@@ -136,6 +146,18 @@
         gson = new Gson();
         initView(view);
         consumer.execute(new CalRunnable());
+        scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
+            @Override
+            public void run() {
+                Log.i(TAG,"1s鍒�");
+                if (lastcount==count){
+                    Log.i(TAG,"宸茬粡娌″湪鍙戞秷鎭簡");
+                    leftDistance = 0.0;
+                    rightDistance = 0.0;
+                }
+                lastcount = count;
+            }
+        },1000,1000, TimeUnit.MILLISECONDS);
         return view;
     }
     private int avaliableHeight,avalibleWidth;
@@ -838,13 +860,25 @@
             Path pathText = new Path();
             pathText.moveTo(base_x-110, base_y-35);
             pathText.lineTo(base_x-20, base_y-35);
-            canvas3.drawTextOnPath(String.valueOf(leftDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            if (leftDistance == 0.0){
+
+                canvas3.drawTextOnPath("...", pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }else{
+
+                canvas3.drawTextOnPath(String.valueOf(leftDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }
         }
         if (osdMoveDirect != null) {
             Path pathText = new Path();
             pathText.moveTo(base_x+30, base_y-35);
             pathText.lineTo(base_x+110, base_y-35);
-            canvas3.drawTextOnPath(String.valueOf(rightDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            if (rightDistance == 0.0){
+
+                canvas3.drawTextOnPath("...", pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }else{
+                canvas3.drawTextOnPath(String.valueOf(rightDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }
+
         }
         paint.setColor(Color.RED);
         canvas3.drawLine(base_x-120,base_y-200,base_x-120,base_y+200,paint);
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
index f3fb978..781683d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
@@ -37,6 +37,8 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
@@ -117,8 +119,9 @@
     private LinkedBlockingQueue queue = new LinkedBlockingQueue(100);
     private ExecutorService producer = Executors.newSingleThreadExecutor();
     private ExecutorService consumer = Executors.newSingleThreadExecutor();
-
-
+    private long count =0;
+    private long lastcount =0;
+    private ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -126,6 +129,18 @@
         gson = new Gson();
         initView(view);
         consumer.execute(new CalRunnable());
+        scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
+            @Override
+            public void run() {
+                Log.i(TAG,"1s鍒�");
+                if (lastcount==count){
+                    Log.i(TAG,"宸茬粡娌″湪鍙戞秷鎭簡");
+                    leftDistance = 0.0;
+                    rightDistance = 0.0;
+                }
+                lastcount = count;
+            }
+        },1000,1000, TimeUnit.MILLISECONDS);
         return view;
     }
     private int avaliableHeight,avalibleWidth;
@@ -607,13 +622,24 @@
             Path pathText = new Path();
             pathText.moveTo(base_x-110, base_y-35);
             pathText.lineTo(base_x-20, base_y-35);
-            canvas3.drawTextOnPath(String.valueOf(leftDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            if (leftDistance == 0.0){
+
+                canvas3.drawTextOnPath("...", pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }else{
+
+                canvas3.drawTextOnPath(String.valueOf(leftDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }
         }
         if (osdMoveDirect != null) {
             Path pathText = new Path();
             pathText.moveTo(base_x+30, base_y-35);
             pathText.lineTo(base_x+110, base_y-35);
-            canvas3.drawTextOnPath(String.valueOf(rightDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            if (rightDistance == 0.0){
+
+                canvas3.drawTextOnPath("...", pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }else{
+                canvas3.drawTextOnPath(String.valueOf(rightDistance), pathText, 0, 0, mPaint);//閫嗘椂閽堢敓鎴�
+            }
         }
         paint.setColor(Color.RED);
         canvas3.drawLine(base_x-120,base_y-200,base_x-120,base_y+200,paint);
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 4ce4f3b..a727d73 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -440,7 +440,7 @@
                 Log.i(TAG, "ExamStatus onChanged: ");
                 if (examStatus!=null && examStatus.size()>0){
                     showChangKaoOrLukao(examStatus.get(0).getStartExam());
-                    MyLog.i(TAG,"鑰冭瘯鐘舵�佹洿鏂�");
+                    MyLog.i(TAG,"鑰冭瘯鐘舵�佹洿鏂�"+examStatus.get(0).getStartExam());
                     examStatusList.clear();
                     examStatusList.addAll(examStatus);
                     mHandler.obtainMessage(ADD_DATA).sendToTarget();
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 6336c9f..82e64ce 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -360,7 +360,20 @@
 
 
 
-       ;
+        String str = "{\"result\":true,\"data\":{\"server\":\"gps.safeluck.com\",\"port\":\"3301\",\"map_json\":{\"axial\":[0.0,12.0],\"left_front_tire\":[8.0,9.0],\"main_ant\":[-9151.5063,13030.5118],\"right_front_tire\":[20.0,21.0],\"right_rear_tire\":[22.0,23.0],\"name\":\"绉戜簩鍦鸿�冭溅妯″瀷\",\"left_rear_tire\":[10.0,11.0],\"type\":\"car\",\"body\":[0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,12.0,13.0,14.0,15.0,16.0,17.0,18.0,19.0],\"point\":[-9149.6063,13033.0768,-9149.9978,13033.3124,-9150.3258,13033.3485,-9150.8341,13032.8985,-9151.7318,13031.6639,-9152.3573,13030.83,-9152.5214,13030.5639,-9152.602,13030.3105,-9150.8053,13032.8843,-9150.6537,13032.7602,-9152.3352,13030.8124,-9152.221,13030.7008,-9152.092,13029.7892,-9151.4638,13029.4333,-9151.2111,13029.568,-9150.9808,13029.8341,-9150.3546,13030.6796,-9149.458,13031.8642,-9149.1611,13032.4276,-9149.2827,13032.7653,-9149.4842,13031.8708,-9149.6176,13031.9937,-9151.0011,13029.8717,-9151.1367,13029.9878]},\"pzh\":\"璞獷8000娴媆"}}";
+        String pattern = "(\\d{1,2}\\.[0]{1})";
+        Pattern r = Pattern.compile(pattern);
+        Matcher m = r.matcher(str);
+        int i= 0;
+
+        while (m.find()){
+            i++;
+            str = m.group();
+            System.out.println(m.matches()+" str="+str);
+        }
+        System.out.println(m.matches()+" i="+i);
+
+
     }
 
     public static Point Calc3Point(Point p1,Point p2,double L ){

--
Gitblit v1.8.0