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/Constant.java | 1
app/src/main/java/safeluck/drive/evaluation/app.java | 50 ++++++++++++++++
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java | 19 ++++++
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java | 18 ++++++
app/src/main/res/values/arrays.xml | 7 ++
app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java | 2
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 10 ++-
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java | 10 ++
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 12 ++-
app/src/main/res/layout/networktoolbar.xml | 11 +++
10 files changed, 127 insertions(+), 13 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index 9e6c2d5..4b9d253 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -85,6 +85,7 @@
public static final String BIND_MCUINFO_TOPIC = "bind_mcu_info_topic";
public static final String BIND_RTK_SPEED_TOPIC = "BIND_RTK_SPEED_TOPIC";
public static final int EXIT_CURRENT_ITEM = 0;//閫�鍑烘煇鍦哄湴
+ public static final String RTK_INFO_SAT_QF = "RTK_INFO_SAT_QF";//浠嶳TK info涓幏鍙栫殑鍗槦棰楁暟鍜宷f 缁勬垚鐨刯son
public static String exam_enter_exitdata="exam_enter_exitdata";
public static int Chang_di = 2;
public static int DaoLu_night = 3;
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java
index 9e2d40f..53e7bae 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java
@@ -18,9 +18,27 @@
@PrimaryKey
private int id;
private int work_platform;//涓氬姟骞冲彴杩炴帴鐘舵��
+ private int sat_num;//鍗槦棰楁暟
+ private int qf;//瑙g姸鎬�
private int default_observe1;//淇濈暀1 涓轰互鍚庢墿灞�
private int default_boserve2;//淇濈暀2
+ public int getSat_num() {
+ return sat_num;
+ }
+
+ public void setSat_num(int sat_num) {
+ this.sat_num = sat_num;
+ }
+
+ public int getQf() {
+ return qf;
+ }
+
+ public void setQf(int qf) {
+ this.qf = qf;
+ }
+
public int getRtk_login_code() {
return rtk_login_code;
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java
index f349707..aa1424e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java
@@ -23,7 +23,13 @@
//鏇存柊涓氬姟骞冲彴杩炴帴鐘舵��
@Query("update app_status set work_platform=:connStatus where id=0")
void updatework_platformStatus(int connStatus);
+ //鏇存柊淇濈暀鍊�1
+ @Query("update app_status set default_observe1=:default_observe1 where id=0")
+ void updatedDefaultObserve1(int default_observe1);
//鏇存柊鍗槦鏁�
- @Query("update app_status set default_observe1=:saliteNums where id=0")
- void updatedDefaultObserve1(int saliteNums);
+ @Query("update app_status set sat_num=:sat_num where id=0")
+ void updatedSatNum(int sat_num);
+ //鏇存柊qf鐘舵��
+ @Query("update app_status set qf=:qf where id=0")
+ void updatedQf(int qf);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
index 342d72c..aaa42eb 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
@@ -24,6 +24,8 @@
private static final String TAG = "AppStatusWorker";
private AppStatusDao appStatusDao;
+ private int lastSatNum = 0;
+ private int lastQf = 0;
public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
@@ -53,8 +55,25 @@
appStatusDao.updatework_platformStatus(workconn);
break;
+ case Constant.RTK_INFO_SAT_QF:
+ int qf = jsonObject.getInt("qf");
+ int satNum = jsonObject.getInt("sat_num");
+ if (qf==lastQf){
+ Log.i(TAG,"瑙g姸鎬佸拰涓婃鐨勪竴鏍凤紝涓嶄繚瀛樻暟鎹簱"+qf);
+ }else{
+ lastQf = qf;
+ appStatusDao.updatedQf(qf);
+ }
+ if (satNum==lastSatNum){
+ Log.i(TAG,"鍗槦棰楁暟鍜屼笂娆$殑涓�鏍凤紝涓嶄繚瀛樻暟鎹簱"+lastSatNum);
+ }else{
+ appStatusDao.updatedSatNum(satNum);
+ lastSatNum = satNum;
+ }
+ break;
+
}
return Result.success();
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java
index ab9bc03..29ee370 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java
@@ -44,7 +44,7 @@
Type type = new TypeToken<GPSInfo>(){}.getType();
GPSInfo mstus=gson.fromJson(getInputData().getString(Constant.GPS_INFO_DATA), type);
- WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao().updatedDefaultObserve1(mstus.getSat_num());
+ WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao().updatedSatNum(mstus.getSat_num());
WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getGpsInoDao().insert(mstus);
} catch (Exception e) {
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
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 e1aba26..5ec7624 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -97,7 +97,8 @@
private int item_id;//鎵e垎鍒嗘暟鎬诲拰
private ExamStatusViewModel examStatusViewModel;
private static final int ADD_DATA = 1;
- private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time;
+ private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time,
+ tv_qf;
private double speed=0.0;
private ImageView iv_rtk_status,iv_head;
@@ -106,7 +107,6 @@
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<>();
public static SupportFragment newInstance() {
@@ -127,7 +127,7 @@
av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE));
}
if (msg.what == SPEED_DATA){
- tv_speed.setText(getActivity().getApplicationContext().getResources().getString(R.string.speed,speed));
+ tv_speed.setText(_mActivity.getApplicationContext().getResources().getString(R.string.speed,speed));
}
if (msg.what == Constant.IC_ID){
try {
@@ -367,7 +367,8 @@
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()));
+ tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
+ tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
}
}
});
@@ -444,7 +445,8 @@
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_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
+ tv_qf = view.findViewById(R.id.tv_qf);
tv_speed = view.findViewById(R.id.tv_speed);
tv_total_score = view.findViewById(R.id.tv_total_score);
tv_network_time = view.findViewById(R.id.network_time);
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 341aada..1b966cb 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -106,7 +106,8 @@
private int item_id;//鎵e垎鍒嗘暟鎬诲拰
private ExamStatusViewModel examStatusViewModel;
private static final int ADD_DATA = 1;
- private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time;
+ private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time
+ ,tv_qf;
private double speed=0.0;
private ImageView iv_rtk_status,iv_head;
@@ -115,7 +116,6 @@
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<>();
@@ -372,7 +372,8 @@
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()));
+ tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
+ tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
}
}
});
@@ -450,7 +451,8 @@
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_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
+ tv_qf = view.findViewById(R.id.tv_qf);
tv_speed = view.findViewById(R.id.tv_speed);
tv_total_score = view.findViewById(R.id.tv_total_score);
tv_network_time = view.findViewById(R.id.network_time);
diff --git a/app/src/main/res/layout/networktoolbar.xml b/app/src/main/res/layout/networktoolbar.xml
index fa052e0..891dd57 100644
--- a/app/src/main/res/layout/networktoolbar.xml
+++ b/app/src/main/res/layout/networktoolbar.xml
@@ -20,17 +20,26 @@
android:layout_height="wrap_content"
android:text="02"
android:gravity="center"
+ android:id="@+id/tv_sat_num_instatus"
android:drawableLeft="@drawable/gps"
android:textColor="@android:color/white" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iv_rtk_connect"
- android:layout_marginLeft="50dp"
+ android:layout_marginLeft="30dp"
android:src="@drawable/antennaxml"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:id="@+id/tv_qf"
+ android:singleLine="true"
+ android:layout_marginLeft="30dp"
+ android:textColor="@android:color/white"
+ android:text="鏃犳晥瑙�"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/network_time"
android:singleLine="true"
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 8c61726..6fe4b75 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -4,4 +4,11 @@
<item>寮犱笁</item>
<item>鏉庡洓</item>
</string-array>
+ <string-array name="qf_status">
+ <item>鏃犳晥瑙�</item>
+ <item>鍗曠偣瀹氫綅瑙�</item>
+ <item>浼窛宸垎</item>
+ <item>鍥哄畾瑙�</item>
+ <item>娴姩瑙�</item>
+ </string-array>
</resources>
--
Gitblit v1.8.0