From 1a604aa519653f1d5e877f69258014a56449cb80 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期五, 28 二月 2020 15:23:17 +0800
Subject: [PATCH] 调整UI;基础数据只显示信息,在头、尾两部分点击item进行查看信号和参数配置;配置参数点击保存关闭页面

---
 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java |  258 +++++++++++++++------------------------------------
 1 files changed, 77 insertions(+), 181 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
index b73577a..120ddc6 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -8,6 +8,8 @@
 import androidx.annotation.Nullable;
 import androidx.lifecycle.Observer;
 import androidx.lifecycle.ViewModelProviders;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -15,6 +17,7 @@
 import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -28,6 +31,8 @@
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Field;
 import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.List;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.Constant;
@@ -37,6 +42,9 @@
 import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
 import safeluck.drive.evaluation.MainActivity;
 import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.adapter.GpsInfoAdapter;
+import safeluck.drive.evaluation.adapter.QuickAdapter;
+import safeluck.drive.evaluation.adapter.WrapContentLinearLayoutManager;
 import safeluck.drive.evaluation.bean.ExamPlatformData;
 import safeluck.drive.evaluation.bean.MCUInfo;
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
@@ -52,24 +60,12 @@
  * 閭锛�632393724@qq.com
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
-public class BaseDatasFragment extends SupportFragment implements View.OnClickListener {
+public class BaseDatasFragment extends SupportFragment {
 
     private static final String TAG = BaseDatasFragment.class.getSimpleName();
-    private static final int REQUEST_CODE_MAP = 100;
-    private static final int REQUEST_CODE_CAR = 101;
-    private int request_code = REQUEST_CODE_MAP;
-    private Button btn_inspect_signal;
-    private Button btn_config_signal;
-    private Button btn_mcu_upgrade,btn_map_select;
-    private EditText et_ip,et_port;
-    private Gson gson;
-    StringBuffer stringBuffer = new StringBuffer();
-    private EditText et_ip_rtk,et_port_rtk,et_city_id,et_city_province,et_phone;
-    private TextView tv_mcu;
-    //              RTK娉ㄥ唽鐘舵�併�丷TK杩炴帴鐘舵�併��
-//    private TextView tv_reg,tv_connect,tv_model,tv_sn,tv_imei,tv_login;
-    private RTKConfigViewModel rtkConfigViewModel;
+    private Gson gson = new Gson();
     private RTKConfig mRtkConfig;
+    private AppStatus appStatus;
     private AppStatusViewModel appStatusViewModel;
     private ICEventListener icEventListener = new ICEventListener() {
         @Override
@@ -78,30 +74,49 @@
                 String mcuinfoStr = (String)obj;
                 if (gson != null){
                     final MCUInfo mcuInfo=gson.fromJson(mcuinfoStr, MCUInfo.class);
-                    stringBuffer.delete(0,stringBuffer.toString().length());
-
                             Field [] fields = mcuInfo.getClass().getDeclaredFields();
+                            datas.clear();
+
                             for (int i = 0; i < fields.length; i++) {
                                 fields[i].setAccessible(true);
                                 try {
                                     if (fields[i].getName().equalsIgnoreCase("version")){
                                         String version = (String) fields[i].get(mcuInfo);
                                         version = new String(BytesUtils.hexStringToBytes(version),"GBK");
-                                        stringBuffer.append("   "+fields[i].getName() + ":" + version);
+                                        Log.i(TAG, "onCEvent: "+version);
+                                        datas.add(fields[i].getName() + ":" + version);
                                     }else
-                                    stringBuffer.append("   "+fields[i].getName() + ":" + fields[i].get(mcuInfo));
+                                        datas.add(fields[i].getName() + ":" + fields[i].get(mcuInfo));
                                 } catch (IllegalAccessException e) {
                                     e.printStackTrace();
                                 } catch (UnsupportedEncodingException e) {
                                     e.printStackTrace();
                                 }
                             }
-                            tv_mcu.post(new Runnable() {
+                            lv.post(new Runnable() {
                                 @Override
                                 public void run() {
-                                    tv_mcu.setText(getString(R.string.mcu_info)+stringBuffer.toString());
+
+                                    if (mRtkConfig != null){
+                                        datas.add("鐪両D锛�"+mRtkConfig.getProvince());
+                                        datas.add("甯侷D锛�"+mRtkConfig.getCity());
+                                        datas.add("鐢佃瘽锛�"+mRtkConfig.getPhone());
+                                        datas.add("RTK骞冲彴鍦板潃锛�"+mRtkConfig.getIp());
+                                        datas.add("RTK骞冲彴绔彛锛�"+mRtkConfig.getPort());
+
+                                        datas.add("鑰冭瘯骞冲彴鍦板潃锛�"+ExamPlatformData.getInstance().getPlatformIP());
+                                        datas.add("鑰冭瘯骞冲彴绔彛锛�"+ExamPlatformData.getInstance().getPlatformPort());
+                                    }
+                                    if (appStatus != null){
+                                        datas.add("RTK骞冲彴杩炴帴鐘舵�侊細"+appStatus.getRtk_connect_status());
+                                        datas.add("RTK骞冲彴鐧诲綍鐘舵�侊細"+appStatus.getRtk_login_code());
+                                        datas.add("鑰冭瘯骞冲彴杩炴帴鐘舵�侊細"+appStatus.getRtk_connect_status());
+                                        datas.add("鑰冭瘯骞冲彴鐧诲綍鐘舵�侊細"+appStatus.getRtk_login_code());
+                                    }
+                                    gpsInfoAdapter.addAll(datas);
                                 }
                             });
+
                 }
             }
         }
@@ -111,194 +126,75 @@
         return new BaseDatasFragment();
     }
 
+
+    private List<String> datas = new ArrayList<>();
+    private RecyclerView recyclerView;
+    private ListView lv;
+    private GpsInfoAdapter gpsInfoAdapter;
+    private List<String> gpsinfos = new ArrayList<>();
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 
 
-        View view = inflater.inflate(R.layout.layout_base_datas, container, false);
+
+        View view = inflater.inflate(R.layout.layout_gps_info, container, false);
         initView(view);
-        rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class);
+        
+        View footView = inflater.inflate(R.layout.gps_info_item_rightarrow,null);
+        View headView = inflater.inflate(R.layout.inspect_signal_head,null);
+        lv.addFooterView(footView);
+        lv.addHeaderView(headView);
+        footView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+//                SetArgumentsFragment setArgumentsFragment = findFragment(SetArgumentsFragment.class);
+//                if (setArgumentsFragment == null){
+//                    setArgumentsFragment = SetArgumentsFragment.newInstance();
+//                }
+                ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance());
+
+            }
+        });
+        headView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance());
+
+            }
+        });
+
+        RTKConfigViewModel rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class);
         rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() {
             @Override
             public void onChanged(RTKConfig rtkConfig) {
                 if (rtkConfig != null){
                     Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString());
                     mRtkConfig = rtkConfig;
-                    et_ip_rtk.setText(rtkConfig.getIp());
-                    et_city_id.setText(String.valueOf(rtkConfig.getCity()));
-                    et_city_province.setText(String.valueOf(rtkConfig.getProvince()));
-                    et_port_rtk.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()));
                 }
 
 
             }
         });
 
