lizhanwei
2020-04-22 dfd4367d5c4a64743b2a842602a94578b993fdde
完成所有页面基础,还需完善细节
19个文件已修改
9个文件已添加
778 ■■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/btn_state_save.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/green_light.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/ic_btn_daikao.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/ic_btn_save_nopress.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/ic_btn_save_press.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_main.xml 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/gps_info_item.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_base_datas.xml 127 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_base_set.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_check_signal.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_signal_slice.xml 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_stu_score.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/layout_train_fragment.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/networktoolbar.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/auto_check_status.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/device_sn.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/platform_pic.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/province_id.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xhdpi/version_pic.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -14,6 +14,9 @@
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
@@ -25,6 +28,8 @@
import androidx.work.WorkManager;
import me.yokeyword.fragmentation.SupportActivity;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatus;
import safeluck.drive.evaluation.DB.appstatusdb.AppStatusViewModel;
import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
import safeluck.drive.evaluation.DB.rtktb.RTKConfig;
import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel;
@@ -64,17 +69,24 @@
import safeluck.drive.evaluation.viewmodels.ExamPlatformModel;
import safeluck.drive.evaluation.viewmodels.TimeViewModel;
public class MainActivity extends SupportActivity implements IMSConnectStatusCallback {
public class MainActivity extends SupportActivity implements IMSConnectStatusCallback, View.OnClickListener {
    private static final int PERMISSIONS_REQUEST_CODE = 1001;
    private String TAG = MainActivity.class.getCanonicalName();
    SignalConfigViewModel signalConfigViewModel;
    private PermissionManager mPermissionsManager;
    private RTKConfig mRTKConfig;//RTK配置信息
    private ImageView iv_rtk_status;
    private Gson gson = new Gson();
    String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
    RTKConfigViewModel rtkConfigViewModel;
    public ExamPlatformModel examPlatformModel;
    private TextView tv_sat_num,tv_work_platform,tv_network_time,
            tv_qf;
    public Button  btn_return;
    public View viewtitle;
    private ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
@@ -113,8 +125,52 @@
        hideBottomUIMenu();
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        viewtitle = findViewById(R.id.top_title);
        btn_return = findViewById(R.id.btn_return);
        btn_return.setOnClickListener(this);
        iv_rtk_status = findViewById(R.id.iv_rtk_connect);
        tv_work_platform = findViewById(R.id.platform);
        tv_sat_num = findViewById(R.id.tv_sat_num_instatus);
        tv_qf = findViewById(R.id.tv_qf);
        iv_rtk_status.getDrawable().setLevel(0);
        tv_network_time = findViewById(R.id.network_time);
        tv_network_time.setText(Utils.getHHmm());
        //初始化tts
        ExamPlatformData.getInstance().initTTS(getApplicationContext());
        AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
            @Override
            public void onChanged(AppStatus appStatus) {
                if (appStatus != null){
                    Log.i(TAG, "onChanged: "+appStatus.toString());
                    iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status());
                    tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(
                            ExamPlatformData.getInstance().getExamplatformStatus()
                    )));
                    tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
                    tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
                }
            }
        });
        TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class);
        timeViewModel.getLiveDataTime().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                tv_network_time.setText(s);
            }
        });
        // TODO
        //  进行tcp连接
        final String userId = "100002";
