Merge branch 'dev_robotaxi-d_240912_6.7.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_240912_6.7.0

This commit is contained in:
aibingbing
2024-10-11 18:28:23 +08:00
91 changed files with 655 additions and 553 deletions

View File

@@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.hmi.bone
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxEventListener
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager
@@ -171,7 +172,9 @@ class BoneTabLayout @JvmOverloads constructor(
override fun onUpdateTipEvent(isShow: Boolean) {
super.onUpdateTipEvent(isShow)
UiThreadHandler.post {
tabSwitchMsgBox.updateNotice(isShow)
if(msgBoxTabView.visibility == View.GONE){
tabSwitchMsgBox.updateNotice(isShow)
}
}
}
}

View File

@@ -20,7 +20,7 @@ import com.zhjt.mogo_core_function_devatools.status.entity.Status
/**
* FSM状态展示 Dialog
*/
class FSMStatusDetailDialog(context: Context) : BaseFloatDialog(context),
class FSMStatusDetailDialog(context: Context) : BaseFloatDialog(context, TAG),
StatusManager.IStatusListener {
companion object {
private const val TAG = "FSMStatusDetailDialog"

View File

@@ -8,7 +8,6 @@ import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -213,15 +212,15 @@ class MsgBoxTabAdapter(private val activity: Activity) :
when(receiveFaultLevel[0]){
0->{
//重度预警样式
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_stop_normal))
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_severe_warning))
}
1,2,3->{
//中度预警样式
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_reduce_normal))
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_moderate_warning))
}
4,5->{
//轻度预警样式
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_normal))
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_mild_warning))
}
}
receiveFaultLevel.forEach {level->
@@ -248,7 +247,7 @@ class MsgBoxTabAdapter(private val activity: Activity) :
}else{
holder.tvFmAction.text = "建议操作:暂无"
//轻度预警样式
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_normal))
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_mild_warning))
}
}
//故障策略
@@ -342,18 +341,18 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|| reportEntity.resultList.contains(RESULT_REMOTEPILOT_DISABLE)
) {
//Error
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_error_normal))
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_error))
holder.tvReportLevel.text = "Error"
} else if(reportEntity.resultList.contains(RESULT_AUTOPILOT_INFERIOR)
|| reportEntity.resultList.contains(RESULT_SHOW_WARNING)
|| reportEntity.resultList.contains(RESULT_REMOTEPILOT_INFERIOR)
){
//Warning
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_warning_normal))
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_warning))
holder.tvReportLevel.text = "Warning"
}else {
//INFO
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_info_normal))
holder.ivReportImage.setImageDrawable(getDrawable(R.drawable.icon_report_info))
holder.tvReportLevel.text = "Info"
}
@@ -499,11 +498,6 @@ class MsgBoxTabAdapter(private val activity: Activity) :
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
holder.tvV2XContent.text = v2XMsg.content
holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
if(v2XMsg.type== EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.poiType||v2XMsg.type == EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.poiType){
holder.itemView.setBackgroundResource(R.drawable.bg_temp_v2x_success)
}else{
holder.itemView.setBackgroundResource(R.drawable.bg_msg_box_v2x)
}
if(v2XMsg.communicationType.isNullOrEmpty()){
holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}else{

View File

@@ -12,6 +12,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.module.status.IMogoStatusChangedListener;
import com.mogo.commons.module.status.MogoStatusManager;
import com.mogo.commons.module.status.StatusDescriptor;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.PermissionUtils;
@@ -21,14 +24,22 @@ import com.mogo.eagle.core.utilcode.util.PermissionUtils;
*
* @author tongchenfei
*/
public class BaseFloatDialog extends Dialog {
public class BaseFloatDialog extends Dialog implements IMogoStatusChangedListener {
private static final String TAG = "BaseFloatDialog";
private static String REGISTER_TAG = "";
public BaseFloatDialog(@NonNull Context context) {
this(context, R.style.BaseFloatDialogStyle);
}
public BaseFloatDialog(@NonNull Context context, String tag) {
this(context, R.style.BaseFloatDialogStyle);
REGISTER_TAG = TAG + "_" + tag;
MogoStatusManager.getInstance().registerStatusChangedListener(REGISTER_TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, this);
}
public BaseFloatDialog(@NonNull Context context, int themeResId) {
super(context, themeResId);
if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD) {
@@ -61,6 +72,7 @@ public class BaseFloatDialog extends Dialog {
@Override
public void dismiss() {
CallerLogger.d( TAG, "onDismiss====");
MogoStatusManager.getInstance().unregisterStatusChangedListener(REGISTER_TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, this);
super.dismiss();
}
private void setWindowSize(){
@@ -76,4 +88,11 @@ public class BaseFloatDialog extends Dialog {
}
getWindow().setAttributes(attributes);
}
@Override
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
if(descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND && isTrue){
dismiss();
}
}
}

View File

@@ -16,7 +16,6 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.ui.widget.TypefaceTextView
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
/**
* 融合红绿灯变灯提示
@@ -32,7 +31,7 @@ class TrafficLightPromptView @JvmOverloads constructor(
private const val TAG = "TrafficLightPromptView"
}
private var user = 0 //使用方driver:0 passenger:1
private var user = 0 //使用方driver:0 passenger taxi:1 passenger bus:2
private var tvPromptTitle: TextView ?= null
private var tvPromptContent: TextView ?= null
private var tvTrafficNum: TypefaceTextView ?= null
@@ -91,11 +90,21 @@ class TrafficLightPromptView @JvmOverloads constructor(
override fun onAttachedToWindow() {
super.onAttachedToWindow()
if(user == 0){
LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt, this, true)
tvPromptTitle = findViewById(R.id.tvPromptTitle)
}else{
LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt_p, this, true)
when (user) {
0 -> {
//司机端
LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt, this, true)
tvPromptTitle = findViewById(R.id.tvPromptTitle)
}
1 -> {
//TAXI乘客端
LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt_p_taxi, this, true)
}
else -> {
//BUS乘客端
LayoutInflater.from(context).inflate(R.layout.view_traffic_light_prompt_p_bus, this, true)
tvPromptTitle = findViewById(R.id.tvPromptTitle)
}
}
tvPromptContent = findViewById(R.id.tvPromptContent)
tvTrafficNum = findViewById(R.id.tvTrafficNum)
@@ -163,12 +172,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
msg.obj = currentDuration
mLightHandler.sendMessageDelayed(msg,200)
}
if(user == 0){
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green))
}else{
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p))
when (user) {
0 -> {
//司机端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green))
}
1 -> {
//TAXI乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p))
}
else -> {
//BUS乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p_bus))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_green_p_bus))
}
}
}
TrafficLightEnum.RED->{
@@ -179,12 +198,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
msg.obj = currentDuration
mLightHandler.sendMessageDelayed(msg,200)
}
if(user == 0){
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red))
}else{
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p))
when (user) {
0 -> {
//司机端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red))
}
1 -> {
//TAXI乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p))
}
else -> {
//BUS乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p_bus))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_red_p_bus))
}
}
}
TrafficLightEnum.YELLOW->{
@@ -195,12 +224,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
msg.obj = currentDuration
mLightHandler.sendMessageDelayed(msg,200)
}
if(user == 0){
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow))
}else{
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p))
when (user) {
0 -> {
//司机端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow))
}
1 -> {
//TAXI乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p))
}
else -> {
//BUS乘客端
tvTrafficNum?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p_bus))
tvTrafficNumDecimal?.setTextColor(ContextCompat.getColor(context,R.color.light_prompt_yellow_p_bus))
}
}
}
TrafficLightEnum.BLACK->{
@@ -218,33 +257,57 @@ class TrafficLightPromptView @JvmOverloads constructor(
}
when(nextState){
TrafficLightEnum.GREEN->{
if(user == 0){
//司机端提示
tvPromptTitle?.text = "即将绿灯"
tvPromptContent?.text = "请准备出发"
}else{
//乘客端提示
tvPromptContent?.text = "即将绿灯,请准备出发"
when (user) {
0 -> {
//司机端提示
tvPromptTitle?.text = "即将绿灯"
tvPromptContent?.text = "请准备出发"
}
1 -> {
//TAXI乘客端提示
tvPromptContent?.text = "即将绿灯,请准备出发"
}
else -> {
//BUS乘客端提示
tvPromptTitle?.text = "即将绿灯"
tvPromptContent?.text = "请准备出发"
}
}
}
TrafficLightEnum.RED->{
if(user == 0){
//司机端提示
tvPromptTitle?.text = "即将红灯"
tvPromptContent?.text = "请减速慢行"
}else{
//乘客端提示
tvPromptContent?.text = "即将红灯,请减速慢行"
when (user) {
0 -> {
//司机端提示
tvPromptTitle?.text = "即将红灯"
tvPromptContent?.text = "请减速慢行"
}
1 -> {
//TAXI乘客端提示
tvPromptContent?.text = "即将红灯,请减速慢行"
}
else -> {
//BUS乘客端提示
tvPromptTitle?.text = "即将红灯"
tvPromptContent?.text = "请减速慢行"
}
}
}
TrafficLightEnum.YELLOW->{
if(user == 0){
//司机端提示
tvPromptTitle?.text = "即将黄灯"
tvPromptContent?.text = "请减速慢行"
}else{
//乘客端提示
tvPromptContent?.text = "即将红灯,请减速慢行"
when (user) {
0 -> {
//司机端提示
tvPromptTitle?.text = "即将黄灯"
tvPromptContent?.text = "请减速慢行"
}
1 -> {
//TAXI乘客端提示
tvPromptContent?.text = "即将红灯,请减速慢行"
}
else -> {
//BUS乘客端提示
tvPromptTitle?.text = "即将黄灯"
tvPromptContent?.text = "请减速慢行"
}
}
}
TrafficLightEnum.BLACK->{

View File

@@ -652,8 +652,6 @@ class OperatePanelLayout : LinearLayout {
class BusinessPreferenceFragmentCompat : OperatePanelDetailBase() {
companion object {
private const val KEY_RED_OR_GREEN_LIGHT_MARKER = "red_or_green_light_marker"
private const val KEY_RED_OR_GREEN_LIGHT_MERGE_MARKER = "red_or_green_light_merge_marker"
private const val KEY_FAULT_REPORT_TIP = "fault_report_tip"
private const val KEY_LIMIT_SPEED_MARKER = "limit_speed_marker"
private const val KEY_WEATHER_EFFECT_SWITCH = "weather_effect_switch"
@@ -666,12 +664,6 @@ class OperatePanelLayout : LinearLayout {
override fun getDefaultVal(pref: Preference): Any? {
when (pref.key) {
KEY_RED_OR_GREEN_LIGHT_MARKER -> {
return HmiBuildConfig.isShowTrafficLightView
}
KEY_RED_OR_GREEN_LIGHT_MERGE_MARKER -> {
return HmiBuildConfig.isShowCarSourceTrafficLightView
}
KEY_FAULT_REPORT_TIP -> {
return FunctionBuildConfig.isReportWarning
}
@@ -748,25 +740,6 @@ class OperatePanelLayout : LinearLayout {
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
when (preference.key) {
KEY_RED_OR_GREEN_LIGHT_MARKER -> {
val isChecked = newValue as? Boolean ?: false
hmiAction("SOP 红绿灯标识开关, ", isChecked)
HmiBuildConfig.isShowTrafficLightView = isChecked
clickEventAnalytics("红绿灯标识", isChecked)
if (isChecked) {
CallerHmiManager.showTrafficLightView()
} else {
CallerHmiManager.hideTrafficLightView()
}
return true
}
KEY_RED_OR_GREEN_LIGHT_MERGE_MARKER -> {
val isChecked = newValue as? Boolean ?: false
hmiAction("SOP 红绿灯车端来源标识开关, ", isChecked)
clickEventAnalytics("红绿灯车端融合标识", isChecked)
HmiBuildConfig.isShowCarSourceTrafficLightView = isChecked
return true
}
KEY_FAULT_REPORT_TIP -> {
val isChecked = newValue as? Boolean ?: false
hmiAction("SOP 是否开启异常上报, ", isChecked)

View File

@@ -58,7 +58,6 @@ import kotlinx.android.synthetic.main.view_sop_setting.view.rbThirty
import kotlinx.android.synthetic.main.view_sop_setting.view.rgFusionMode
import kotlinx.android.synthetic.main.view_sop_setting.view.rgPullTime
import kotlinx.android.synthetic.main.view_sop_setting.view.scCarAperture
import kotlinx.android.synthetic.main.view_sop_setting.view.scCarUnionTrafficLight
import kotlinx.android.synthetic.main.view_sop_setting.view.scConnectionSwitch
import kotlinx.android.synthetic.main.view_sop_setting.view.scDemoMode
import kotlinx.android.synthetic.main.view_sop_setting.view.scDrawPointCloudData
@@ -83,7 +82,6 @@ import kotlinx.android.synthetic.main.view_sop_setting.view.scShowBagRecordWindo
import kotlinx.android.synthetic.main.view_sop_setting.view.scSpeedLimit
import kotlinx.android.synthetic.main.view_sop_setting.view.scSweeperModeSwitch
import kotlinx.android.synthetic.main.view_sop_setting.view.scTakeOverRemind
import kotlinx.android.synthetic.main.view_sop_setting.view.scTrafficLight
import kotlinx.android.synthetic.main.view_sop_setting.view.scV2ISwitch
import kotlinx.android.synthetic.main.view_sop_setting.view.scV2NSwitch
import kotlinx.android.synthetic.main.view_sop_setting.view.scV2XSwitch
@@ -718,26 +716,6 @@ internal class SOPSettingView @JvmOverloads constructor(
* 其他类别开关设置
*/
private fun otherSetting() {
//红绿灯标识开关
scTrafficLight.isChecked = !HmiBuildConfig.isShowTrafficLightView
scTrafficLight.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 红绿灯标识开关, ", isChecked)
clickEventAnalytics("红绿灯标识",isChecked)
if (isChecked) {
CallerHmiManager.showTrafficLightView()
} else {
CallerHmiManager.hideTrafficLightView()
}
}
//红绿灯车端来源标识开关
scCarUnionTrafficLight.isChecked = HmiBuildConfig.isShowCarSourceTrafficLightView
scCarUnionTrafficLight.setOnCheckedChangeListener { _, isChecked ->
hmiAction("SOP 红绿灯车端来源标识开关, ", isChecked)
clickEventAnalytics("红绿灯车端融合标识",isChecked)
HmiBuildConfig.isShowCarSourceTrafficLightView = isChecked
}
//系统启动状态展示
scConnectionSwitch.isChecked = HmiBuildConfig.isShowConnectionProgressView
scConnectionSwitch.setOnCheckedChangeListener { _, isChecked ->

View File

@@ -15,9 +15,10 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
* @since: 2022/1/13
*/
class AdUpgradeDialog(context: Context, images: List<String>, padSn: String, releaseId: String) :
BaseFloatDialog(context), LifecycleObserver {
BaseFloatDialog(context,TAG), LifecycleObserver {
companion object {
private const val TAG = "AdUpgradeDialog"
private var adUpgradeDialog: AdUpgradeDialog? = null
fun show(context: Context?, images: List<String>, padSn: String, releaseId: String) {

View File

@@ -11,7 +11,7 @@ import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
* @description 重启自动驾驶docker确认对话框
* @since: 2022/2/17
*/
class DockerRebootDialog(context: Context): BaseFloatDialog(context), LifecycleObserver {
class DockerRebootDialog(context: Context): BaseFloatDialog(context, "DockerReboot"), LifecycleObserver {
private var rebootConfirm : TextView? = null
private var rebootCancel : TextView? = null

View File

@@ -16,7 +16,7 @@ import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
* @brief 修改车辆对话框
* @author lixiaopeng
*/
class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver {
class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context, TAG), LifecycleObserver {
companion object {
private const val TAG = "ModifyBindingCarDialog"

View File

@@ -22,7 +22,7 @@ import me.jessyan.autosize.utils.AutoSizeUtils
/**
* 离线地图缓存
*/
class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
class OfflineMapDialog(context: Context) : BaseFloatDialog(context, TAG) {
companion object {
private const val TAG = "OfflineMapDialog"

View File

@@ -17,7 +17,7 @@ import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
* @brief 绑定车辆对话框
* @author lixiaopeng
*/
class ToBindingCarDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver {
class ToBindingCarDialog(context: Context) : BaseFloatDialog(context, TAG), LifecycleObserver {
companion object {
private const val TAG = "ToBindingCarDialog"

View File

@@ -19,7 +19,7 @@ import java.lang.ref.WeakReference
* @brief APP升级提示弹框
* @author lixiaopeng
*/
class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleObserver {
class UpgradeAppDialog(context: Context) : BaseFloatDialog(context,TAG), LifecycleObserver {
companion object{
private const val TAG = "UpgradeAppDialog"

View File

@@ -120,9 +120,7 @@ class SingleTrafficLightView @JvmOverloads constructor(
UiThreadHandler.post {
CallerLogger.d("$M_HMI$TAG","update checkLightId:$checkLightId, lightSource: $lightSource")
mCurrentLightId = checkLightId
if (!HmiBuildConfig.isShowTrafficLightView) {
updateTrafficLightIcon(checkLightId, lightSource)
}
updateTrafficLightIcon(checkLightId, lightSource)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -16,7 +16,7 @@
android:textSize="@dimen/dp_45"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_upgrade_tips"

View File

@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/clV2XLayout"
android:layout_width="match_parent"
android:layout_width="@dimen/dp_694"
android:layout_height="wrap_content"
android:minHeight="@dimen/dp_180"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_msg_box_toast"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginBottom="@dimen/dp_7"
>
<ImageView
@@ -25,13 +22,12 @@
android:id="@+id/tvV2XTitle"
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/ivV2XImage"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/ivV2XImage"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginStart="@dimen/dp_20"
android:textColor="#FFFFFFFF"
android:textSize="@dimen/sp_40"
android:textStyle="bold"
/>
<TextView
@@ -43,8 +39,7 @@
app:layout_constraintRight_toRightOf="parent"
android:textColor="@color/white"
android:textSize="@dimen/sp_32"
android:layout_marginTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_30"
android:layout_marginTop="@dimen/dp_6"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -2,17 +2,19 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/dp_26">
<!--故障级别图标-->
<ImageView
android:id="@+id/ivFmImage"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_120"
android:layout_width="@dimen/dp_152"
android:layout_height="@dimen/dp_152"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_14"
android:contentDescription="@string/fm_icon"
android:src="@drawable/icon_fm_mild_warning"
/>
<!--标题展示故障策略-->
@@ -20,10 +22,11 @@
android:id="@+id/tvFmTitle"
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/ivFmImage"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/ivFmImage"
app:layout_constraintRight_toLeftOf="@id/tvFmShowStatus"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_14"
android:layout_marginTop="@dimen/dp_26"
android:textSize="@dimen/sp_38"
android:textColor="@color/white"
/>
@@ -54,6 +57,7 @@
app:layout_constraintRight_toRightOf="@id/tvFmShowStatus"
android:textColor="#CCCCCC"
android:textSize="@dimen/sp_32"
android:layout_marginTop="@dimen/dp_6"
/>
<!--建议操作-->
@@ -66,6 +70,7 @@
app:layout_constraintRight_toRightOf="@id/tvFmShowStatus"
android:textColor="#CCCCCC"
android:textSize="@dimen/sp_32"
android:layout_marginTop="@dimen/dp_6"
/>
<!--故障策略-->
@@ -79,6 +84,7 @@
android:textColor="#CCCCCC"
android:textSize="@dimen/sp_32"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
<!--故障原因-->
@@ -92,6 +98,7 @@
android:textColor="#CCCCCC"
android:textSize="@dimen/sp_32"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
<!--后果-->
@@ -102,10 +109,10 @@
app:layout_constraintTop_toBottomOf="@id/tvFmReason"
app:layout_constraintLeft_toLeftOf="@id/tvFmReason"
app:layout_constraintRight_toRightOf="@id/tvFmShowStatus"
android:paddingBottom="@dimen/dp_30"
android:textColor="#CCCCCC"
android:textSize="@dimen/sp_32"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -2,15 +2,16 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingBottom="@dimen/dp_26">
<ImageView
android:id="@+id/ivReportImage"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_120"
android:layout_width="@dimen/dp_152"
android:layout_height="@dimen/dp_152"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_14"
android:contentDescription="@string/report_icon"
/>
@@ -18,12 +19,13 @@
android:id="@+id/tvReportLevel"
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/ivReportImage"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/ivReportImage"
app:layout_constraintRight_toLeftOf="@id/tvReportShowStatus"
android:textColor="@color/white"
android:textSize="@dimen/sp_38"
android:layout_marginStart="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_14"
android:layout_marginTop="@dimen/dp_26"
/>
<TextView
@@ -35,6 +37,7 @@
app:layout_constraintRight_toRightOf="@id/tvReportShowStatus"
android:textSize="@dimen/sp_32"
android:textColor="#CCCCCC"
android:layout_marginTop="@dimen/dp_6"
/>
<TextView
@@ -46,6 +49,7 @@
app:layout_constraintRight_toRightOf="@id/tvReportShowStatus"
android:textSize="@dimen/sp_32"
android:textColor="#CCCCCC"
android:layout_marginTop="@dimen/dp_6"
/>
<TextView
@@ -58,6 +62,7 @@
android:textSize="@dimen/sp_32"
android:textColor="#CCCCCC"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
<TextView
@@ -70,6 +75,7 @@
android:textSize="@dimen/sp_32"
android:textColor="#CCCCCC"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
<TextView
@@ -79,10 +85,10 @@
app:layout_constraintTop_toBottomOf="@id/tvReportSrc"
app:layout_constraintLeft_toLeftOf="@id/tvReportSrc"
app:layout_constraintRight_toRightOf="@id/tvReportShowStatus"
android:paddingBottom="@dimen/dp_30"
android:textSize="@dimen/sp_32"
android:textColor="#CCCCCC"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_6"
/>
<TextView
@@ -96,7 +102,6 @@
android:textSize="@dimen/sp_32"
android:textColor="#2EACFF"
android:paddingTop="@dimen/dp_20"
android:paddingBottom="@dimen/dp_20"
android:paddingLeft="@dimen/dp_30"
/>

View File

@@ -7,7 +7,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvBubbleList"
android:layout_width="@dimen/dp_654"
android:layout_width="@dimen/dp_694"
android:layout_height="wrap_content"
/>

View File

@@ -28,7 +28,7 @@
<com.mogo.eagle.core.function.hmi.bone.tab.FaultReasonView
android:id="@+id/faultReasonView"
android:layout_width="@dimen/dp_960"
android:layout_height="@dimen/dp_1137"
android:layout_height="@dimen/dp_1214"
android:layout_marginStart="@dimen/dp_40"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
@@ -39,7 +39,7 @@
<com.mogo.eagle.core.function.hmi.bone.tab.WorkOrderView
android:id="@+id/workOrderView"
android:layout_width="@dimen/dp_960"
android:layout_height="@dimen/dp_1137"
android:layout_height="@dimen/dp_1214"
android:layout_marginStart="@dimen/dp_40"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"

View File

@@ -34,13 +34,11 @@
android:id="@+id/tvFaultTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fault_open_time"
android:textColor="@color/white"
android:textSize="@dimen/sp_32"
app:layout_constraintTop_toTopOf="@id/tvFaultTitle"
app:layout_constraintBottom_toBottomOf="@id/tvFaultTitle"
app:layout_constraintEnd_toEndOf="@id/viewTitleBg"
android:layout_marginEnd="@dimen/dp_30"
app:layout_constraintRight_toRightOf="@id/tvFaultType"
/>
<View
@@ -275,7 +273,7 @@
app:layout_constraintLeft_toLeftOf="@id/etNoteInput"
app:layout_constraintTop_toBottomOf="@id/etNoteInput"
android:layout_marginTop="@dimen/dp_39"
android:background="@drawable/bg_fault_report"
android:background="@drawable/bg_work_order"
android:text="@string/fault_report"
android:textColor="#FFFFFF"
android:textSize="@dimen/sp_32"

View File

@@ -135,8 +135,8 @@
<com.mogo.eagle.core.function.hmi.ui.msgbox.MsgBoxToastView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_53"
android:layout_marginEnd="@dimen/dp_60"
android:layout_marginTop="@dimen/dp_39"
android:layout_marginEnd="@dimen/dp_23"
android:focusable="false"
android:focusableInTouchMode="false"
app:layout_constraintRight_toRightOf="parent"
@@ -161,7 +161,7 @@
android:layout_width="@dimen/dp_654"
android:layout_height="@dimen/dp_790"
android:layout_marginTop="@dimen/dp_39"
android:layout_marginEnd="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_19"
android:visibility="gone"
android:focusable="false"
android:focusableInTouchMode="false"

View File

@@ -88,7 +88,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginStart="@dimen/dp_66"
android:layout_marginEnd="@dimen/dp_66"
android:layout_marginBottom="@dimen/dp_216"

View File

@@ -727,31 +727,6 @@
app:layout_constraintLeft_toLeftOf="@id/tvOtherTitle"
app:layout_constraintRight_toRightOf="parent" />
<!--红绿灯标识-->
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/scTrafficLight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:scaleX="1.2"
android:scaleY="1.2"
android:text="红绿灯标识"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="@id/otherGuideLine"
app:layout_constraintTop_toBottomOf="@id/tvOtherTitle" />
<!--红绿灯新链路 车端融合标识-->
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/scCarUnionTrafficLight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:scaleX="1.2"
android:scaleY="1.2"
android:text="红绿灯车端融合标识"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toRightOf="@id/otherGuideLine"
app:layout_constraintTop_toBottomOf="@id/tvOtherTitle" />
<!--限速标识-->
<androidx.appcompat.widget.SwitchCompat
@@ -764,7 +739,7 @@
android:text="限速标识"
app:layout_constraintLeft_toRightOf="@id/otherGuideLine"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/scCarUnionTrafficLight" />
app:layout_constraintTop_toBottomOf="@id/tvOtherTitle" />
<!--异常上报提示-->
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/scIPCReport"
@@ -776,7 +751,7 @@
android:text="异常上报提示"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="@id/otherGuideLine"
app:layout_constraintTop_toBottomOf="@id/scTrafficLight" />
app:layout_constraintTop_toBottomOf="@id/tvOtherTitle" />
<!--360环视-->
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/scNew360LookAround"

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/dp_396"
android:layout_height="@dimen/dp_183"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_light_prompt_bus_p">
<TextView
android:id="@+id/tvPromptTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:textColor="#203555"
android:textSize="@dimen/sp_28"
android:layout_marginTop="@dimen/dp_55"
android:layout_marginStart="@dimen/dp_70"
/>
<TextView
android:id="@+id/tvPromptContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvPromptTitle"
app:layout_constraintLeft_toLeftOf="@id/tvPromptTitle"
android:textSize="@dimen/sp_28"
android:textColor="#203555"
/>
<com.mogo.eagle.core.function.hmi.ui.widget.TypefaceTextView
android:id="@+id/tvTrafficNum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/tvPromptContent"
android:textSize="@dimen/sp_90"
android:layout_marginStart="@dimen/dp_30"
app:textType="DS_DIGIB_2"
android:layout_marginTop="@dimen/dp_20"
/>
<com.mogo.eagle.core.function.hmi.ui.widget.TypefaceTextView
android:id="@+id/tvTrafficNumDecimal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@id/tvPromptContent"
app:layout_constraintLeft_toRightOf="@id/tvTrafficNum"
android:layout_marginStart="@dimen/dp_2"
android:textSize="@dimen/sp_50"
app:textType="DS_DIGIB_2"
android:layout_marginBottom="@dimen/dp_m_2"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -23,12 +23,12 @@
android:layout_height="wrap_content"
android:text="@string/fault_reason"
android:textSize="@dimen/sp_40"
android:textColor="#CCFFFFFF"
android:textColor="@color/white"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="@id/view_title_bg"
app:layout_constraintBottom_toBottomOf="@id/view_title_bg"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/view_title_bg"
android:layout_marginStart="@dimen/dp_32"
android:layout_marginTop="@dimen/dp_55"
/>
<TextView
@@ -38,10 +38,9 @@
android:text="@string/fault_open_time"
android:textColor="@color/white"
android:textSize="@dimen/sp_32"
app:layout_constraintTop_toTopOf="@id/view_title_bg"
app:layout_constraintBottom_toBottomOf="@id/view_title_bg"
app:layout_constraintEnd_toEndOf="@id/view_title_bg"
android:layout_marginEnd="@dimen/dp_53"
app:layout_constraintTop_toTopOf="@id/tv_report_title"
app:layout_constraintBottom_toBottomOf="@id/tv_report_title"
app:layout_constraintEnd_toEndOf="@id/wrap_radio_group"
/>
<View
@@ -270,7 +269,7 @@
android:layout_height="@dimen/dp_80"
app:layout_constraintTop_toBottomOf="@id/et_describe_input"
app:layout_constraintLeft_toLeftOf="@id/et_describe_input"
android:background="@drawable/bg_fault_report"
android:background="@drawable/bg_work_order"
android:text="@string/work_order_report"
android:textColor="#FFFFFF"
android:textSize="@dimen/sp_36"

View File

@@ -133,6 +133,7 @@
<attr name="promptUser">
<enum name="driver" value="0"/>
<enum name="passenger" value="1"/>
<enum name="passenger_bus" value="2"/>
</attr>
</declare-styleable>

View File

@@ -84,8 +84,11 @@
<color name="light_prompt_green">#31FF56</color>
<color name="light_prompt_yellow">#FFCD3D</color>
<color name="light_prompt_red_p">#F63C12</color>
<color name="light_prompt_red_p_bus">#F63C12</color>
<color name="light_prompt_green_p">#36DB1C</color>
<color name="light_prompt_green_p_bus">#1FD74A</color>
<color name="light_prompt_yellow_p">#FDB700</color>
<color name="light_prompt_yellow_p_bus">#FDB400</color>
<color name="auto_exploration_content_p">#131415</color>

View File

@@ -3,18 +3,6 @@
<PreferenceCategory
android:layout="@layout/layout_operate_panel_preference_category_title"
android:title="业务类">
<SwitchPreferenceCompat
android:key="red_or_green_light_marker"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="红绿灯标识"
android:persistent="false"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="red_or_green_light_merge_marker"
android:layout="@layout/layout_operate_panel_preference_switch_compat"
android:title="红绿灯融合标识"
android:persistent="false"
android:widgetLayout="@layout/layout_operate_panel_preference_widget_switch_compat" />
<SwitchPreferenceCompat
android:key="fault_report_tip"
android:layout="@layout/layout_operate_panel_preference_switch_compat"