From dfd4367d5c4a64743b2a842602a94578b993fdde Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期三, 22 四月 2020 09:27:15 +0800
Subject: [PATCH] 完成所有页面基础,还需完善细节

---
 app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java |  119 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 71 insertions(+), 48 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 4413c8a..40c1934 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -2,8 +2,11 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Color;
 import android.net.Uri;
 import android.os.Bundle;
+
+import androidx.annotation.IdRes;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.lifecycle.Observer;
@@ -11,6 +14,10 @@
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.AbsoluteSizeSpan;
+import android.text.style.ForegroundColorSpan;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -43,9 +50,11 @@
 import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
 import safeluck.drive.evaluation.MainActivity;
 import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.adapter.BaseDataInfoAdapter;
 import safeluck.drive.evaluation.adapter.GpsInfoAdapter;
 import safeluck.drive.evaluation.adapter.QuickAdapter;
 import safeluck.drive.evaluation.adapter.WrapContentLinearLayoutManager;
+import safeluck.drive.evaluation.bean.BaseDataUIBean;
 import safeluck.drive.evaluation.bean.ExamPlatformData;
 import safeluck.drive.evaluation.bean.MCUInfo;
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
@@ -67,6 +76,9 @@
     private Gson gson = new Gson();
     private RTKConfig mRtkConfig;
     private AppStatus appStatus;
+    private SpannableString spannableString;
+    private String versionDes;
+    private String version;
     private AppStatusViewModel appStatusViewModel;
     private ICEventListener icEventListener = new ICEventListener() {
         @Override
@@ -82,13 +94,21 @@
                                 fields[i].setAccessible(true);
                                 try {
                                     if (fields[i].getName().equalsIgnoreCase("version")){
-                                        String version = (String) fields[i].get(mcuInfo);
+                                        version= (String) fields[i].get(mcuInfo);
                                         version = new String(BytesUtils.hexStringToBytes(version),"GBK");
-                                        datas.add("鐗堟湰鍙凤細" + version+"#"+ BuildConfig.VERSION_NAME);
+                                        versionDes= "鐗堟湰鍙凤細";
+                                        version = version+"#"+ BuildConfig.VERSION_NAME;
+                                        version = versionDes+version;
+                                        spannableString = new SpannableString(version);
+                                        spannableString.setSpan(new AbsoluteSizeSpan(22),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                                        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#A8AAA7")),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                                        spannableString.setSpan(new AbsoluteSizeSpan(28),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                                        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                                        datas.add(new BaseDataUIBean( spannableString,R.mipmap.version_pic));
                                     }else if(fields[i].getName().equalsIgnoreCase("sn")){
-                                        datas.add( "璁惧搴忓垪鍙凤細" + fields[i].get(mcuInfo));
+                                        setitemInfo("璁惧搴忓垪鍙凤細", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.device_sn);
                                     }else if(fields[i].getName().equalsIgnoreCase("selftest")){
-                                        datas.add( "鑷鐘舵�侊細" + fields[i].get(mcuInfo));
+                                        setitemInfo("鑷鐘舵�侊細", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.auto_check_status);
                                     }
 
                                 } catch (IllegalAccessException e) {
@@ -102,16 +122,17 @@
                                 public void run() {
 
                                     if (mRtkConfig != null){
-                                        datas.add("鐪両D锛�"+mRtkConfig.getProvince());
-                                        datas.add("甯侷D锛�"+mRtkConfig.getCity());
-                                        datas.add("RTK骞冲彴鍦板潃锛�"+mRtkConfig.getIp()+":"+mRtkConfig.getPort());
+                                        setitemInfo("鐪両D锛�", String.valueOf(mRtkConfig.getProvince()),R.mipmap.province_id);
+                                        setitemInfo("甯侷D锛�", String.valueOf(mRtkConfig.getCity()),R.mipmap.province_id);
+                                        setitemInfo("RTK骞冲彴鍦板潃锛�", mRtkConfig.getIp()+":"+mRtkConfig.getPort(),R.mipmap.platform_pic);
+                                        setitemInfo("鑰冭瘯骞冲彴鍦板潃锛�",ExamPlatformData.getInstance().getPlatformIP()
+                                                +":"+ExamPlatformData.getInstance().getPlatformPort(),R.mipmap.platform_pic);
 
 
-                                        datas.add("鑰冭瘯骞冲彴鍦板潃锛�"+ExamPlatformData.getInstance().getPlatformIP()+":"+ExamPlatformData.getInstance().getPlatformPort());
                                     }
                                     if (appStatus != null){
-                                        datas.add("RTK骞冲彴鐘舵�侊細"+(appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�"));
-                                        datas.add("鑰冭瘯骞冲彴鐘舵�侊細"+ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus()));
+                                        setitemInfo("RTK骞冲彴鐘舵�侊細", appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�",R.mipmap.province_id);
+                                        setitemInfo("鑰冭瘯骞冲彴鐘舵�侊細", ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus()),R.mipmap.province_id);
                                     }
                                     gpsInfoAdapter.addAll(datas);
                                 }
@@ -122,16 +143,25 @@
         }
     };
 
+    private void setitemInfo(String des, String str, int id){
+        versionDes=des;
+        version= versionDes+str;
+        spannableString = new SpannableString(version);
+        spannableString.setSpan(new AbsoluteSizeSpan(22),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#A8AAA7")),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        spannableString.setSpan(new AbsoluteSizeSpan(28),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        datas.add(new BaseDataUIBean( spannableString,id));
+    }
+
     public static SupportFragment newInstance() {
         return new BaseDatasFragment();
     }
 
 
-    private List<String> datas = new ArrayList<>();
-    private RecyclerView recyclerView;
+    private List<BaseDataUIBean> datas = new ArrayList<>();
     private ListView lv;
-    private GpsInfoAdapter gpsInfoAdapter;
-    private List<String> gpsinfos = new ArrayList<>();
+    private BaseDataInfoAdapter gpsInfoAdapter;
     @Nullable
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -145,53 +175,39 @@
         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());
-
-            }
-        });
+        footView.setOnClickListener(v -> ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance()));
+        headView.setOnClickListener(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;
-                }
-
-
+        rtkConfigViewModel.getRTKConfig().observe(this, rtkConfig -> {
+            if (rtkConfig != null){
+                Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString());
+                mRtkConfig = rtkConfig;
             }
+
+
         });
 
                 appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
-        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
-            @Override
-            public void onChanged(AppStatus ppStatus) {
-                if (ppStatus != null){
-                    appStatus = ppStatus;
-                }
+        appStatusViewModel.getAppStatus().observe(this, ppStatus -> {
+            if (ppStatus != null){
+                appStatus = ppStatus;
             }
         });
 
         return view;
     }
     private void initView(View view) {
+        Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName());
+        if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){
+            ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE);
+            ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE);
+        }else{
+            ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE);
+            ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE);
+        }
         lv = view.findViewById(R.id.lv_gpsinfo);
-        gpsInfoAdapter = new GpsInfoAdapter(_mActivity);
+        gpsInfoAdapter = new BaseDataInfoAdapter(_mActivity);
         lv.setAdapter(gpsInfoAdapter);
 
     }
@@ -206,4 +222,11 @@
         super.onDetach();
         CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC);
     }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE);
+        ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE);
+    }
 }

--
Gitblit v1.8.0