diff --git a/modules/mogo-module-v2x/src/main/AndroidManifest.xml b/modules/mogo-module-v2x/src/main/AndroidManifest.xml
index 158659eecc..341e0485ae 100644
--- a/modules/mogo-module-v2x/src/main/AndroidManifest.xml
+++ b/modules/mogo-module-v2x/src/main/AndroidManifest.xml
@@ -6,6 +6,13 @@
+
+
+
+
+
+
+
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 4c85d75e0c..fc2d014256 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
@@ -32,6 +32,13 @@ public class V2XConst {
public static final String BROADCAST_SCENE_HANDLER_ACTION = "com.v2x.scene_handler_broadcast";
public static final String BROADCAST_SCENE_EXTRA_KEY = "V2XMessageEntity";
+ /**
+ * V2X 测试控制面板广播Action
+ */
+ 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_SCENE_ACTION = "com.v2x.scene_local_broadcast";
public static final String SEEK_HELP_TIME = "seek_help_time";
public static final String V2X_ACC_ON_TIME_STR = "v2x_acc_on_time_str";
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java
index 162f5d6713..ba01c75bbf 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java
@@ -29,7 +29,6 @@ import com.mogo.module.v2x.receiver.SceneBroadcastReceiver;
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkScenario;
import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkWindow;
-import com.mogo.module.v2x.scenario.scene.test.V2XTestConsoleWindow;
import com.mogo.module.v2x.utils.FatigueDrivingUtils;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
@@ -136,12 +135,6 @@ public class V2XModuleProvider implements
intentFilter.addAction(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
localBroadcastManager.registerReceiver(localReceiver, intentFilter);
- if (BuildConfig.DEBUG) {
- // TODO 这是测试页面
- V2XServiceManager
- .getIMogoWindowManager()
- .addView(new V2XTestConsoleWindow(context), 0, 0, false);
- }
}
private void initData() {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
index dc04c9cab3..40ec88c69b 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java
@@ -22,7 +22,7 @@ public class SceneBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
- V2XMessageEntity v2XMessageEntity = (V2XMessageEntity) intent.getSerializableExtra("V2XMessageEntity");
+ V2XMessageEntity v2XMessageEntity = (V2XMessageEntity) intent.getSerializableExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY);
Logger.d(TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity));
V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity);
} catch (Exception e) {
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
new file mode 100644
index 0000000000..7123176fba
--- /dev/null
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java
@@ -0,0 +1,38 @@
+package com.mogo.module.v2x.receiver;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import com.mogo.module.v2x.V2XConst;
+import com.mogo.module.v2x.V2XServiceManager;
+import com.mogo.module.v2x.scenario.scene.test.V2XTestConsoleWindow;
+import com.mogo.utils.logger.Logger;
+
+/**
+ * V2X 测试面板广播接收,目的是可以通过广播调用起来面板
+ *
+ * @author donghongyu
+ */
+public class TestPanelBroadcastReceiver extends BroadcastReceiver {
+ private static final String TAG = V2XConst.MODULE_NAME + "_TestPanelBroadcastReceiver";
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ try {
+ boolean textPanelOpenStatus = intent.getBooleanExtra(V2XConst.BROADCAST_TEST_PANEL_CONTROL_EXTRA_KEY, false);
+ Logger.d(TAG, "textPanelOpenStatus:" + textPanelOpenStatus);
+ if (textPanelOpenStatus) {
+ V2XServiceManager
+ .getIMogoWindowManager()
+ .addView(V2XTestConsoleWindow.getInstance(context), 0, 0, false);
+ } else {
+ V2XServiceManager
+ .getIMogoWindowManager()
+ .removeView(V2XTestConsoleWindow.getInstance(context));
+ }
+ } 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 022e54d07b..910f354fe4 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
@@ -32,6 +32,8 @@ import java.util.List;
* version: 1.0
*/
public class V2XTestConsoleWindow extends ConstraintLayout {
+ private static V2XTestConsoleWindow mV2XTestConsoleWindow;
+
private FlexboxLayout mFlTestPanel;
private Button mBtnTriggerOpen;
private Button mBtnTriggerRoadEvent;
@@ -43,6 +45,17 @@ public class V2XTestConsoleWindow extends ConstraintLayout {
private Button mBtnTriggerSeekHelpEvent;
private Button mBtnTriggerParkEvent;
+ public static V2XTestConsoleWindow getInstance(Context context) {
+ if (mV2XTestConsoleWindow == null) {
+ synchronized (V2XTestConsoleWindow.class) {
+ if (mV2XTestConsoleWindow == null) {
+ mV2XTestConsoleWindow = new V2XTestConsoleWindow(context);
+ }
+ }
+ }
+ return mV2XTestConsoleWindow;
+ }
+
public V2XTestConsoleWindow(Context context) {
this(context, null);
}