完成了测试控制面板的分段控制展示
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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<V2XPushMessageEntity> 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<V2XPushMessageEntity> 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 -> {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user