-        appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
+                appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
         appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
             @Override
-            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()));
+            public void onChanged(AppStatus ppStatus) {
+                if (ppStatus != null){
+                    appStatus = ppStatus;
                 }
             }
         });
+
         return view;
     }
-
     private void initView(View view) {
-        gson = new Gson();
-        view.findViewById(R.id.btn_save_platform).setOnClickListener(this);
-        et_ip = view.findViewById(R.id.et_platform_ip);
-        et_port = view.findViewById(R.id.et_platform_port);
-        et_ip.setText(ExamPlatformData.getInstance().getPlatformIP());
-        et_port.setText(ExamPlatformData.getInstance().getPlatformPort()+"");
-        btn_inspect_signal = view.findViewById(R.id.btn_inpsect_signal);
-        btn_mcu_upgrade = view.findViewById(R.id.btn_mcu_upgrade);
-        btn_map_select = view.findViewById(R.id.btn_map_select);
-        view.findViewById(R.id.btn_car_select).setOnClickListener(this);
-        btn_mcu_upgrade.setOnClickListener(this);
-        btn_map_select.setOnClickListener(this);
-        btn_inspect_signal.setOnClickListener(this);
-        btn_config_signal = view.findViewById(R.id.btn_signal_conf);
-        btn_config_signal.setOnClickListener(this);
+        lv = view.findViewById(R.id.lv_gpsinfo);
+        gpsInfoAdapter = new GpsInfoAdapter(_mActivity);
+        lv.setAdapter(gpsInfoAdapter);
 
-
-        et_ip_rtk = view.findViewById(R.id.rtk_addr_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);
-        tv_mcu = view.findViewById(R.id.tv_mcu_info);
-
-//        tv_connect = view.findViewById(R.id.tv_rtk_connect);//RTK骞冲彴杩炴帴鐘舵��
-//        tv_imei = view.findViewById(R.id.tv_rtk_imei);
-//        tv_login = view.findViewById(R.id.tv_rtk_login);//RTK骞冲彴鐧诲綍缁撴灉
-//        tv_model = view.findViewById(R.id.tv_rtk_model);
-//        tv_reg = view.findViewById(R.id.tv_rtk_reg);//RTK骞冲彴娉ㄥ唽鐘舵��
-//        tv_sn = view.findViewById(R.id.tv_rtk_sn);
     }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.btn_inpsect_signal:
