From bb00b0257227d4d6397caa78143292822df13db8 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 16 三月 2020 10:32:24 +0800
Subject: [PATCH] 状态栏添加卫星颗数和解状态;App_status表添加qf和sat_num字段

---
 app/src/main/java/safeluck/drive/evaluation/app.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 84e4574..f6cea14 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -306,6 +306,36 @@
                 CEventCenter.dispatchEvent(Constant.BIND_SPEED_TOPIC,cmd,0,json);
                 break;
             case Constant.RTK_INFO:
+                JSONObject jsonObject = null;
+                try {
+                    jsonObject = new JSONObject(json);
+                    int qf = jsonObject.getInt("qf");
+                    int satNum = jsonObject.getInt("sat_num");
+                    if (lastSatEqualNow(satNum)){
+
+                    }else{
+                        String[] rtk_strs = new String[2];
+                        rtk_strs[0] = Constant.RTK_INFO_SAT_QF;
+                        rtk_strs[1] = json;
+                        Data rtkInfoData = new Data.Builder().putStringArray(Constant.APP_STATUS,rtk_strs).build();
+                        OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build();
+                        WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker);
+                    }
+                    if (lastQfEqualNow(qf)){
+
+                    }else{
+                        String[] rtk_strs = new String[2];
+                        rtk_strs[0] = Constant.RTK_INFO_SAT_QF;
+                        rtk_strs[1] = json;
+                        Data rtkInfoData = new Data.Builder().putStringArray(Constant.APP_STATUS,rtk_strs).build();
+                        OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build();
+                        WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker);
+                    }
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+
+
                 if (ExamPlatformData.getInstance().getExamplatformStatus()==ExamPlatformData.DEV_LOGIN){
                     try {
                         JSONObject jsSpeed = new JSONObject(json);
@@ -361,6 +391,26 @@
 
     }
 
+    private int lastSatNum= 0;
+    private int lastQf = 0;
+
+    private boolean lastSatEqualNow(int satNum) {
+        if (lastSatNum == satNum){
+            return true;
+        }else{
+            lastSatNum = satNum;
+        }
+        return false;
+    }
+    private boolean lastQfEqualNow(int qf) {
+        if (lastQf == qf){
+            return true;
+        }else{
+            lastQf = qf;
+        }
+        return false;
+    }
+
     private void sendVechileInfo() {
         new Thread(new Runnable() {
             @Override

--
Gitblit v1.8.0