[Taxi Passenger v1.1.0]乘客端V2X预警时间呈现、隐藏监控icon
This commit is contained in:
@@ -39,6 +39,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
|||||||
private ImageView mAutopilotImage;
|
private ImageView mAutopilotImage;
|
||||||
private ImageView mMapswitchBtn;
|
private ImageView mMapswitchBtn;
|
||||||
private TaxiPassengerTrafficLightView mTrafficLightView;
|
private TaxiPassengerTrafficLightView mTrafficLightView;
|
||||||
|
private TaxiPassengerV2XNotificationView mV2XNotificationView;
|
||||||
|
|
||||||
protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null;
|
protected TaxiPassengerServingOrderFragment ochServingOrderFragment = null;
|
||||||
|
|
||||||
@@ -64,6 +65,8 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
|
|||||||
|
|
||||||
mTrafficLightView = findViewById(R.id.traffic_light_view);
|
mTrafficLightView = findViewById(R.id.traffic_light_view);
|
||||||
CallerHmiManager.INSTANCE.setProxyTrafficLightView(mTrafficLightView);
|
CallerHmiManager.INSTANCE.setProxyTrafficLightView(mTrafficLightView);
|
||||||
|
mV2XNotificationView = new TaxiPassengerV2XNotificationView(getContext());
|
||||||
|
CallerHmiManager.INSTANCE.setProxyNotificationView(mV2XNotificationView);
|
||||||
|
|
||||||
mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_iv);
|
mMapswitchBtn = findViewById(R.id.module_och_taxi_swich_map_iv);
|
||||||
mMapswitchBtn.setOnClickListener(new View.OnClickListener() {
|
mMapswitchBtn.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
package com.mogo.och.taxi.passenger.ui;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.util.AttributeSet;
|
||||||
|
import android.view.Gravity;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.mogo.eagle.core.data.enums.SidePattern;
|
||||||
|
import com.mogo.eagle.core.function.api.hmi.view.IViewNotification;
|
||||||
|
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||||
|
import com.mogo.och.taxi.passenger.R;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* V2X预警事件view:通过FloatWindow呈现,无需加入到自定义layout中
|
||||||
|
*
|
||||||
|
* Created on 2022/3/16
|
||||||
|
*/
|
||||||
|
public class TaxiPassengerV2XNotificationView extends IViewNotification {
|
||||||
|
|
||||||
|
private ImageView mV2XNotificationIcon;
|
||||||
|
private TextView mV2XNotificationText;
|
||||||
|
|
||||||
|
public TaxiPassengerV2XNotificationView(@Nullable Context context) {
|
||||||
|
this(context, null, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TaxiPassengerV2XNotificationView(@Nullable Context context, @Nullable AttributeSet attrs) {
|
||||||
|
this(context, attrs, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TaxiPassengerV2XNotificationView(@Nullable Context context, @Nullable AttributeSet attrs,
|
||||||
|
int defStyleAttr) {
|
||||||
|
super(context, attrs, defStyleAttr);
|
||||||
|
init(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init(Context context) {
|
||||||
|
LayoutInflater.from(context).inflate(R.layout.taxi_p_v2x_notification_view, this,
|
||||||
|
true);
|
||||||
|
|
||||||
|
mV2XNotificationIcon = findViewById(R.id.taxi_p_v2x_notification_icon_iv);
|
||||||
|
mV2XNotificationText = findViewById(R.id.taxi_p_v2x_notification_text_tv);
|
||||||
|
|
||||||
|
// 设置View的出场位置
|
||||||
|
setSidePattern(SidePattern.LEFT);
|
||||||
|
setLayoutGravity(Gravity.LEFT);
|
||||||
|
// 设置View的停留位置:相对屏幕左上角的位置
|
||||||
|
setOffsetX(getResources().
|
||||||
|
getDimensionPixelSize(R.dimen.taxi_p_v2x_notification_view_margin_left));
|
||||||
|
setOffsetY(getResources().
|
||||||
|
getDimensionPixelSize(R.dimen.taxi_p_v2x_notification_view_margin_top));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWarningIcon(int warningIcon) {
|
||||||
|
super.setWarningIcon(warningIcon);
|
||||||
|
UiThreadHandler.post(() -> {
|
||||||
|
mV2XNotificationIcon.setImageResource(warningIcon);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWarningIcon(@Nullable Drawable drawable) {
|
||||||
|
super.setWarningIcon(drawable);
|
||||||
|
UiThreadHandler.post(() -> {
|
||||||
|
mV2XNotificationIcon.setImageDrawable(drawable);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWarningContent(@Nullable CharSequence warningContent) {
|
||||||
|
super.setWarningContent(warningContent);
|
||||||
|
UiThreadHandler.post(() -> {
|
||||||
|
mV2XNotificationText.setText(warningContent);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setWarningContent(int warningContentId) {
|
||||||
|
super.setWarningContent(warningContentId);
|
||||||
|
UiThreadHandler.post(() -> {
|
||||||
|
mV2XNotificationText.setText(warningContentId);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
|
||||||
|
<solid android:color="@color/taxi_p_v2x_notification_bg_color"/>
|
||||||
|
<corners android:radius="@dimen/taxi_p_v2x_notification_bg_corner"/>
|
||||||
|
</shape>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="@dimen/taxi_p_v2x_notification_view_padding"
|
||||||
|
android:background="@drawable/bg_taxi_p_v2x_notification_view">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/taxi_p_v2x_notification_icon_iv"
|
||||||
|
android:layout_width="@dimen/taxi_p_v2x_notification_icon_size"
|
||||||
|
android:layout_height="@dimen/taxi_p_v2x_notification_icon_size"
|
||||||
|
android:src="@drawable/icon_warning_v2x_abnormal_vehicle"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/taxi_p_v2x_notification_text_tv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/taxi_p_v2x_notification_text_margin_left"
|
||||||
|
android:text="预警信息"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="@dimen/taxi_p_v2x_notification_text_size"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/taxi_p_v2x_notification_icon_iv"
|
||||||
|
app:layout_constraintLeft_toRightOf="@+id/taxi_p_v2x_notification_icon_iv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/taxi_p_v2x_notification_icon_iv"
|
||||||
|
tools:text="前车碰撞预警" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -39,4 +39,12 @@
|
|||||||
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
||||||
|
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_left">31px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_top">110px</dimen> <!-- 距离Pad顶部 -->
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_padding">10px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_bg_corner">70px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_icon_size">120px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_size">39px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_margin_left">20px</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -102,4 +102,12 @@
|
|||||||
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
||||||
|
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_left">31px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_top">110px</dimen> <!-- 距离Pad顶部 -->
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_padding">10px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_bg_corner">70px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_icon_size">120px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_size">39px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_margin_left">20px</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -23,4 +23,6 @@
|
|||||||
<color name="taxi_p_traffic_light_green_color_down">#006D43</color>
|
<color name="taxi_p_traffic_light_green_color_down">#006D43</color>
|
||||||
<color name="taxi_p_traffic_light_yellow_color_up">#FFE198</color>
|
<color name="taxi_p_traffic_light_yellow_color_up">#FFE198</color>
|
||||||
<color name="taxi_p_traffic_light_yellow_color_down">#FF9B00</color>
|
<color name="taxi_p_traffic_light_yellow_color_down">#FF9B00</color>
|
||||||
|
|
||||||
|
<color name="taxi_p_v2x_notification_bg_color">#80000000</color>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -100,4 +100,12 @@
|
|||||||
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
<dimen name="taxi_p_traffic_light_icon_size">154px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
<dimen name="taxi_p_traffic_light_time_view_width">127px</dimen>
|
||||||
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
<dimen name="taxi_p_traffic_light_time_size">60px</dimen>
|
||||||
|
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_left">31px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_margin_top">110px</dimen> <!-- 距离Pad顶部 -->
|
||||||
|
<dimen name="taxi_p_v2x_notification_view_padding">10px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_bg_corner">70px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_icon_size">120px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_size">39px</dimen>
|
||||||
|
<dimen name="taxi_p_v2x_notification_text_margin_left">20px</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -112,6 +112,8 @@ public class MogoApplication extends MainMoGoApplication {
|
|||||||
HmiBuildConfig.isShowLimitingVelocityView = false;
|
HmiBuildConfig.isShowLimitingVelocityView = false;
|
||||||
//是否显示 红绿等
|
//是否显示 红绿等
|
||||||
HmiBuildConfig.isShowTrafficLightView = false;
|
HmiBuildConfig.isShowTrafficLightView = false;
|
||||||
|
//是否显示 路侧监控
|
||||||
|
HmiBuildConfig.isShowCameraView = false;
|
||||||
}
|
}
|
||||||
//och模块
|
//och模块
|
||||||
MogoModulePaths.addModuleFunction(new MogoModule("/och/api", "IMoGoFunctionProvider"));
|
MogoModulePaths.addModuleFunction(new MogoModule("/och/api", "IMoGoFunctionProvider"));
|
||||||
|
|||||||
Reference in New Issue
Block a user