Merge branch 'dev_robobus-d_230413_3.1.0' into dev_robobus-p_230413_2.1.0

# Conflicts:
#	OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2DrivingInfoFragment.kt
This commit is contained in:
yangyakun
2023-04-17 15:16:03 +08:00
11 changed files with 95 additions and 52 deletions

View File

@@ -15,4 +15,5 @@ interface DrivingInfoCallback {
fun showNoTaskView(isTrue : Boolean)
fun updateLineStations(stations: MutableList<BusStationBean>)
fun updateStationsInfo(stations: MutableList<BusStationBean>, i: Int, isArrived: Boolean)
fun clearCustomPolyline()
}

View File

@@ -421,6 +421,12 @@ class PM2DrivingModel private constructor() {
updateLocalOrder()
return
}
if (routesResult != null && routesResult!!.lineId != result.lineId){
d(SceneConstant.M_BUS_P+TAG, "lineId change= clearCustomPolyline")
mDrivingInfoCallback?.clearCustomPolyline()
}
d(SceneConstant.M_BUS_P+TAG, "queryDriverSiteByCoordinate= update")
routesResult = result

View File

@@ -116,6 +116,12 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) :
}
}
override fun clearCustomPolyline() {
ThreadUtils.runOnUiThread {
mView?.clearCustomPolyline()
}
}
override fun updateAutoStatus(isOpen: Boolean) {
ThreadUtils.runOnUiThread {
mView?.updateAutoStatus(isOpen)
@@ -125,4 +131,6 @@ class PM2DrivingPresenter(view: PM2DrivingInfoFragment?) :
override fun updateAutoStatus(status: Int) {
}
}

View File

@@ -28,8 +28,6 @@ import kotlin.math.roundToInt
class PM2DrivingInfoFragment :
MvpFragment<PM2DrivingInfoFragment?, PM2DrivingPresenter?>() {
// private var timeHandler: TimeHandler? = null
/**
* 改变自动驾驶状态
*
@@ -108,7 +106,6 @@ class PM2DrivingInfoFragment :
}
override fun onDestroy() {
// timeHandler?.removeCallbacksAndMessages(null)
super.onDestroy()
overMapView?.let{
it.onDestroy()
@@ -142,9 +139,7 @@ class PM2DrivingInfoFragment :
}
private fun setLineInfoView(isShow: Boolean){
if (isShow){
}else{
if (!isShow){
updateNoOrderUI()
}
}
@@ -155,11 +150,14 @@ class PM2DrivingInfoFragment :
overMapView?.let {
it.clearSiteMarkers()
}
clearCustomPolyline()
}
fun clearCustomPolyline(){
overMapView?.let {
it.clearCustomPolyline()
}
}
private fun updateNoStationView(){
station_name_tv.setTextColor(resources.getColor(R.color.m2_next_tv_color))
station_name_tv.text = resources.getString(R.string.m2_p_empty_tv)
@@ -246,6 +244,7 @@ class PM2DrivingInfoFragment :
clg_distance_left_time.visibility = View.GONE
// 到达站点
tv_arrived_notice.visibility = View.GONE
iv_animal_list.visibility = View.GONE
}
// 有线路正在到站点
@@ -257,7 +256,7 @@ class PM2DrivingInfoFragment :
iv_animal_list.visibility = View.GONE
}
// 有线路到达站点
fun haveLineAndArrivedStation(){
private fun haveLineAndArrivedStation(){
group_not_select_line.visibility = View.GONE
group_stationinfo.visibility = View.VISIBLE
clg_distance_left_time.visibility = View.GONE
@@ -269,6 +268,5 @@ class PM2DrivingInfoFragment :
companion object {
private val TAG = PM2DrivingInfoFragment::class.java.simpleName
const val LOOP_TIME_TEXT = 10 * 1000L
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 193 KiB

View File

@@ -12,7 +12,7 @@
android:layout_height="match_parent"
app:carDrawable="@drawable/m2_map_car_icon"
app:endPointDrawable="@drawable/m2_map_end_icon"
app:isClearArrived="true"
app:isClearArrived="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_percent="0.6"
app:mapStyleExtraPath="@string/m2_over_map_style_extra_path"
@@ -24,6 +24,8 @@
app:unArrivedDrawable="@drawable/m2_amap_arriving_road"
app:mapTilt="0"
app:leftPadding="200"
app:topPadding="150"
app:bottomPadding="50"
app:startPointDrawable="@drawable/m2_map_start_icon" />
<ImageView
@@ -286,15 +288,15 @@
app:layout_constraintBottom_toBottomOf="parent" />
<!-- 转向灯 IMoGoChassisLamplightListener-->
<!-- <com.mogo.och.bus.passenger.ui.widget.M2TurnLightView-->
<!-- android:id="@+id/turn_light_view"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="@dimen/dp_12"-->
<!-- app:day_light_mode="true"-->
<!-- app:layout_constraintLeft_toRightOf="@+id/auto_tv"-->
<!-- app:layout_constraintTop_toTopOf="@+id/auto_tv"-->
<!-- app:visible="false" />-->
<com.mogo.och.bus.passenger.ui.widget.M2TurnLightView
android:id="@+id/turn_light_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_12"
app:day_light_mode="true"
app:layout_constraintLeft_toRightOf="@+id/auto_tv"
app:layout_constraintTop_toTopOf="@+id/auto_tv"
app:visible="false" />
<!-- 红绿灯-->
<!-- <com.mogo.och.bus.passenger.ui.widget.M2PTrafficLightView-->

View File

@@ -75,12 +75,14 @@
<!--pnc行为决策-->
<com.mogo.eagle.core.function.hmi.ui.vehicle.PncActionsView
android:id="@+id/pnc_actions_view"
android:layout_width="@dimen/dp_231"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_36"
app:layout_constraintBottom_toTopOf="@+id/video_fragment"
android:layout_marginBottom="@dimen/dp_25"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:pnc_size="@dimen/dp_18"
app:pnc_top_margin="@dimen/dp_0"
app:background_resource="@drawable/bg_pnc" />
<!-- 图片或视频广告-->

View File

@@ -44,8 +44,8 @@ class PncActionsView @JvmOverloads constructor(
private var mAutoPilotStatusInfo: AutopilotStatusInfo? = null
private val bgResources: Int
private val topMargin: Int
private val txtSize: Int
private val topMargin: Float
private val txtSize: Float
init {
LayoutInflater.from(context).inflate(R.layout.view_pnc_actions, this, true)
@@ -54,20 +54,20 @@ class PncActionsView @JvmOverloads constructor(
R.styleable.PncActionsView_background_resource,
R.drawable.pnc_actions_bg
)
topMargin = a.getResourceId(
topMargin = a.getDimension(
R.styleable.PncActionsView_pnc_top_margin,
resources.getDimension(R.dimen.dp_30).toInt()
resources.getDimension(R.dimen.dp_30)
)
txtSize = a.getResourceId(
txtSize = a.getDimension(
R.styleable.PncActionsView_pnc_size,
resources.getDimension(R.dimen.dp_34).toInt()
resources.getDimension(R.dimen.dp_34)
)
a.recycle()
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
(tvHmiPncActions.layoutParams as MarginLayoutParams).topMargin = topMargin
(tvHmiPncActions.layoutParams as MarginLayoutParams).topMargin = topMargin.toInt()
tvHmiPncActions.setTextSize(COMPLEX_UNIT_PX, txtSize.toFloat())
CallerAutoPilotStatusListenerManager.addListener(TAG, this)

View File

@@ -2,9 +2,11 @@ package com.mogo.eagle.core.function.hmi.ui.vehicle
import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
@@ -31,6 +33,10 @@ class TakeOverView @JvmOverloads constructor(
const val TAG = "TakeOverView"
}
private var autopilotStatus: Int = 0 //自动驾驶状态 0代表不可自动驾驶,1代表可自动驾驶,2代表自动驾驶中,7:平行驾驶中
private var isParallel: Boolean = false //是否是平行驾驶
init {
LayoutInflater.from(context).inflate(R.layout.view_take_over, this, true)
}
@@ -42,6 +48,21 @@ class TakeOverView @JvmOverloads constructor(
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
}
/**
* 自动驾驶状态信息
*
* @param autoPilotStatusInfo 状态信息
*/
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
autopilotStatus = autoPilotStatusInfo.state
if(autoPilotStatusInfo.state == 7){
isParallel = true
}else if(autoPilotStatusInfo.state == 2){
isParallel = false
}
Log.i(TAG,"自动驾驶状态${autopilotStatus}")
}
/**
* 工控机监控节点上报
*/
@@ -90,32 +111,37 @@ class TakeOverView @JvmOverloads constructor(
//弱网
MogoReport.Code.Error.EMAP.EPARALLEL_AICLOUD_NETWORK_WEAK,
MogoReport.Code.Error.EMAP.EPARALLEL_AICLOUD_CONNECTION_ERROR -> {
CallerHmiManager.warningV2X(
EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType,
EventTypeEnumNew.NETWORK_WEAK_EVENT.content,
EventTypeEnumNew.NETWORK_WEAK_EVENT.tts,
object : IMoGoWarningStatusListener {
override fun onShow() {
takeOver = true
visibility = View.VISIBLE
//加入消息盒子
saveMsgBox(
MsgBoxBean(
MsgBoxType.V2X, V2XMsg(
EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType,
EventTypeEnumNew.NETWORK_WEAK_EVENT.content,
EventTypeEnumNew.NETWORK_WEAK_EVENT.tts
//如果是平行驾驶状态下,提示弱网接管
Log.i(TAG,"弱网时自动驾驶状态:${autopilotStatus}")
if(autopilotStatus == 7 || isParallel){
CallerHmiManager.warningV2X(
EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType,
EventTypeEnumNew.NETWORK_WEAK_EVENT.content,
EventTypeEnumNew.NETWORK_WEAK_EVENT.tts,
object : IMoGoWarningStatusListener {
override fun onShow() {
takeOver = true
visibility = View.VISIBLE
//加入消息盒子
Log.i(TAG,"弱网时加入消息盒子${EventTypeEnumNew.NETWORK_WEAK_EVENT.content}")
saveMsgBox(
MsgBoxBean(
MsgBoxType.V2X, V2XMsg(
EventTypeEnumNew.NETWORK_WEAK_EVENT.poiType,
EventTypeEnumNew.NETWORK_WEAK_EVENT.content,
EventTypeEnumNew.NETWORK_WEAK_EVENT.tts
)
)
)
)
}
}
override fun onDismiss() {
takeOver = false
visibility = View.GONE
override fun onDismiss() {
takeOver = false
visibility = View.GONE
}
}
}
)
)
}
}
}
}

View File

@@ -76,8 +76,8 @@
<declare-styleable name="PncActionsView">
<attr name="background_resource" format="reference"/>
<attr name="pnc_top_margin" format="reference"/>
<attr name="pnc_size" format="reference"/>
<attr name="pnc_top_margin" format="dimension"/>
<attr name="pnc_size" format="dimension"/>
</declare-styleable>
</resources>

View File

@@ -47,7 +47,7 @@ open class AutopilotStatusInfo : Serializable, Cloneable {
var satelliteTime = 0.0
/**
* 自动驾驶状态 0是不可用 1是ready 2是自动驾驶start
* 自动驾驶状态 0是不可用 1是ready 2是自动驾驶start 7:平行驾驶中
*/
var state = 0