From 1fc73dc09728a41e306056e7a270e3b7980b7892 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Tue, 28 Feb 2023 16:27:12 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=B7=A5=E6=8E=A7=E6=9C=BA=E7=9B=91=E6=8E=A7]?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=90=84=E8=BD=A6=E5=9E=8B=E6=A1=A3=E4=BD=8D?= =?UTF-8?q?=E5=AF=B9=E8=87=AA=E5=8A=A8=E9=A9=BE=E9=A9=B6=E7=9A=84=E5=BD=B1?= =?UTF-8?q?=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhidao/adas/client/ui/MainActivity.java | 1 + .../adas/client/ui/VersionFragment.java | 105 +++++++----- .../src/main/res/layout/fragment_version.xml | 151 +++++++++++++++++- .../ability/AutopilotAbilityManager.java | 3 +- 4 files changed, 212 insertions(+), 48 deletions(-) diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 45b6b6c46d..6e2cd0d297 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -1129,6 +1129,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas } }, "1234567");*/ } + options.setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); AdasManager.getInstance().create(options, this); AdasManager.getInstance().setOnAdasListener(this); /*两端数据转发 注释掉 diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java index 733e70d9ae..6bbb4b3825 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/VersionFragment.java @@ -13,6 +13,8 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; +import android.widget.RadioButton; +import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -41,6 +43,7 @@ import com.zhidao.support.adas.high.common.autopilot.ability.AutopilotAbilityMan import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.HashSet; import java.util.List; @@ -64,11 +67,16 @@ public class VersionFragment extends BaseFragment { private CheckBox unregistered_check_all; private TextView hint_registered; private TextView hint_unregistered; + private TextView can; + private TextView gear_influence; + private TextView gear; + private TextView title_gear; + private RadioButton rb_taxi; + private RadioGroup rg; private ConfigAdapter adapter; private InterfaceAdapter unregisteredAdapter; private InterfaceAdapter registeredAdapter; - private Set[] unableGears; private int role = Constants.TERMINAL_ROLE.DEBUG;//角色 默认调试屏 @@ -134,6 +142,12 @@ public class VersionFragment extends BaseFragment { Button btn2 = view.findViewById(R.id.btn2); ipsView = view.findViewById(R.id.ips_view); recyclerView = view.findViewById(R.id.config_list); + rb_taxi = view.findViewById(R.id.rb_taxi); + can = view.findViewById(R.id.can); + gear_influence = view.findViewById(R.id.gear_influence); + gear = view.findViewById(R.id.gear); + title_gear = view.findViewById(R.id.title_gear); + rg = view.findViewById(R.id.rg); initFragmentRecyclerView(); CupidLogUtils.w("InfoFragment===>" + title); tvTitle.setText(title); @@ -176,7 +190,36 @@ public class VersionFragment extends BaseFragment { view.findViewById(R.id.line1).setVisibility(View.GONE); tvTitle.setText("版本"); } + rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (checkedId == R.id.rb_taxi) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } else if (checkedId == R.id.rb_bus) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS); + gear("BUS", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS.toArray())); + } else if (checkedId == R.id.rb_sweeper) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER); + gear("SWEEPER", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER.toArray())); + } else if (checkedId == R.id.rb_m1) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1); + gear("M1", "无限制"); + } else if (checkedId == R.id.rb_m2) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2); + gear("M1", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2.toArray())); + } else if (checkedId == R.id.rb_van) { + AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN); + gear("VAN", "无限制"); + } + } + }); + gear("TAXI", Arrays.toString(BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI.toArray())); + } + private void gear(String car, String gear) { + title_gear.setText(car + "不能启动自动驾驶的档位:"); + this.gear.setText(gear); } //根据连接状态更新数据 @@ -218,59 +261,37 @@ public class VersionFragment extends BaseFragment { list.add(new Config("ADAS LIB版本:", AdasManager.getInstance().getAdasVersion())); list.add(new Config("APP构建时间:", BuildConfig.BUILD_TIME)); - list.add(getAutopilotAbilityConfig("")); - list.add(gear()); adapter.setData(list); } - private Config gear() { + private String gear() { StringBuilder builder = new StringBuilder(); Chassis.GearPosition gear = App.INSTANCE.gear; if (gear != null) { - if (unableGears == null) { - unableGears = new Set[6]; - unableGears[0] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_BUS; - unableGears[1] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M1; - unableGears[2] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_M2; - unableGears[3] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_SWEEPER; - unableGears[4] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_TAXI; - unableGears[5] = BuildConfig.UNABLE_LAUNCH_AUTOPILOT_GEAR_VAN; - } - for (int j = 0; j < unableGears.length; j++) { - String type = ""; - if (j == 0) { - type = "BUS"; - } else if (j == 1) { - type = "M1"; - } else if (j == 2) { - type = "M2"; - } else if (j == 3) { - type = "SWEEPER"; - } else if (j == 4) { - type = "TAXI"; - } else if (j == 5) { - type = "VAN"; - } - AutopilotAbilityManager.getInstance().setUnableLaunchAutopilotGear(unableGears[j]); - boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); - builder.append("车型:").append(type); - builder.append(" 当前档位:").append(gear.name()); - builder.append(" 是否可以启动自驾:").append(b).append('\n'); - } + boolean b = AutopilotAbilityManager.getInstance().isLaunchAutopilot(gear); + builder.append(" 当前档位:").append(gear.name()); + builder.append(" 是否可以启动自驾:").append(b); } - return new Config("档位影响:", builder.toString()); + return builder.toString(); } - private Config getAutopilotAbilityConfig(String value) { - return new Config("能否启动自动驾驶:", value); + private String getAutopilotAbilityConfig(String value) { + return value; } public void autopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) { - List list = adapter.getData(); - if (list != null) { - updateRefreshConfig(list, getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); - updateRefreshConfig(list, gear()); - } + if (getActivity() != null) + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + can.setTextColor(getResources().getColor(RandomColor.randomColor())); + can.setText(getAutopilotAbilityConfig(isAutopilotAbility + ",原因:" + unableAutopilotReason)); + gear_influence.setTextColor(getResources().getColor(RandomColor.randomColor())); + gear_influence.setText(gear()); + } + }); + + } private void updateRefreshConfig(List list, Config temp) { diff --git a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml index 0b6016f93b..2f68eb3f7d 100644 --- a/app_ipc_monitoring/src/main/res/layout/fragment_version.xml +++ b/app_ipc_monitoring/src/main/res/layout/fragment_version.xml @@ -33,12 +33,155 @@ android:layout_margin="20dp" android:orientation="horizontal"> - - + android:layout_weight="1"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +