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