[3.4.0]消息盒子司机端V2X消息的标题增加来源标识V2I、V2V、V2N

This commit is contained in:
xuxinchao
2023-07-27 11:24:09 +08:00
parent c52d83596e
commit 7e141480b6
19 changed files with 111 additions and 71 deletions

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.*
@@ -78,8 +79,8 @@ class BusPassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerV
val v2XMsg = msgBoxBean.msgBoxBean.bean as V2XMsg
holder.tvBusPV2XTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvBusPV2XContent.text = v2XMsg.content
holder.ivBusPV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivBusPV2XImage.setImageDrawable(
ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.tvBusPV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}
}

View File

@@ -8,6 +8,7 @@ import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -193,12 +194,16 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
val v2XMsg = msgBoxBean.bean as V2XMsg
holder.tvV2XTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvV2XContent.text = v2XMsg.content
holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.clV2XLayout.setOnClickListener {
CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean)
}
holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
if(v2XMsg.communicationType.isNullOrEmpty()){
holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}else{
holder.tvV2XTitle.text = String.format(activity.resources.getString(R.string.v2x_title_content),
v2XMsg.communicationType,EventTypeEnumNew.getEventTitle(v2XMsg.type))
}
}
}
is BubbleSummaryHolder -> {
@@ -231,18 +236,23 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
override fun getItemViewType(position: Int): Int {
return if(data!![position].msgBoxBean.type == MsgBoxType.OPERATION){
if((data!![position].msgBoxBean.bean as OperationMsg).type == 0){
//运营平台还车通知
operationReturn
}else if((data!![position].msgBoxBean.bean as OperationMsg).type == 1){
//运营平台靠边停车
operationStop
}else if((data!![position].msgBoxBean.bean as OperationMsg).type == 3){
//车门开启关闭失败
operationDoorSwitchFail
} else{
//普通运营平台
operation
when ((data!![position].msgBoxBean.bean as OperationMsg).type) {
0 -> {
//运营平台还车通知
operationReturn
}
1 -> {
//运营平台靠边停车
operationStop
}
3 -> {
//车门开启关闭失败
operationDoorSwitchFail
}
else -> {
//普通运营平台
operation
}
}
}else if(data!![position].msgBoxBean.type == MsgBoxType.REPORT){
report
@@ -289,7 +299,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
//Notice
class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage)
var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle)
// var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle)
var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime)
var tvNoticeCheck: TextView = itemView.findViewById(R.id.tvNoticeCheck)
var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent)

View File

