From 6615ffcb30d1c66aca17a2605f31386220d508ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 29 Oct 2020 21:28:13 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=8E=A7=E5=88=B6=E9=9D=A2=E6=9D=BF=E7=9A=84=E5=88=86?= =?UTF-8?q?=E6=AE=B5=E6=8E=A7=E5=88=B6=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/v2x/V2XConst.java | 1 + .../receiver/TestPanelBroadcastReceiver.java | 6 +- .../scene/test/V2XTestConsoleWindow.java | 137 ++++- .../main/res/layout/window_test_console.xml | 527 +++++++++++++----- 4 files changed, 514 insertions(+), 157 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java index 8c0bd97968..8818ec3b1c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java @@ -37,6 +37,7 @@ public class V2XConst { */ public static final String BROADCAST_TEST_PANEL_CONTROL_ACTION = "com.v2x.com.v2x.test_panel_control"; public static final String BROADCAST_TEST_PANEL_CONTROL_EXTRA_KEY = "TextPanelOpenStatus"; + public static final String BROADCAST_TEST_PANEL_CONTROL_TYPE_EXTRA_KEY = "TextPanelOpenType"; public static final String BROADCAST_SCENE_ACTION = "com.v2x.scene_local_broadcast"; diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java index 7123176fba..bb19973358 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java @@ -21,15 +21,17 @@ public class TestPanelBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { try { boolean textPanelOpenStatus = intent.getBooleanExtra(V2XConst.BROADCAST_TEST_PANEL_CONTROL_EXTRA_KEY, false); + int textPanelOpenType = intent.getIntExtra(V2XConst.BROADCAST_TEST_PANEL_CONTROL_TYPE_EXTRA_KEY, 0); Logger.d(TAG, "textPanelOpenStatus:" + textPanelOpenStatus); + Logger.d(TAG, "textPanelOpenType:" + textPanelOpenType); if (textPanelOpenStatus) { V2XServiceManager .getIMogoWindowManager() - .addView(V2XTestConsoleWindow.getInstance(context), 0, 0, false); + .addView(V2XTestConsoleWindow.getInstance(context, textPanelOpenType), 0, 0, false); } else { V2XServiceManager .getIMogoWindowManager() - .removeView(V2XTestConsoleWindow.getInstance(context)); + .removeView(V2XTestConsoleWindow.getInstance(context, textPanelOpenType)); } } catch (Exception e) { e.printStackTrace(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java index f0633ddbd8..4e244d0d3b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java @@ -6,6 +6,7 @@ import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; +import android.widget.LinearLayout; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -39,7 +40,10 @@ import static android.text.style.TtsSpan.GENDER_MALE; public class V2XTestConsoleWindow extends ConstraintLayout { private static V2XTestConsoleWindow mV2XTestConsoleWindow; - private FlexboxLayout mFlTestPanel; + private LinearLayout mFlTestPanel; + private FlexboxLayout flTestPanelShunNormal; + private FlexboxLayout flTestPanelShunYi; + private FlexboxLayout flTestPanelVR; private Button mBtnTriggerOpen; private Button mBtnTriggerRoadEvent; private Button mBtnClearRoadEvent; @@ -49,20 +53,35 @@ public class V2XTestConsoleWindow extends ConstraintLayout { private Button mBtnTriggerFatigueDrivingEvent; private Button mBtnTriggerSeekHelpEvent; private Button mBtnTriggerParkEvent; - private Button mBtnTriggerEventUgc; private Button mBtnTriggerCallUserInfo; + private Button mBtnTriggerEventUgc; - public static V2XTestConsoleWindow getInstance(Context context) { + private Button btnTriggerRearVIPCarTip, + btnTriggerVehicleBrakes, + btnTriggerRearDangerousVehicles, + btnTriggerReverseVehicleRoutePrediction, + btnTriggerVIPLightChange, + btnTriggerObstacleDetour, + btnTriggerPedestrianWarning, + btnTriggerCongestedRouteRecommendation, + btnTriggerDoubleFlash; + + public static V2XTestConsoleWindow getInstance(Context context, int showType) { if (mV2XTestConsoleWindow == null) { synchronized (V2XTestConsoleWindow.class) { if (mV2XTestConsoleWindow == null) { - mV2XTestConsoleWindow = new V2XTestConsoleWindow(context); + mV2XTestConsoleWindow = new V2XTestConsoleWindow(context, showType); } } } return mV2XTestConsoleWindow; } + public V2XTestConsoleWindow(Context context, int showType) { + super(context); + initView(context, showType); + } + public V2XTestConsoleWindow(Context context) { this(context, null); } @@ -73,13 +92,16 @@ public class V2XTestConsoleWindow extends ConstraintLayout { public V2XTestConsoleWindow(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - initView(context); + initView(context, 0); } - private void initView(Context context) { + private void initView(Context context, int showType) { LayoutInflater.from(context).inflate(R.layout.window_test_console, this); mFlTestPanel = findViewById(R.id.flTestPanel); + flTestPanelShunNormal = findViewById(R.id.flTestPanelShunNormal); + flTestPanelShunYi = findViewById(R.id.flTestPanelShunYi); + flTestPanelVR = findViewById(R.id.flTestPanelVR); mBtnTriggerOpen = findViewById(R.id.btnTriggerOpen); mBtnClearRoadEvent = findViewById(R.id.btnClearRoadEvent); mBtnTriggerRoadEvent = findViewById(R.id.btnTriggerRoadEvent); @@ -92,6 +114,35 @@ public class V2XTestConsoleWindow extends ConstraintLayout { mBtnTriggerEventUgc = findViewById(R.id.btnTriggerEventUgc); mBtnTriggerCallUserInfo = findViewById(R.id.btnTriggerCallUserInfo); + btnTriggerRearVIPCarTip = findViewById(R.id.btnTriggerRearVIPCarTip); + btnTriggerVehicleBrakes = findViewById(R.id.btnTriggerVehicleBrakes); + btnTriggerRearDangerousVehicles = findViewById(R.id.btnTriggerRearDangerousVehicles); + btnTriggerReverseVehicleRoutePrediction = findViewById(R.id.btnTriggerReverseVehicleRoutePrediction); + btnTriggerVIPLightChange = findViewById(R.id.btnTriggerVIPLightChange); + btnTriggerObstacleDetour = findViewById(R.id.btnTriggerObstacleDetour); + btnTriggerPedestrianWarning = findViewById(R.id.btnTriggerPedestrianWarning); + btnTriggerCongestedRouteRecommendation = findViewById(R.id.btnTriggerCongestedRouteRecommendation); + btnTriggerDoubleFlash = findViewById(R.id.btnTriggerDoubleFlash); + + + switch (showType) { + case 0: + flTestPanelShunNormal.setVisibility(View.VISIBLE); + flTestPanelShunYi.setVisibility(View.VISIBLE); + flTestPanelVR.setVisibility(View.VISIBLE); + break; + case 1: + flTestPanelShunNormal.setVisibility(View.VISIBLE); + break; + case 2: + flTestPanelShunYi.setVisibility(View.VISIBLE); + break; + case 3: + flTestPanelVR.setVisibility(View.VISIBLE); + break; + } + + mBtnTriggerCallUserInfo.setOnClickListener(v -> { MogoDriverInfo mogoDriverInfo = new MogoDriverInfo(); mogoDriverInfo.setAge(24); @@ -105,7 +156,7 @@ public class V2XTestConsoleWindow extends ConstraintLayout { mBtnTriggerOpen.setOnClickListener(v -> V2XServiceManager .getIMogoWindowManager() - .removeView(V2XTestConsoleWindow.getInstance(context)) + .removeView(V2XTestConsoleWindow.getInstance(context, showType)) ); mBtnClearRoadEvent.setOnClickListener(v -> { @@ -168,6 +219,7 @@ public class V2XTestConsoleWindow extends ConstraintLayout { LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); }); + mBtnTriggerEventUgc.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -188,6 +240,77 @@ public class V2XTestConsoleWindow extends ConstraintLayout { intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); }); + + /* + *后方VIP车辆提示 + * */ + btnTriggerRearVIPCarTip.setOnClickListener(v -> { + + }); + /* + *前车急刹 + * */ + btnTriggerVehicleBrakes.setOnClickListener(v -> { + + }); + /* + *后方危险车辆预警 + * */ + btnTriggerRearDangerousVehicles.setOnClickListener(v -> { + + }); + + /* + * 逆向车辆路线预判 + * */ + btnTriggerReverseVehicleRoutePrediction.setOnClickListener(v -> { + V2XMessageEntity v2XMessageEntity = + TestOnLineCarUtils.getV2XScenarionVRReverseCarData(); + + Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION); + intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); + LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); + }); + + /* + *VIP变灯通行 + * */ + btnTriggerVIPLightChange.setOnClickListener(v -> { + + }); + + /* + *障碍物绕行 + * */ + btnTriggerObstacleDetour.setOnClickListener(v -> { + + }); + + /* + *行人预警,行人路线预测 + * */ + btnTriggerPedestrianWarning.setOnClickListener(v -> { + + }); + + /* + *拥堵路线推荐 + * */ + btnTriggerCongestedRouteRecommendation.setOnClickListener(v -> { + V2XMessageEntity v2XMessageEntity = + TestOnLineCarUtils.getV2XScenarioPushVR(); + + Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION); + intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); + LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); + }); + + /* + *双闪车辆,自动绕行 + * */ + btnTriggerDoubleFlash.setOnClickListener(v -> { + + }); } } diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml index 1d190c16cc..a9ec871198 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml @@ -6,173 +6,404 @@ android:orientation="horizontal" android:paddingStart="@dimen/module_main_v2x_animation_width"> - + android:paddingEnd="@dimen/dp_100"> -