@@ -340,4 +396,12 @@
        }
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_return:
                onBackPressed();
                break;
        }
    }
}
app/src/main/java/safeluck/drive/evaluation/adapter/BaseDataInfoAdapter.java
New file
@@ -0,0 +1,85 @@
package safeluck.drive.evaluation.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.BaseDataUIBean;
/**
 * MyApplication2
 * Created by lzw on 2020/1/10. 16:33:13
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class BaseDataInfoAdapter extends BaseAdapter {
    private List<BaseDataUIBean> persons = new ArrayList<>();//gps信息
    private final static String TAG = "anyun_info";
    private Context mContext;
    @Override
    public int getCount() {
        return persons.size();
    }
    @Override
    public BaseDataUIBean getItem(int i) {
        return persons.get(i);
    }
    @Override
    public long getItemId(int i) {
        return i;
    }
    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        InfoHodler infoHodler = null;
        if (view == null){
            view = LayoutInflater.from(mContext).inflate(R.layout.gps_info_item,null);
            infoHodler = new InfoHodler();
            infoHodler.name = view.findViewById(R.id.text_check_info);
            view.setTag(infoHodler);
        }else{
            infoHodler = (InfoHodler) view.getTag();
        }
        infoHodler.name.setText(getItem(i).getDes());
        infoHodler.name.setCompoundDrawablesWithIntrinsicBounds(mContext.getResources().
                getDrawable(getItem(i).getRes_id()),null,null,null);
        infoHodler.name.setCompoundDrawablePadding(10);
        return view;
    }
    public BaseDataInfoAdapter(Context mContext) {
        this.mContext = mContext;
    }
    /**
     * //先清掉原来的所有数据再添加新加进来所有的数据
     * @param ps
     */
    public void addAll(List<BaseDataUIBean> ps){
        persons.clear();//先清掉原来的所有数据
        persons.addAll(ps);//再添加新加进来所有的数据
        notifyDataSetChanged();//刷新界面
    }
    static class InfoHodler {
        public TextView name;//姓名
    }
}
app/src/main/java/safeluck/drive/evaluation/bean/BaseDataUIBean.java
New file
@@ -0,0 +1,45 @@
package safeluck.drive.evaluation.bean;
import android.text.SpannableString;
import androidx.annotation.IdRes;
/**
 * @ProjectName: DriveJudge
 * @Package: safeluck.drive.evaluation.bean
 * @ClassName: BaseDataUIBean
 * @Description: java类作用描述
 * @Author: 李占伟
 * @CreateDate: 2020-04-21 16:28
 * @UpdateUser: 更新者
 * @UpdateDate: 2020-04-21 16:28
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class BaseDataUIBean {
    private SpannableString des;
    @IdRes
    private int res_id;
    public BaseDataUIBean(SpannableString s, int res_id) {
        this.des = s;
        this.res_id = res_id;
    }
    public SpannableString getDes() {
        return des;
    }
    public void setDes(SpannableString des) {
        this.des = des;
    }
    public int getRes_id() {
        return res_id;
    }
    public void setRes_id(int res_id) {
        this.res_id = res_id;
    }
}
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("省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);
                                }
@@ -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);
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -4,6 +4,7 @@
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@@ -23,6 +24,7 @@
import me.yokeyword.fragmentation.ISupportFragment;
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.BuildConfig;
import safeluck.drive.evaluation.MainActivity;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.customview.LoadProgressDialog;
@@ -54,6 +56,14 @@
    }
    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);
        }
        view.findViewById(R.id.network_train).setOnClickListener(this);
        view.findViewById(R.id.car_train).setOnClickListener(this);
        view.findViewById(R.id.system_setting).setOnClickListener(this);
app/src/main/java/safeluck/drive/evaluation/fragment/InspectSignalFragment.java
@@ -25,6 +25,7 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.MainActivity;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.MCUInfo;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
@@ -117,15 +118,15 @@
    }
    private void initView() {
        toolbar = bingding.inpsectSignalToolbar.toolbar;
        toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp,null));
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                _mActivity.onBackPressed();
            }
        });
        toolbar.setTitle("查看车载信号输入");
        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);
        }
    }
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -54,6 +54,7 @@
import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.MainActivity;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
@@ -101,10 +102,10 @@
    private int item_id;//扣分分数总和
    private ExamStatusViewModel examStatusViewModel;
    private static final int ADD_DATA = 1;
    private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time,
            tv_qf,tv_start_time,tv_sex;
    private TextView tv_speed,tv_total_score,tv_name,tv_id,
            tv_start_time,tv_sex;
    private double speed=0.0;
    private ImageView iv_rtk_status,iv_head;
    private ImageView iv_head;
    private int currTotalScore = 100;
    private List<ScoreBean> mArrayList = new ArrayList<>();
@@ -502,28 +503,7 @@
        });
        AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
            @Override
            public void onChanged(AppStatus appStatus) {
                if (appStatus != null){
                    Log.i(TAG, "onChanged: "+appStatus.toString());
                    iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status());
                    tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(
                            ExamPlatformData.getInstance().getExamplatformStatus())));
                    tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
                    tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
                }
            }
        });
        TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class);
        timeViewModel.getLiveDataTime().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                tv_network_time.setText(s);
            }
        });
        return view;
    }
@@ -532,6 +512,14 @@
    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);
        }
        btn_ids.add(R.id.btn_1);
        btn_ids.add(R.id.btn_2);
        btn_ids.add(R.id.btn_3);
@@ -554,22 +542,15 @@
        tv_id = view.findViewById(R.id.tv_ID);
        tv_start_time = view.findViewById(R.id.tv_start_time);
        tv_sex = view.findViewById(R.id.tv_sex);
        tv_work_platform = view.findViewById(R.id.platform);
        iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
        iv_rtk_status.getDrawable().setLevel(0);
        iv_head = view.findViewById(R.id.iv_head);
        tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
        tv_qf = view.findViewById(R.id.tv_qf);
        tv_speed = view.findViewById(R.id.tv_speed);
        tv_total_score = view.findViewById(R.id.tv_total_score);
        tv_network_time = view.findViewById(R.id.network_time);
        tv_network_time.setText(Utils.getHHmm());
        tv_speed.setText(getResources().getString(R.string.speed,speed));
        view.findViewById(R.id.btn_return).setOnClickListener(this);
        mListView = view.findViewById(R.id.lv);
        mListView.setFocusable(false);
        mListView.setOnTouchListener((v, ev) -> {
@@ -651,9 +632,7 @@
                }
                break;
            case R.id.btn_return:
                _mActivity.onBackPressed();
                break;
            case R.id.iv_head:
                MyLog.i(PlatFormConstant.HTTPTAG,"签到");
                loadProgressDialog = LoadProgressDialog.newInstance("请稍后...");
@@ -761,6 +740,7 @@
    public void onAttach(Context context) {
        super.onAttach(context);
        CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_SPEED_TOPIC);
    }
    @Override
@@ -778,4 +758,11 @@
        tv_total_score.setText(msp);
    }
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE);
        ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE);
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/SetArgumentsFragment.java
@@ -142,17 +142,14 @@
    }
    private void initView(View view) {
//        toolbar =view.findViewById(R.id.toolbar);
//        toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp,null));
//        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                _mActivity.onBackPressed();
//            }
//        });
//        toolbar.setTitle("设置参数");
        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);
        }
        view.findViewById(R.id.btn_save_platform).setOnClickListener(this);
        view.findViewById(R.id.btn_return).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());
@@ -180,8 +177,7 @@
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_inpsect_signal:
                break;
            case R.id.btn_signal_conf:
                SupportFragment signalFragment = findChildFragment(SignalConfigFragment.class);
                if (signalFragment == null){
@@ -252,8 +248,6 @@
                request_code = REQUEST_CODE_ROADMAP;
                openFileMgr();
                break;
            case R.id.btn_return:
                _mActivity.onBackPressed();
            default:
                break;
        }
@@ -338,4 +332,9 @@
    public void onDetach() {
        super.onDetach();
    }
    @Override
    public void onDestroyView() {
        super.onDestroyView();
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -57,6 +57,7 @@
import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.MainActivity;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.bean.ExamPlatformData;
@@ -104,10 +105,10 @@
    private int item_id;//扣分分数总和
    private ExamStatusViewModel examStatusViewModel;
    private static final int ADD_DATA = 1;
    private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time
            ,tv_qf,tv_start_time,tv_sex;
    private TextView tv_speed,tv_total_score,tv_name,tv_id
            ,tv_start_time,tv_sex;
    private double speed=0.0;
    private ImageView iv_rtk_status,iv_head;
    private ImageView iv_head;
    WokViewModel wokViewModel;
    private int currTotalScore = 100;
@@ -489,29 +490,7 @@
            }
        });
        AppStatusViewModel appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class);
        appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() {
            @Override
            public void onChanged(AppStatus appStatus) {
                if (appStatus != null){
                    Log.i(TAG, "onChanged: "+appStatus.toString());
                    iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status());
                    tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(
                            ExamPlatformData.getInstance().getExamplatformStatus()
                    )));
                    tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num()));
                    tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]);
                }
            }
        });
        TimeViewModel timeViewModel = ViewModelProviders.of(this).get(TimeViewModel.class);
        timeViewModel.getLiveDataTime().observe(this, new Observer<String>() {
            @Override
            public void onChanged(String s) {
                tv_network_time.setText(s);
            }
        });
        return view;
    }
@@ -519,6 +498,14 @@
    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);
        }
        btn_ids.add(R.id.btn_1);
        btn_ids.add(R.id.btn_2);
        btn_ids.add(R.id.btn_3);
@@ -541,24 +528,14 @@
        tv_id = view.findViewById(R.id.tv_ID);
        tv_start_time = view.findViewById(R.id.tv_start_time);
        tv_sex = view.findViewById(R.id.tv_sex);
        tv_work_platform = view.findViewById(R.id.platform);
        iv_rtk_status = view.findViewById(R.id.iv_rtk_connect);
        iv_rtk_status.getDrawable().setLevel(0);
        iv_head = view.findViewById(R.id.iv_head);
        tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus);
        tv_qf = view.findViewById(R.id.tv_qf);
        tv_speed = view.findViewById(R.id.tv_speed);
        tv_total_score = view.findViewById(R.id.tv_total_score);
        tv_network_time = view.findViewById(R.id.network_time);
        tv_network_time.setText(Utils.getHHmm());
        tv_speed.setText(getResources().getString(R.string.speed,speed));
        btn_return = view.findViewById(R.id.btn_return);
        btn_return.setOnClickListener(this);
        mListView = view.findViewById(R.id.lv);
        mListView.setFocusable(false);
        mListView.setOnTouchListener(new View.OnTouchListener() {
@@ -647,9 +624,6 @@
                    }
                    start(mapFragment);
                }
                break;
            case R.id.btn_return:
                _mActivity.onBackPressed();
                break;
            case R.id.iv_head:
                MyLog.i(TAG,"签到,获取身份证物理卡号");
@@ -750,6 +724,16 @@
    @Override
    public void onDetach() {
        super.onDetach();
        Log.i(TAG,"onDetach");
        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC);
    }
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        Log.i(TAG,"onDestroyView");
        ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE);
        ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE);
    }
}
app/src/main/res/drawable/btn_state_save.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/ic_btn_fail"></item>
<item android:state_pressed="false" android:drawable="@drawable/ic_btn_daikao"></item>
<item android:state_pressed="true" android:drawable="@drawable/ic_btn_save_press"></item>
<item android:state_pressed="false" android:drawable="@drawable/ic_btn_save_nopress"></item>
</selector>
app/src/main/res/drawable/green_light.xml
@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp"/>
    <size android:height="10dp" android:width="10dp"/>
    <solid android:color="@android:color/holo_green_light"/>
    <solid android:color="#1661C6"/>
</shape>
app/src/main/res/drawable/ic_btn_daikao.xml
@@ -5,5 +5,5 @@
    android:viewportHeight="1024">
    <path
        android:pathData="M0,0m115.86,0l955.85,0q115.86,0 115.86,115.86l0,738.61q0,115.86 -115.86,115.86l-955.85,0q-115.86,0 -115.86,-115.86l0,-738.61q0,-115.86 115.86,-115.86Z"
        android:fillColor="#187558"/>
        android:fillColor="#1E4A89"/>
</vector>
app/src/main/res/drawable/ic_btn_save_nopress.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
<solid android:color="#187558"/>
</shape>
app/src/main/res/drawable/ic_btn_save_press.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
<solid android:color="#d4237a"/>
</shape>
app/src/main/res/layout/activity_main.xml
@@ -1,16 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <include layout="@layout/networktoolbar"/>
    <FrameLayout
        android:id="@+id/fl_container"
        android:background="@drawable/ic_bground"
        android:layout_width="match_parent"
        android:layout_marginBottom="@dimen/bottombar_height"
        android:layout_height="match_parent"/>
        android:layout_height="match_parent">
        <FrameLayout
            android:id="@+id/fl_container"
            android:background="@drawable/ic_bground"
            android:layout_width="match_parent"
            android:layout_marginBottom="@dimen/bottombar_height"
            android:layout_height="match_parent">
            <Button
                android:id="@+id/btn_return"
                android:layout_width="128dp"
                android:layout_height="48dp"
                android:background="@mipmap/return_bg"
                android:drawableLeft="@mipmap/return_pic"
                android:paddingLeft="20dp"
                android:text="返回"
                android:gravity="center_vertical"
                android:drawablePadding="@dimen/ui_margin_5dp"
                android:layout_gravity="bottom|end"
                android:textColor="#FFFFFF"
                android:textSize="@dimen/network_train_textsize24px" />
        </FrameLayout>
    </FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
app/src/main/res/layout/gps_info_item.xml
@@ -5,6 +5,7 @@
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:text="123"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:minHeight="?android:attr/listPreferredItemHeightSmall" />
app/src/main/res/layout/layout_base_datas.xml
@@ -12,7 +12,7 @@
        android:textSize="@dimen/network_train_textsize24px"
        android:background="@drawable/btn_state_save"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="@dimen/ui_margin_10dp"
        android:layout_marginRight="35dp"
        android:layout_above="@+id/ll_container_set"
        android:text="保存"/>
    <LinearLayout
@@ -38,15 +38,11 @@
                android:textColor="@android:color/white"
                android:textSize="@dimen/network_train_textsize25px"
                android:text="考试平台地址:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:text="IP:"/>
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="47.93.157.103"
                android:layout_marginLeft="25dp"
                android:drawableLeft="@drawable/set_arg_et_drawable"
                android:id="@+id/et_platform_ip"
                android:background="@android:drawable/editbox_background_normal"/>
@@ -109,16 +105,13 @@
                android:textColor="@android:color/white"
                android:textSize="@dimen/network_train_textsize25px"
                android:text="@string/rtk_addr_des"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:text="IP:"/>
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/rtk_addr_ip"
                android:text="192.168.23.12"
                android:layout_marginLeft="26dp"
                android:background="@android:drawable/editbox_background_normal"/>
            <TextView
                android:layout_width="wrap_content"
@@ -144,16 +137,13 @@
                android:textColor="@android:color/white"
                android:textSize="@dimen/network_train_textsize25px"
                android:text="登录信息:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:text="省ID:"/>
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/et_provice_id"
                android:text="12"
                android:layout_marginLeft="68dp"
                android:inputType="numberDecimal"
                android:background="@android:drawable/editbox_background_normal"/>
            <TextView
@@ -195,104 +185,15 @@
                android:textColor="@android:color/white"
                android:textSize="@dimen/network_train_textsize25px"
                android:text="车载信号配置:"/>
            <TableLayout
                android:layout_width="match_parent"
            <Button  android:layout_width="410dp"
                android:layout_height="wrap_content"
                android:gravity="center">
                <TableRow android:gravity="center_horizontal"
                    android:visibility="gone"
                    android:layout_marginBottom="10dp">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:text="主板:"/>
                    <androidx.appcompat.widget.AppCompatSpinner
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/spinnerarr"
                        android:gravity="center"
                        />
                </TableRow>
                <TableRow android:gravity="center_horizontal"
                    android:visibility="gone"
                    android:layout_marginBottom="10dp">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:text="串口号:"/>
                    <EditText
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="GpsExam"
                        android:background="@android:drawable/editbox_background_normal"/>  <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:text="波特率:"/>
                    <EditText
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="GpsExam"
                        android:background="@android:drawable/editbox_background_normal"/>
                </TableRow>
                <TableRow android:gravity="center_horizontal"
                    android:visibility="gone"
                    android:layout_marginBottom="10dp">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:text="副板:"/>
                    <androidx.appcompat.widget.AppCompatSpinner
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/spinnerarr"/>
                </TableRow>
                <TableRow android:gravity="center_horizontal"
                    android:visibility="gone"
                    android:layout_marginBottom="10dp">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:text="串口号:"/>
                    <EditText
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="GpsExam"
                        android:background="@android:drawable/editbox_background_normal"/>
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="15dp"
                        android:text="波特率:"/>
                    <EditText
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="GpsExam"
                        android:background="@android:drawable/editbox_background_normal"/>
                </TableRow>
                <TableRow android:gravity="center_horizontal"
                    >
                    <Button  android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="查看信号"
                        android:visibility="gone"
                        android:id="@+id/btn_inpsect_signal"
                        android:padding="5dp"
                        android:background="@drawable/btn_bg_baseset"/>
                    <Button  android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="信号配置"
                        android:padding="5dp"
                        android:id="@+id/btn_signal_conf"
                        android:layout_marginLeft="15dp"
                        android:background="@drawable/btn_bg_baseset"/>
                </TableRow>
            </TableLayout>
                android:text="信号配置"
                android:padding="5dp"
                android:textColor="@android:color/white"
                android:id="@+id/btn_signal_conf"
                android:layout_marginLeft="25dp"
                android:textSize="@dimen/network_train_textsize24px"
                android:background="@drawable/btn_bg_baseset"/>
        </LinearLayout>
app/src/main/res/layout/layout_base_set.xml
@@ -30,7 +30,6 @@
    <androidx.viewpager.widget.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/train_bg"
        android:id="@+id/vp_base_set">
    </androidx.viewpager.widget.ViewPager>
app/src/main/res/layout/layout_check_signal.xml
@@ -4,12 +4,23 @@
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@android:color/white"
        >
        <include layout="@layout/toolbar" android:id="@+id/inpsect_signal_toolbar"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="查看车载信号输入"
            android:textColor="#ffffffff"
            android:textSize="23sp"
            android:layout_marginBottom="17dp"
            android:layout_marginTop="@dimen/ui_margin_10dp"
            android:layout_marginLeft="@dimen/ui_margin_10dp"
            />
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            android:layout_width="791dp"
            android:layout_height="373dp"
            android:background="@drawable/stu_score_bg"
            android:layout_marginLeft="@dimen/ui_margin_10dp"
            android:layout_marginRight="10dp">
            <include layout="@layout/layout_signal_slice" android:id="@+id/inpset_signal_slice"/>
            <RelativeLayout
                android:layout_gravity="end"
app/src/main/res/layout/layout_signal_slice.xml
@@ -18,27 +18,29 @@
            android:id="@+id/tv_loudspeaker"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textSize="@dimen/network_train_textsize22px"
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="远光灯"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_high_beam"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="档位一"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_gear_one"
            android:layout_toRightOf="@+id/tv_high_beam"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -48,27 +50,30 @@
            android:layout_height="wrap_content"
            android:text="安全带"
            android:id="@+id/tv_seat_belt"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="空档"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_null_engine"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="档位二"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_gear_two"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -77,28 +82,31 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="熄火"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_cut_off"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="示宽灯"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_width_lamp"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:layout_marginLeft="30dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="档位三"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_gear_three"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -108,28 +116,31 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="门锁"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_gate_lock"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="双闪"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_emergency_flasher"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="副刹"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_gear_four"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
@@ -140,28 +151,31 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="手刹"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_parking_brake"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="脚刹"
            android:textSize="@dimen/network_train_textsize22px"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_foot_brake"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="档位五"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_gear_five"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -171,19 +185,21 @@
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="左转向"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_trun_left"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="绕车一"
            android:layout_marginLeft="30dp"
            android:textSize="@dimen/network_train_textsize22px"
            android:id="@+id/tv_winding_one"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
@@ -191,9 +207,10 @@
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_signal3_6"
            android:visibility="gone"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -204,28 +221,31 @@
            android:layout_height="wrap_content"
            android:text="右转向"
            android:id="@+id/tv_turn_right"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="钥匙START位"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_winding_two"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Signal3-7"
            android:id="@+id/tv_signal3_7"
            android:textSize="@dimen/network_train_textsize22px"
            android:visibility="gone"
            android:layout_marginLeft="30dp"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
    </TableRow>
    <TableRow android:layout_marginBottom="10dp" >
@@ -238,16 +258,18 @@
            android:id="@+id/tv_low_lamp"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textSize="@dimen/network_train_textsize22px"
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="离合"
            android:layout_marginLeft="30dp"
            android:id="@+id/tv_clutch_pedal"
            android:textSize="@dimen/network_train_textsize22px"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textColor="@android:color/white"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
@@ -257,7 +279,8 @@
            android:id="@+id/tv_signal3_8"
            android:drawableLeft="@drawable/gray_light"
            android:drawablePadding="5dp"
            android:textColor="@android:color/black"/>
            android:textSize="@dimen/network_train_textsize22px"
            android:textColor="@android:color/white"/>
    </TableRow>
    </TableLayout>
app/src/main/res/layout/layout_stu_score.xml
@@ -21,19 +21,7 @@
    android:layout_alignParentEnd="true"
    android:orientation="horizontal">
    <Button
        android:id="@+id/btn_return"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@mipmap/return_bg"
        android:drawableLeft="@mipmap/return_pic"
        android:gravity="center_vertical"
        android:paddingLeft="20dp"
        android:text="返回"
        android:drawablePadding="5dp"
        android:textColor="#FFFFFF"
        android:textSize="@dimen/network_train_textsize24px" />
</LinearLayout>
</RelativeLayout>
app/src/main/res/layout/layout_train_fragment.xml
@@ -5,7 +5,6 @@
    android:orientation="vertical"
    style="@style/ui_margin"
    >
<include layout="@layout/networktoolbar"/>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
app/src/main/res/layout/networktoolbar.xml
@@ -5,6 +5,7 @@
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/top_title"
        android:theme="@style/AppTheme.AppBarOverlay">
        <androidx.appcompat.widget.Toolbar
app/src/main/res/mipmap-xhdpi/auto_check_status.png
app/src/main/res/mipmap-xhdpi/device_sn.png
app/src/main/res/mipmap-xhdpi/platform_pic.png
app/src/main/res/mipmap-xhdpi/province_id.png
app/src/main/res/mipmap-xhdpi/version_pic.png