From 2fdddd818820b3b93769723079719ee774239a29 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 13 一月 2020 14:37:28 +0800
Subject: [PATCH] RTK平台连接状态、登录结果保存到数据库;所有连接状态显示在RTK配置页面

---
 app/src/main/java/safeluck/drive/evaluation/Constant.java                               |    4 
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java         |   62 ++++++++++
 app/src/main/assets/rtk_config.json                                                     |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java             |   43 ++++---
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusInitWork.java       |   22 +++
 app/src/main/java/safeluck/drive/evaluation/app.java                                    |   23 ++-
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                           |   30 -----
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java               |   71 +++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java                  |    7 
 app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java                    |    9 +
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java            |   25 ++++
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusViewModel.java      |   22 +++
 app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorkRepository.java |   30 +++++
 app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java               |    1 
 14 files changed, 291 insertions(+), 60 deletions(-)

diff --git a/app/src/main/assets/rtk_config.json b/app/src/main/assets/rtk_config.json
index 4b05563..92c9e6b 100644
--- a/app/src/main/assets/rtk_config.json
+++ b/app/src/main/assets/rtk_config.json
@@ -9,7 +9,7 @@
     "imei":"460123874561",
     "phone":"2019101500000001",
     "password":"123456789",
-    "registered":0,
+    "registered":1,
     "interval":1
   }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index ecfbc8c..84e427a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -56,4 +56,8 @@
 
     public static final String BIND_CONNECT_RTK_TOPIC = "rtk_connect_login_topic";
     public static final String GPS_INFO_DATA = "gps_info_data";
+    public static final String APP_STATUS = "app_status_db_input";
+    public static final String RTK_LOGIN_CODE_COLUMN = "RTK_LOGIN_CODE_COLUMN";
+    public static final String RTK_CONN_STATUS_COLUMN = "RTK_CONN_STATUS_COLUMN";
+    public static final String WORK_PLATFORM_STATUS_COLUMN = "WORK_PLATFORM_STATUS_COLUMN";
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
index ecd4ee3..203bd99 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
@@ -15,6 +15,9 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatusDao;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatusInitWork;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForII;
 import safeluck.drive.evaluation.DB.criterias.CriteriaForIIWorker;
@@ -37,7 +40,7 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-@Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class, RTKConfig.class, GPSInfo.class},version = 1,exportSchema = false)
+@Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class, RTKConfig.class, GPSInfo.class, AppStatus.class},version = 1,exportSchema = false)
 public abstract class WorkRoomDataBase extends RoomDatabase {
     private static final String TAG = "WorkRoomDataBase";
     public abstract StudentDao getstudentDao();
@@ -78,12 +81,14 @@
                                     OneTimeWorkRequest oneTimeWorkRequest3 = OneTimeWorkRequest.from(CriteriaForIIWorker.class);
                                     OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class);
                                     OneTimeWorkRequest RTKConfigWorkRequest = OneTimeWorkRequest.from(RTKConfigWork.class);
+                                    OneTimeWorkRequest appStatusInitWork = OneTimeWorkRequest.from(AppStatusInitWork.class);
                                     Log.i(TAG, "onCreate: 鍒涘缓鏁版嵁搴撳悗寤虹珛鏁版嵁琛ㄦ彃鍏ユ暟鎹�");
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest);
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1);
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest2);
                                     WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest3);
                                     WorkManager.getInstance(mContext).enqueue(RTKConfigWorkRequest);
+                                    WorkManager.getInstance(mContext).enqueue(appStatusInitWork);
                                 }
 
                                 @Override
@@ -103,4 +108,6 @@
     public abstract RTKConfigDao getRTKConfigDao();
 
     public abstract GpsInfoDao getGpsInoDao();
+
+    public abstract AppStatusDao getAppStatusDao();
 }
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
new file mode 100644
index 0000000..ea4824b
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java
@@ -0,0 +1,71 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+@Entity(tableName = "app_status")
+public class AppStatus {
+    public AppStatus(int rtk_login_code, int rtk_connect_status, int id, int work_platform, int default_observe1, int default_boserve2) {
+        this.rtk_login_code = rtk_login_code;
+        this.rtk_connect_status = rtk_connect_status;
+        this.id = id;
+        this.work_platform = work_platform;
+        this.default_observe1 = default_observe1;
+        this.default_boserve2 = default_boserve2;
+    }
+
+    private int rtk_login_code = 1;//RTK骞冲彴鐧诲綍缁撴灉 0-鎴愬姛 鍏朵粬澶辫触
+    private int rtk_connect_status;//RTK骞冲彴杩炴帴鐘舵��
+    @PrimaryKey
+    private int id;
+    private int work_platform;//涓氬姟骞冲彴杩炴帴鐘舵��
+    private int default_observe1;//淇濈暀1 涓轰互鍚庢墿灞�
+    private int default_boserve2;//淇濈暀2
+
+    public int getRtk_login_code() {
+        return rtk_login_code;
+    }
+
+    public void setRtk_login_code(int rtk_login_code) {
+        this.rtk_login_code = rtk_login_code;
+    }
+
+    public int getRtk_connect_status() {
+        return rtk_connect_status;
+    }
+
+    public void setRtk_connect_status(int rtk_connect_status) {
+        this.rtk_connect_status = rtk_connect_status;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getWork_platform() {
+        return work_platform;
+    }
+
+    public void setWork_platform(int work_platform) {
+        this.work_platform = work_platform;
+    }
+
+    public int getDefault_observe1() {
+        return default_observe1;
+    }
+
+    public void setDefault_observe1(int default_observe1) {
+        this.default_observe1 = default_observe1;
+    }
+
+    public int getDefault_boserve2() {
+        return default_boserve2;
+    }
+
+    public void setDefault_boserve2(int default_boserve2) {
+        this.default_boserve2 = default_boserve2;
+    }
+}
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
new file mode 100644
index 0000000..76f91a1
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java
@@ -0,0 +1,25 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import androidx.lifecycle.LiveData;
+import androidx.room.Dao;
+import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
+import androidx.room.Query;
+import androidx.room.Update;
+
+@Dao
+public interface AppStatusDao {
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    void insert(AppStatus appStatus);
+
+    @Query("select * from app_status")
+    LiveData<AppStatus> getAppStatus();
+
+    @Query("update app_status set rtk_login_code=:rtklogin_code where id=0")
+    void updateRTKLoginCode(int rtklogin_code);
+    @Query("update app_status set rtk_connect_status=:connStatus where id=0")
+    void updateRTKConnectStatus(int connStatus);
+    //鏇存柊涓氬姟骞冲彴杩炴帴鐘舵��
+    @Query("update app_status set work_platform=:connStatus where id=0")
+    void updatework_platformStatus(int connStatus);
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusInitWork.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusInitWork.java
new file mode 100644
index 0000000..469914f
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusInitWork.java
@@ -0,0 +1,22 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.work.Worker;
+import androidx.work.WorkerParameters;
+
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
+
+public class AppStatusInitWork extends Worker {
+    public AppStatusInitWork(@NonNull Context context, @NonNull WorkerParameters workerParams) {
+        super(context, workerParams);
+    }
+
+    @NonNull
+    @Override
+    public Result doWork() {
+        WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao().insert(new AppStatus(1,0,0,0,0,0));
+        return Result.success();
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusViewModel.java
new file mode 100644
index 0000000..bec4971
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusViewModel.java
@@ -0,0 +1,22 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.AndroidViewModel;
+import androidx.lifecycle.LiveData;
+
+public class AppStatusViewModel extends AndroidViewModel {
+
+    private AppStatusWorkRepository appStatusWorkRepository;
+    public AppStatusViewModel(@NonNull Application application) {
+        super(application);
+        appStatusWorkRepository = new AppStatusWorkRepository(application);
+    }
+    public LiveData<AppStatus> getAppStatus(){
+        return appStatusWorkRepository.getAppStatus();
+    }
+    public void insertAppStatus(AppStatus appStatus){
+        appStatusWorkRepository.insertAppstatus(appStatus);
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorkRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorkRepository.java
new file mode 100644
index 0000000..6b9323c
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorkRepository.java
@@ -0,0 +1,30 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import android.app.Application;
+
+import androidx.lifecycle.LiveData;
+
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
+
+public class AppStatusWorkRepository {
+
+    private AppStatusDao appStatusDao;
+    private LiveData<AppStatus> appStatus;
+    public AppStatusWorkRepository(Application application) {
+        this.appStatusDao = WorkRoomDataBase.getWorkRoomDataBase(application).getAppStatusDao();
+        appStatus = appStatusDao.getAppStatus();
+    }
+
+    public LiveData<AppStatus> getAppStatus(){
+        return appStatus;
+    }
+
+    public void insertAppstatus(final AppStatus appStatus){
+        WorkRoomDataBase.dataBaseWriteExecutor.execute(new Runnable() {
+            @Override
+            public void run() {
+                appStatusDao.insert(appStatus);
+            }
+        });
+    }
+}
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
new file mode 100644
index 0000000..7ed1e13
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java
@@ -0,0 +1,62 @@
+package safeluck.drive.evaluation.DB.appstatusdb;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.work.Worker;
+import androidx.work.WorkerParameters;
+
+import com.anyun.exam.lib.MyLog;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.lang.reflect.Type;
+
+import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
+
+public class AppStatusWorker extends Worker {
+
+    private static final String TAG = "AppStatusWorker";
+    private AppStatusDao appStatusDao;
+
+    public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
+        super(context, workerParams);
+        MyLog.d(TAG,"鍒濆鍖朅ppStatusDao");
+        appStatusDao = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao();
+    }
+
+    @NonNull
+    @Override
+    public Result doWork() {
+        String[] str = getInputData().getStringArray(Constant.APP_STATUS);
+        JSONObject jsonObject = null;
+        try {
+            jsonObject = new JSONObject(str[1]);
+            switch (str[0]) {
+                case Constant.RTK_LOGIN_CODE_COLUMN:
+                    int login =jsonObject.getInt("login_code");
+                            appStatusDao.updateRTKLoginCode(login);
+                    break;
+                case Constant.RTK_CONN_STATUS_COLUMN:
+                    int conn =jsonObject.getInt("connected");
+                    appStatusDao.updateRTKConnectStatus(conn);
+                    break;
+                case Constant.WORK_PLATFORM_STATUS_COLUMN:
+                    int workconn =jsonObject.getInt("work_platform");
+                    appStatusDao.updatework_platformStatus(workconn);
+                    break;
+
+            }
+
+            return Result.success();
+        } catch (JSONException e) {
+            e.printStackTrace();
+            return Result.failure();
+        }
+
+    }
+}
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 0db08b7..a63aff3 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -48,8 +48,6 @@
     private RTKConfig mRTKConfig;//RTK閰嶇疆淇℃伅
     private Gson gson = new Gson();
     String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
-    RTKConnAndLoginViewModel rtkConnAndLoginViewModel;
-    RTKConnAndLogin rtkConnAndLogin;
     RTKConfigViewModel rtkConfigViewModel;
 
     private ICEventListener icEventListener = new ICEventListener() {
@@ -74,32 +72,6 @@
                 } else {
                     MyLog.d(TAG, "RTKConfig鏈彇鍒版暟鎹�");
                 }
-            }
-            if (msgCode == Constant.RTK_PLATFORM_CONNECT_STATUS || msgCode == Constant.RTK_PLATFORM_REGISTER_RESULT) {
-                if (msgCode == Constant.RTK_PLATFORM_REGISTER_RESULT) {
-                    try {
-                        JSONObject jsonObject3 = new JSONObject((String) obj);
-                        int loginCode = jsonObject3.getInt("login_code");
-                        MyLog.d(TAG, "RTK骞冲彴鐧诲綍缁撴灉锛�" + loginCode);
-                        rtkConnAndLogin.setLogin_code(loginCode);
-
-                    } catch (JSONException e) {
-                        e.printStackTrace();
-                    }
-
-                } else {
-                    try {
-                        JSONObject jsonObject3 = new JSONObject((String) obj);
-                        int connect_status = jsonObject3.getInt("connected");
-                        MyLog.i(TAG, "RTK骞冲彴杩炴帴鐘舵�侊細" + connect_status);
-                        rtkConnAndLogin.setLogin_code(connect_status);
-
-                    } catch (JSONException e) {
-                        e.printStackTrace();
-                    }
-
-                }
-                rtkConnAndLoginViewModel.getRtkConnAndLogin().postValue(rtkConnAndLogin);
             }
             if (msgCode == Constant.RTK_PLATFORM_REGISTER_STATUS) {
                 try {
@@ -149,8 +121,6 @@
             }
         });
 
-        rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
-        rtkConnAndLogin = new RTKConnAndLogin();
 
 
         mPermissionsManager = new PermissionManager(this) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index e89276f..efe687a 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -31,6 +31,8 @@
 
 import java.util.Random;
 
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatusWorker;
 import safeluck.drive.evaluation.DB.failitems.FailedProj;
 import safeluck.drive.evaluation.DB.failitems.FailedProjRepository;
 import safeluck.drive.evaluation.DB.gps.GpsInfoWorker;
@@ -109,15 +111,19 @@
 
                 break;
             case Constant.RTK_PLATFORM_REGISTER_STATUS:
-                //RTK骞冲彴娉ㄥ唽鐘舵�侊紝闇�瑕佷繚瀛樻暟鎹簱
                 CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
+
+                //RTK骞冲彴娉ㄥ唽鐘舵�侊紝闇�瑕佷繚瀛樻暟鎹簱
 
                 break;
             case Constant.RTK_PLATFORM_REGISTER_RESULT:
-
+                String[] strs = new String[2];
+                strs[0] = Constant.RTK_LOGIN_CODE_COLUMN;
+                strs[1] = json;
                 //RTK骞冲彴鐧诲綍缁撴灉
-                CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
-
+                Data rtkLoginData = new Data.Builder().putStringArray(Constant.APP_STATUS,strs).build();
+                OneTimeWorkRequest loginWorkRequest = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkLoginData).build();
+                WorkManager.getInstance(getApplicationContext()).enqueue(loginWorkRequest);
 
                 break;
             case Constant.FETCH_RTK_PLATFORM_INFO:
@@ -141,8 +147,13 @@
                 failedProjRepository.deleteAll();
                 break;
             case Constant.RTK_PLATFORM_CONNECT_STATUS:
-
-                CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
+                String[] conn_strs = new String[2];
+                conn_strs[0] = Constant.RTK_CONN_STATUS_COLUMN;
+                conn_strs[1] = json;
+                //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(getApplicationContext()).enqueue(oneTimeWorkRequest);
                 break;
             case Constant.FETCH_MAP_INFO:
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
index 2be43f3..1904435 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/GpsInfoFragment.java
@@ -16,6 +16,7 @@
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProviders;
 
+import com.anyun.exam.lib.AYSdk;
 import com.anyun.exam.lib.MyLog;
 
 import java.lang.reflect.Field;
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 e32bcda..e09ae7c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -13,15 +13,12 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.nio.ByteBuffer;
 
 import me.yokeyword.fragmentation.ISupportFragment;
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.BuildConfig;
 import safeluck.drive.evaluation.R;
-import safeluck.drive.evaluation.util.DimenUtil;
+
 
 /**
  * 棣栭〉
@@ -32,6 +29,7 @@
  */
 public class HomeFragment extends SupportFragment implements View.OnClickListener {
 
+    private static final String TAG = HomeFragment.class.getSimpleName();
     private TextView tv_app_version;
     public static ISupportFragment newInstance() {
         return new HomeFragment();
@@ -43,6 +41,7 @@
 
         View view = inflater.inflate(R.layout.layout_home_fragment, container, false);
         initView(view);
+
         return view;
     }
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
index 4d424ba..423f9e7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RTKConfigFragment.java
@@ -19,6 +19,8 @@
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
+import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
 import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
@@ -42,6 +44,7 @@
     private TextView tv_reg,tv_connect,tv_model,tv_sn,tv_imei,tv_login;
     private RTKConfigViewModel rtkConfigViewModel;
     private RTKConfig mRtkConfig;
+    private AppStatusViewModel appStatusViewModel;
 
     public static SupportFragment newInstance(){
         return new RTKConfigFragment();
@@ -58,32 +61,36 @@
         rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() {
             @Override
             public void onChanged(RTKConfig rtkConfig) {
-                Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString());
-                mRtkConfig = rtkConfig;
-                et_ip.setText(rtkConfig.getIp());
-                et_city_id.setText(String.valueOf(rtkConfig.getCity()));
-                et_city_province.setText(String.valueOf(rtkConfig.getProvince()));
-                et_port.setText(String.valueOf(rtkConfig.getPort()));
-                et_phone.setText(rtkConfig.getPhone());
-                tv_sn.setText(getResources().getString(R.string.rtk_config_sn,rtkConfig.getSn()));
-                tv_model.setText(getResources().getString(R.string.rtk_config_model,rtkConfig.getModel()));
-                tv_imei.setText(getResources().getString(R.string.rtk_config_imei,rtkConfig.getImei()));
-                tv_reg.setText(getResources().getString(R.string.rtk_register_status,rtkConfig.getRegistered()));
+                if (rtkConfig != null){
+                    Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString());
+                    mRtkConfig = rtkConfig;
+                    et_ip.setText(rtkConfig.getIp());
+                    et_city_id.setText(String.valueOf(rtkConfig.getCity()));
+                    et_city_province.setText(String.valueOf(rtkConfig.getProvince()));
+                    et_port.setText(String.valueOf(rtkConfig.getPort()));
+                    et_phone.setText(rtkConfig.getPhone());
+                    tv_sn.setText(getResources().getString(R.string.rtk_config_sn,rtkConfig.getSn()));
+                    tv_model.setText(getResources().getString(R.string.rtk_config_model,rtkConfig.getModel()));
+                    tv_imei.setText(getResources().getString(R.string.rtk_config_imei,rtkConfig.getImei()));
+                    tv_reg.setText(getResources().getString(R.string.rtk_register_status,rtkConfig.getRegistered()));
+                }
+
 
             }
         });
 
-
-        RTKConnAndLoginViewModel rtkConnAndLoginViewModel = ViewModelProviders.of(this).get(RTKConnAndLoginViewModel.class);
-        rtkConnAndLoginViewModel.getRtkConnAndLogin().observe(this, new Observer<RTKConnAndLogin>() {
+        appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
+        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
             @Override
-            public void onChanged(RTKConnAndLogin rtkConnAndLogin) {
-                MyLog.i(TAG,"骞冲彴鐧诲綍缁撴灉鍙婅繛鎺ョ姸鎬�"+rtkConnAndLogin.toString());
-                tv_connect.setText(getResources().getString(R.string.rtk_connect_status,rtkConnAndLogin.getConnect_status()));
-                tv_connect.setText(getResources().getString(R.string.rtk_config_login,rtkConnAndLogin.getLogin_code()));
+            public void onChanged(AppStatus appStatus) {
+                if (appStatus != null){
+                    tv_login.setText(getResources().getString(R.string.rtk_config_login,appStatus.getRtk_login_code()));
+                    tv_connect.setText(getResources().getString(R.string.rtk_connect_status,appStatus.getRtk_connect_status()));
+                }
             }
         });
 
+
         return view;
     }
 

--
Gitblit v1.8.0