| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | 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) { |
| | |
| | | public void run() { |
| | | |
| | | if (mRtkConfig != null){ |
| | | datas.add("省ID:"+mRtkConfig.getProvince()); |
| | | datas.add("市ID:"+mRtkConfig.getCity()); |
| | | datas.add("RTK平台地址:"+mRtkConfig.getIp()+":"+mRtkConfig.getPort()); |
| | | setitemInfo("省ID:", String.valueOf(mRtkConfig.getProvince()),R.mipmap.province_id); |
| | | setitemInfo("市ID:", 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); |
| | | } |
| | |
| | | } |
| | | }; |
| | | |
| | | 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) { |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | } |