From de8c957f910882394cd430af5a59968d8d31fb39 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期三, 04 三月 2020 23:22:21 +0800
Subject: [PATCH] 联网测试全屏增加考试平台状态,卫星颗数,RTK状态,时间等
---
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 47 +++++++++++++++
app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java | 2
app/src/main/res/values/strings.xml | 1
app/src/main/res/drawable/gps.png | 0
app/src/main/res/drawable/antenna_red.png | 0
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java | 7 ++
app/src/main/java/safeluck/drive/evaluation/MainActivity.java | 8 ++
app/src/main/res/layout/layout_train_fragment.xml | 12 ++--
app/src/main/res/drawable/antenna.png | 0
app/src/main/res/layout/activity_main.xml | 1
app/src/main/res/layout/layout_net_train.xml | 5 +
app/src/main/res/layout/profile_layout.xml | 1
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 4 +
app/src/main/res/layout/networktoolbar.xml | 49 ++++++++++++++++
app/src/main/res/values/dimens.xml | 1
15 files changed, 129 insertions(+), 9 deletions(-)
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 98a58fd..a97efd0 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
@@ -1,6 +1,7 @@
package safeluck.drive.evaluation.DB.appstatusdb;
import android.content.Context;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.work.Worker;
@@ -34,6 +35,7 @@
public Result doWork() {
String[] str = getInputData().getStringArray(Constant.APP_STATUS);
JSONObject jsonObject = null;
+ Log.i(TAG,"doWork:"+str[0]+": "+str[1]);
try {
jsonObject = new JSONObject(str[1]);
switch (str[0]) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index bc58479..049ab64 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -10,6 +10,8 @@
import android.text.TextUtils;
import android.util.Log;
+import android.view.Window;
+import android.view.WindowManager;
import android.widget.Toast;
@@ -156,7 +158,8 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//鍏ㄥ睆
-
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
// TODO
// 杩涜tcp杩炴帴
@@ -324,11 +327,13 @@
@Override
public void onConnecting() {
+
MyLog.i(TAG,"TCP onConnecting");
}
@Override
public void onConnected() {
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.TCP_CONNECTED);
MyLog.i(TAG,"TCP杩炴帴鎴愬姛");
//TODO 鍒ゆ柇SPUtils 鏄惁淇濆瓨鏈塪es瀵嗙爜锛涘鏋滄病鏈夊垯杩涜娉ㄥ唽JKMessage0100锛屽鏋滄湁瀵嗙爜鍒欒繘琛岄壌鏉僇KMessage0101
String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,"");
@@ -356,6 +361,7 @@
@Override
public void onConnectFailed() {
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.TCP_DISCONNECT);
MyLog.i(TAG,"TCP杩炴帴澶辫触");
}
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 af9c2d0..ad36189 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -5,11 +5,17 @@
import androidx.lifecycle.LiveData;
import androidx.lifecycle.ViewModelProviders;
+import androidx.work.Data;
+import androidx.work.OneTimeWorkRequest;
+import androidx.work.WorkManager;
import com.anyun.exam.lib.MyLog;
+import java.util.HashMap;
import java.util.Random;
+import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker;
import safeluck.drive.evaluation.app;
import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
@@ -19,6 +25,26 @@
private static final ExamPlatformData ourInstance = new ExamPlatformData();
private int exam_id =12345;//鑰冭瘯鍞竴ID
+
+ public static final int TCP_DISCONNECT = 1;
+ public static final int TCP_CONNECTED = 2;///2-鏈繛鎺ワ紙tcp杩炴帴涓嶄笂锛�
+ public static final int DEV_NOT_REGISTERED = 3;
+ public static final int DEV_REGISTERED = 4;
+ public static final int DEV_NOT_LOGIN = 5;
+ public static final int DEV_LOGIN = 6;
+ private static HashMap<Integer,String> examPlatformStrs = new HashMap<>();
+ static {
+ examPlatformStrs.put(TCP_DISCONNECT,"鏈繛鎺�");
+ examPlatformStrs.put(TCP_CONNECTED,"宸茶繛鎺�");
+ examPlatformStrs.put(DEV_NOT_REGISTERED,"鏈敞鍐�");
+ examPlatformStrs.put(DEV_REGISTERED,"宸叉敞鍐�");
+ examPlatformStrs.put(DEV_NOT_LOGIN,"鏈櫥褰�");
+ examPlatformStrs.put(DEV_LOGIN,"宸茬櫥褰�");
+ }
+ private static final String WORK_PLATFORM_STATUS = " work_platform";
+
+
+ private int examplatformStatus =1;//1-鏈繛鎺ワ紙tcp杩炴帴涓嶄笂锛� 3-鏈敞鍐岋紙璁惧娌℃湁娉ㄥ唽锛� 5-鏈櫥褰曪紙閴存潈鏈�氳繃锛�
private String id;//韬唤璇�
@@ -115,4 +141,25 @@
carPath = (String) SPUtils.get(app.getAppContext(),SPUtils.CAR_PATH,"");
return carPath;
}
+
+ public int getExamplatformStatus() {
+ return examplatformStatus;
+ }
+
+ public void setExamplatformStatus(int examplatformStatus) {
+ String[] conn_strs = new String[2];
+ conn_strs[0] = Constant.WORK_PLATFORM_STATUS_COLUMN;
+ conn_strs[1] = "{"+WORK_PLATFORM_STATUS+":"+examplatformStatus+"}";
+ //RTK骞冲彴杩炴帴鐘舵��
+ Data connStatusData = new Data.Builder().putStringArray(Constant.APP_STATUS,conn_strs).build();
+ OneTimeWorkRequest oneTimeWorkRequest = new OneTimeWorkRequest.Builder(AppStatusWorker.class).
+ setInputData(connStatusData).build();
+ WorkManager.getInstance(app.getAppContext()).enqueue(oneTimeWorkRequest);
+ this.examplatformStatus = examplatformStatus;
+ }
+
+ public String getExamplatformStatusStr(int work_platform) {
+
+ return examPlatformStrs.get(work_platform);
+ }
}
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 93c7f01..2da26bd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -83,7 +83,7 @@
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;
+ private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform;
private double speed=0.0;
private ImageView iv_rtk_status,iv_head;
@@ -229,6 +229,7 @@
if (appStatus != null){
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()));
}
}
@@ -341,6 +342,7 @@
houseView = view.findViewById(R.id.hv);
tv_name = view.findViewById(R.id.tv_name);
tv_id = view.findViewById(R.id.tv_ID);
+ tv_work_platform = view.findViewById(R.id.platform);
iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
iv_head = view.findViewById(R.id.iv_head);
diff --git a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
index 3cf3798..68e5b1f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
+++ b/app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -19,6 +19,7 @@
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.StudentInfoUpdateWork;
import safeluck.drive.evaluation.app;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.platformMessage.JK2019MessageBase;
import safeluck.drive.evaluation.platformMessage.JKMessage0001;
import safeluck.drive.evaluation.platformMessage.JKMessage0100;
@@ -73,12 +74,18 @@
JKMessage0101 jkMessage0101 = new JKMessage0101();
jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des;
jkMessage0101.timestamp = (int) System.currentTimeMillis();
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED);
+ }else{
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_REGISTERED);
}
}else if (jk2019MessageBase instanceof JKMessage8001){
JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase;
String hexMessageId = jkMessage8001.respMessageId;
if (hexMessageId.equalsIgnoreCase("0101")){
MyLog.i(PlatFormConstant.TAG,"閴存潈鎴愬姛");
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_LOGIN);
+ }else{
+ ExamPlatformData.getInstance().setExamplatformStatus(ExamPlatformData.DEV_NOT_LOGIN);
}
}else if (jk2019MessageBase instanceof JKMessage8201){
JKMessage8201 jkMessage8201 = (JKMessage8201) jk2019MessageBase;
diff --git a/app/src/main/res/drawable/antenna.png b/app/src/main/res/drawable/antenna.png
index 8a96dfc..dc19910 100644
--- a/app/src/main/res/drawable/antenna.png
+++ b/app/src/main/res/drawable/antenna.png
Binary files differ
diff --git a/app/src/main/res/drawable/antenna_red.png b/app/src/main/res/drawable/antenna_red.png
index 88d8282..b39d956 100644
--- a/app/src/main/res/drawable/antenna_red.png
+++ b/app/src/main/res/drawable/antenna_red.png
Binary files differ
diff --git a/app/src/main/res/drawable/gps.png b/app/src/main/res/drawable/gps.png
index 7c9333a..444804c 100644
--- a/app/src/main/res/drawable/gps.png
+++ b/app/src/main/res/drawable/gps.png
Binary files differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 6f8b170..96d9db5 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,6 +6,7 @@
android:layout_height="match_parent"
tools:context=".MainActivity">
+
<FrameLayout
android:id="@+id/fl_container"
android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/layout_net_train.xml b/app/src/main/res/layout/layout_net_train.xml
index 152bb34..4cf1317 100644
--- a/app/src/main/res/layout/layout_net_train.xml
+++ b/app/src/main/res/layout/layout_net_train.xml
@@ -5,7 +5,10 @@
android:layout_width="0dp"
android:layout_weight="4"
android:layout_height="match_parent"
- android:padding="5dp"
+ android:paddingTop="2dp"
+ android:paddingBottom="2dp"
+ android:paddingLeft="5dp"
+ android:paddingRight="5dp"
android:gravity="center"
android:orientation="vertical"
android:background="@color/train_bg"
diff --git a/app/src/main/res/layout/layout_train_fragment.xml b/app/src/main/res/layout/layout_train_fragment.xml
index 8489c27..fba737e 100644
--- a/app/src/main/res/layout/layout_train_fragment.xml
+++ b/app/src/main/res/layout/layout_train_fragment.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
-<ScrollView
+<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/home_bg_color">
-
+<include layout="@layout/networktoolbar"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll"
android:orientation="vertical">
- <include android:layout_marginBottom="10dp" android:layout_width="match_parent" android:layout_height="120dp" android:id="@+id/profile" layout="@layout/profile_layout"/>
- <include android:layout_marginBottom="10dp" android:layout_width="match_parent" android:layout_height="170dp" layout="@layout/layout_net_train"/>
+ <include android:layout_marginBottom="2dp" android:layout_width="match_parent" android:layout_height="110dp" android:id="@+id/profile" layout="@layout/profile_layout"/>
+ <include android:layout_marginBottom="2dp" android:layout_width="match_parent" android:layout_height="140dp" layout="@layout/layout_net_train"/>
- <include android:layout_marginBottom="10dp" android:layout_width="match_parent" android:layout_height="240dp" layout="@layout/layout_stu_score"/>
+ <include android:layout_marginBottom="2dp" android:layout_width="match_parent" android:layout_height="match_parent" layout="@layout/layout_stu_score"/>
</LinearLayout>
-</ScrollView>
\ No newline at end of file
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/networktoolbar.xml b/app/src/main/res/layout/networktoolbar.xml
new file mode 100644
index 0000000..fa052e0
--- /dev/null
+++ b/app/src/main/res/layout/networktoolbar.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+ <com.google.android.material.appbar.AppBarLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:theme="@style/AppTheme.AppBarOverlay">
+
+ <androidx.appcompat.widget.Toolbar
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/actionbarsizehalf"
+ android:background="?attr/colorPrimary"
+ android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
+ app:popupTheme="@style/AppTheme.NoActionBar.PopupOverlay"
+ app:titleTextAppearance="@style/Toolbar_TextAppearance_White">
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="02"
+ android:gravity="center"
+ 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:src="@drawable/antennaxml"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:id="@+id/network_time"
+ android:singleLine="true"
+ android:textColor="@android:color/white"
+ android:text="12:34:33"/>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:id="@+id/platform"
+ android:singleLine="true"
+ android:layout_gravity="end"
+ android:textColor="@android:color/white"
+ android:text="@string/platform_status"/>
+ </androidx.appcompat.widget.Toolbar>
+ </com.google.android.material.appbar.AppBarLayout>
+</layout>
diff --git a/app/src/main/res/layout/profile_layout.xml b/app/src/main/res/layout/profile_layout.xml
index 54dd779..c6cac4f 100644
--- a/app/src/main/res/layout/profile_layout.xml
+++ b/app/src/main/res/layout/profile_layout.xml
@@ -124,6 +124,7 @@
</LinearLayout>
<RelativeLayout
+ android:visibility="gone"
android:layout_width="0dp"
android:layout_height="90dp"
android:layout_marginLeft="10dp"
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index e2f7b21..f4c539b 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="bottombar_height">0dp</dimen>
+ <dimen name="actionbarsizehalf">28dp</dimen>
</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9adfd76..f46b305 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -34,4 +34,5 @@
<string name="mcu_info">鍗忓鐞嗗櫒淇℃伅锛�</string>
<string name="chesu">杞﹂�燂細</string>
<string name="engine">杞�燂細</string>
+ <string name="platform_status">鑰冭瘯骞冲彴锛�%1$s</string>
</resources>
--
Gitblit v1.8.0