From 5fdd4458a3c9f99a3c951683d503f73a47ff976d Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期五, 13 三月 2020 15:43:07 +0800
Subject: [PATCH] 解决RTK配置,传感器配置收到NDK_Start的时候发两次的问题;在ExamStatusOutWork里面发送rtf配置 传感器配置、考试状态;RTK配置增加数据库访问;电话使用sn,sn更新发送给服务在RTKConfigUpdateWorker;基本设置里删除电话显示;修改鉴权消息,使用服务器注册给的密码,用des加密时间,发鉴权消息给服务;Utils增加des加密和解密算法

---
 app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
index 8fb6e1e..e08042c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
@@ -20,12 +20,16 @@
 import androidx.lifecycle.ViewModelProviders;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.work.WorkManager;
 
 import com.anyun.exam.lib.AYSdk;
 import com.anyun.exam.lib.MyLog;
 import com.anyun.exam.lib.util.ByteUtil;
 import com.google.gson.Gson;
 import com.safeluck.aykj.utils.BytesUtils;
+
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
@@ -51,6 +55,7 @@
 import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 import safeluck.drive.evaluation.util.CThreadPoolExecutor;
 import safeluck.drive.evaluation.util.FileUtil;
+import safeluck.drive.evaluation.util.SPUtils;
 
 /**
  * 璁剧疆鎵�鏈夊弬鏁�
@@ -68,12 +73,13 @@
     private int request_code = REQUEST_CODE_MAP;
     private Button btn_config_signal;
     private Button btn_mcu_upgrade,btn_map_select;
-    private EditText et_ip,et_port;
+    private EditText et_ip,et_port,et_simulte_ip,et_simulate_port;
     private Gson gson = new Gson();
     private EditText et_ip_rtk,et_port_rtk,et_city_id,et_city_province,et_phone;
     private RTKConfigViewModel rtkConfigViewModel;
     private RTKConfig mRtkConfig;
     private Toolbar toolbar;
+    private boolean needSendRtk = false;
 
     public static SetArgumentsFragment newInstance() {
         return new SetArgumentsFragment();
@@ -98,6 +104,9 @@
                     et_city_province.setText(String.valueOf(rtkConfig.getProvince()));
                     et_port_rtk.setText(String.valueOf(rtkConfig.getPort()));
                     et_phone.setText(rtkConfig.getPhone());
+                    ExamPlatformData.getInstance().setRTKPort(rtkConfig.getPort());
+                    ExamPlatformData.getInstance().setRTKIP(rtkConfig.getIp());
+
                 }
 
 
@@ -107,6 +116,29 @@
 
 
         return view;
+    }
+
+        private void sendRtkConfigInfo(RTKConfig mRTKConfig) {
+        if (mRTKConfig != null) {
+            String rtkjson = gson.toJson(mRTKConfig);
+
+            //鍘婚櫎id瀛楁
+            JSONObject jsonObject = null;
+            try {
+                jsonObject = new JSONObject(rtkjson);
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+            jsonObject.remove("_id");
+            rtkjson = null;
+            rtkjson = jsonObject.toString();
+            MyLog.i( "need resend RTK閰嶇疆淇℃伅锛�" + rtkjson+"鏍囧織浣嶏細"+needSendRtk);
+            AYSdk.getInstance().sendCmd(Constant.PUSH_RTK_PLATFORM_INFO, rtkjson);
+        } else {
+            MyLog.i("RTKConfig鏈彇鍒版暟鎹�");
+        }
+        needSendRtk = false;
+
     }
     private void initView(View view) {
 //        toolbar =view.findViewById(R.id.toolbar);
@@ -133,10 +165,12 @@
 
 
         et_ip_rtk = view.findViewById(R.id.rtk_addr_ip);
+        et_simulte_ip = view.findViewById(R.id.simulate_ip);
         et_city_id = view.findViewById(R.id.et_city_id);
         et_city_province = view.findViewById(R.id.et_provice_id);
         et_phone = view.findViewById(R.id.et_phone);
         et_port_rtk = view.findViewById(R.id.rtk_addr_port);
+        et_simulate_port = view.findViewById(R.id.simulate_port);
 
     }
     @Override
@@ -150,7 +184,6 @@
                     signalFragment= SignalConfigFragment.newInstance();
                 }
                 start(signalFragment);
-//                ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SignalConfigFragment.newInstance());
                 break;
             case R.id.btn_mcu_upgrade:
 
@@ -174,19 +207,35 @@
             case R.id.btn_save_platform:
                 Toast.makeText(_mActivity, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show();
                 if(ExamPlatformData.getInstance().compareIPandPort(et_ip.getText().toString().trim(),Integer.parseInt(et_port.getText().toString().trim()))){
+                    SPUtils.put(getActivity(), SPUtils.DES_HEX_PWD,"");
                     ((MainActivity)getActivity()).examPlatformModel.getDataChange().postValue(1);
                     ExamPlatformData.getInstance().insertPlatformIp(et_ip.getText().toString().trim());
                     ExamPlatformData.getInstance().insertPlatformPort(Integer.parseInt(et_port.getText().toString().trim()));
                 }
 
                 if (mRtkConfig != null){
-                    mRtkConfig.setPort(Integer.parseInt(et_port_rtk.getText().toString().trim()));
+                    String rtkip = et_ip_rtk.getText().toString().trim();
+                    int rtkport = Integer.parseInt(et_port_rtk.getText().toString().trim());
+
+                    mRtkConfig.setPort(rtkport);
                     mRtkConfig.setCity(Integer.parseInt(et_city_id.getText().toString().trim()));
                     mRtkConfig.setProvince(Integer.parseInt(et_city_province.getText().toString().trim()));
-                    mRtkConfig.setIp(et_ip_rtk.getText().toString().trim());
+                    mRtkConfig.setIp(rtkip);
                     mRtkConfig.setPhone(et_phone.getText().toString().trim());
+
+                    if (ExamPlatformData.getInstance().compareRTKIPandPort(rtkip,rtkport)){
+                        mRtkConfig.setRegistered(0);
+                        MyLog.i("rtk ip鍜屽湴鍧�鏈夊彉鍖�");
+                        needSendRtk = true;
+                        sendRtkConfigInfo(mRtkConfig);
+
+                    }
                     rtkConfigViewModel.insertRTKConfig(mRtkConfig);
+
                 }
+
+
+
                 _mActivity.onBackPressed();
                 break;
             case R.id.btn_car_select://杞﹁締妯″瀷鍜屽湴鍥惧叕鐢ㄤ竴濂椾唬鐮� 鍖哄埆鍦ㄤ簬REQUEST_CODE

--
Gitblit v1.8.0