-                ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance());
-                break;
-            case R.id.btn_signal_conf:
-                ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SignalConfigFragment.newInstance());
-                break;
-            case R.id.btn_mcu_upgrade:
-
-
-
-                try {
-                    byte[] datas =FileUtil.readLocalFile(getActivity(),"dfu.bin");
-                    if (datas != null){
-                        Log.i(TAG,ByteUtil.byte2hex(datas));
-
-                        String strs = new String(datas, Charset.forName("ISO-8859-1"));
-                        Log.i(TAG, "onClick: datas.legnth=="+strs.getBytes("ISO-8859-1").length);
-                        AYSdk.getInstance().sendCmd(Constant.UPGRADE_MCU_CONTENT_FILE, strs);
-                    }else{
-                        MyLog.i(TAG,"mcu鍗囩骇鏂囦欢涓嶅瓨鍦�");
-                    }
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-                break;
-            case R.id.btn_save_platform:
-                if(ExamPlatformData.getInstance().compareIPandPort(et_ip.getText().toString().trim(),Integer.parseInt(et_port.getText().toString().trim()))){
-                    ((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()));
-                    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.setPhone(et_phone.getText().toString().trim());
-                    rtkConfigViewModel.insertRTKConfig(mRtkConfig);
-                }
-                break;
-            case R.id.btn_car_select://杞﹁締妯″瀷鍜屽湴鍥惧叕鐢ㄤ竴濂椾唬鐮� 鍖哄埆鍦ㄤ簬REQUEST_CODE
-                request_code = REQUEST_CODE_CAR;
-                openFileMgr();
-                break;
-            case R.id.btn_map_select:
-                request_code = REQUEST_CODE_MAP;
-                openFileMgr();
-                break;
-            default:
-                break;
-        }
-    }
-
-    private void openFileMgr() {
-        Intent intent = new Intent();
-        intent.setAction(Intent.ACTION_GET_CONTENT);
-        intent.setType("*/*");
-        intent.addCategory(Intent.CATEGORY_OPENABLE);
-        try {
-            startActivityForResult(intent, request_code);
-        } catch (android.content.ActivityNotFoundException e) {
-            e.printStackTrace();
-            Toast.makeText(_mActivity, "璇峰畨瑁呮枃浠剁鐞嗗櫒", Toast.LENGTH_SHORT).show();
-        }
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (REQUEST_CODE_MAP == requestCode){
-            if (data != null){
-                final Uri uri= data.getData();
-                Log.i(TAG, "onActivityResult: "+uri.getPath());
-                ExamPlatformData.getInstance().setNewMapPath(uri.getPath());
-                CThreadPoolExecutor.runInBackground(new Runnable() {
-                    @Override
-                    public void run() {
-                        byte[] fileContent = FileUtil.readFile(uri.getPath());
-                        if (fileContent != null){
-                            String str = new String(fileContent);
-                            Log.i(TAG, "鏂囦欢鍐呭锛�"+str);
-                            AYSdk.getInstance().sendCmd(Constant.PUSH_MAP_INFO,str);
-                        }
-                    }
-                });
-            }
-
-
-        }else if (requestCode == REQUEST_CODE_CAR){
-            if (data != null){
-                final Uri uri= data.getData();
-                Log.i(TAG, "onActivityResult: "+uri.getPath());
-                ExamPlatformData.getInstance().setCarModelPath(uri.getPath());
-                CThreadPoolExecutor.runInBackground(new Runnable() {
-                    @Override
-                    public void run() {
-                        byte[] fileContent = FileUtil.readFile(uri.getPath());
-                        if (fileContent != null){
-                            String str = new String(fileContent);
-                            Log.i(TAG, "鏂囦欢鍐呭锛�"+str);
-                            AYSdk.getInstance().sendCmd(Constant.PUSH_VECHILE_PROFILE,str);
-                        }
-                    }
-                });
-            }
-
-
-        }
-    }
-
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);

--
Gitblit v1.8.0