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