@@ -7,6 +7,7 @@ import android.view.View
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
@@ -45,9 +46,9 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
private val summary: Int = 8
//Error
val RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"
val RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"
val RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"
private val RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"
private val RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"
private val RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"
fun setData(data: List<MsgBoxBean>) {
this.data = data
@@ -382,10 +383,13 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
holder.tvV2XTime.text =
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
holder.tvV2XContent.text = v2XMsg.content
holder.ivV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type))
)
holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
if(v2XMsg.communicationType.isNullOrEmpty()){
holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}else{
holder.tvV2XTitle.text = String.format(activity.resources.getString(R.string.v2x_title_content),
v2XMsg.communicationType,EventTypeEnumNew.getEventTitle(v2XMsg.type))
}
}
}
is MsgBoxSummary -> {
@@ -404,18 +408,23 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
override fun getItemViewType(position: Int): Int {
return if (data!![position].type == MsgBoxType.OPERATION) {
if((data!![position].bean as OperationMsg).type == 0){
//运营平台还车通知
operationReturn
}else if((data!![position].bean as OperationMsg).type == 1){
//运营平台靠边停车
operationStop
}else if((data!![position].bean as OperationMsg).type == 3){
//开关门失败
operationDoorSwitchFail
} else{
//普通运营平台
operation
when ((data!![position].bean as OperationMsg).type) {
0 -> {
//运营平台还车通知
operationReturn
}
1 -> {
//运营平台靠边停车
operationStop
}
3 -> {
//开关门失败
operationDoorSwitchFail
}
else -> {
//普通运营平台
operation
}
}
} else if (data!![position].type == MsgBoxType.NOTICE) {
notice
@@ -486,7 +495,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
//Notice
class MsgBoxNotice(itemView: View) : RecyclerView.ViewHolder(itemView) {
var ivNoticeImage: ImageView = itemView.findViewById(R.id.ivNoticeImage)
var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle)
// var tvNoticeTitle: TextView = itemView.findViewById(R.id.tvNoticeTitle)
var tvNoticeTime: TextView = itemView.findViewById(R.id.tvNoticeTime)
var tvNoticeCheck: TextView = itemView.findViewById(R.id.tvNoticeCheck)
var tvNoticeContent: TextView = itemView.findViewById(R.id.tvNoticeContent)

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
import com.mogo.eagle.core.data.msgbox.*
@@ -80,8 +81,7 @@ class MBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter<Re
val v2XMsg = msgBoxBean.msgBoxBean.bean as V2XMsg
holder.tvMV2XTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvMV2XContent.text = v2XMsg.content
holder.ivMV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivMV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.tvMV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}
}
@@ -107,19 +107,23 @@ class MBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter<Re
override fun getItemCount() = data?.size ?: 0
override fun getItemViewType(position: Int): Int {
return if(data!![position].msgBoxBean.type == MsgBoxType.NOTICE){
notice
}else if(data!![position].msgBoxBean.type == MsgBoxType.OPERATION){
operation
} else{
v2x
return when (data!![position].msgBoxBean.type) {
MsgBoxType.NOTICE -> {
notice
}
MsgBoxType.OPERATION -> {
operation
}
else -> {
v2x
}
}
}
//Notice
class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivMNoticeImage: ImageView = itemView.findViewById(R.id.ivMNoticeImage)
var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
// var ivMNoticeImage: ImageView = itemView.findViewById(R.id.ivMNoticeImage)
// var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
var tvMNoticeContent: TextView = itemView.findViewById(R.id.tvMNoticeContent)
var tvMNoticeTime: TextView = itemView.findViewById(R.id.tvMNoticeTime)
}

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -105,8 +106,7 @@ class MMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter
val v2XMsg = msgBoxBean.bean as V2XMsg
holder.tvMV2XTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
holder.tvMV2XContent.text = v2XMsg.content
holder.ivMV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivMV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.clMVeXLayout.setOnClickListener {
CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean)
}
@@ -168,7 +168,7 @@ class MMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView.Adapter
//Notice
class BubbleNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivMNoticeImage: ImageView = itemView.findViewById(R.id.ivMNoticeImage)
var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
// var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
var tvMNoticeContent: TextView = itemView.findViewById(R.id.tvMNoticeContent)
var tvMNoticeCheck: TextView = itemView.findViewById(R.id.tvMNoticeCheck)
var tvMNoticeTime: TextView = itemView.findViewById(R.id.tvMNoticeTime)

View File

@@ -6,6 +6,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -98,8 +99,7 @@ class MMsgBoxListAdapter(private val activity: Activity): RecyclerView.Adapter<R
val v2XMsg = msgBoxBean.bean as V2XMsg
holder.tvMV2XTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
holder.tvMV2XContent.text = v2XMsg.content
holder.ivMV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivMV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.tvMV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}
}
@@ -145,7 +145,7 @@ class MMsgBoxListAdapter(private val activity: Activity): RecyclerView.Adapter<R
//Notice
class ListNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivMNoticeImage: ImageView = itemView.findViewById(R.id.ivMNoticeImage)
var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
// var tvMNoticeTitle: TextView = itemView.findViewById(R.id.tvMNoticeTitle)
var tvMNoticeContent: TextView = itemView.findViewById(R.id.tvMNoticeContent)
var tvMNoticeCheck: TextView = itemView.findViewById(R.id.tvMNoticeCheck)
var tvMNoticeTime: TextView = itemView.findViewById(R.id.tvMNoticeTime)

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -89,8 +90,7 @@ class PassengerMsgBoxBubbleAdapter(private val activity: Activity): RecyclerView
val msgBoxBean = it[position].msgBoxBean
val v2XMsg = msgBoxBean.bean as V2XMsg
holder.tvPassengerV2XContent.text = v2XMsg.content
holder.ivPassengerV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivPassengerV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.clPassengerVeXLayout.setOnClickListener {
CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean)
}

View File

@@ -6,6 +6,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.res.ResourcesCompat
import androidx.recyclerview.widget.RecyclerView
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
@@ -95,8 +96,7 @@ class PassengerMsgBoxListAdapter(private val activity: Activity): RecyclerView.A
val v2XMsg = msgBoxBean.bean as V2XMsg
holder.tvPassengerV2XTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
holder.tvPassengerV2XContent.text = v2XMsg.content
holder.ivPassengerV2XImage.setImageDrawable(activity.resources.getDrawable(
EventTypeEnumNew.getUpdateIconRes(v2XMsg.type)))
holder.ivPassengerV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null))
holder.tvPassengerV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type)
}
}
@@ -130,7 +130,7 @@ class PassengerMsgBoxListAdapter(private val activity: Activity): RecyclerView.A
//Notice
class ListNoticeHolder(itemView: View): RecyclerView.ViewHolder(itemView){
var ivPassengerNoticeImage: ImageView = itemView.findViewById(R.id.ivPassengerNoticeImage)
var tvPassengerNoticeTitle: TextView = itemView.findViewById(R.id.tvPassengerNoticeTitle)
// var tvPassengerNoticeTitle: TextView = itemView.findViewById(R.id.tvPassengerNoticeTitle)
var tvPassengerNoticeContent: TextView = itemView.findViewById(R.id.tvPassengerNoticeContent)
var tvPassengerNoticeCheck: TextView = itemView.findViewById(R.id.tvPassengerNoticeCheck)
var tvPassengerNoticeTime: TextView = itemView.findViewById(R.id.tvPassengerNoticeTime)

View File

@@ -80,4 +80,6 @@
<string name="ok_tip">确定</string>
<string name="retry">重试</string>
<string name="hint_exit_app_again">再按一次退出应用</string>
<!--消息盒子V2X消息Title-->
<string name="v2x_title_content">%s-%s</string>
</resources>