Merge branch 'dev_robotaxi-d_250417_8.0.0' into dev_robotaxi-d_250417_8.0.0_routing

This commit is contained in:
yangyakun
2025-05-29 18:04:29 +08:00
14 changed files with 114 additions and 127 deletions

View File

@@ -15,6 +15,7 @@ import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
import com.mogo.och.bridge.autopilot.callback.OchAdasStartFailureCallback
import com.mogo.och.bridge.autopilot.line.LineManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.data.taxi.BaseOrderBean
import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.unmanned.passenger.bean.TaxiPassengerOrdersInServiceQueryRespBean
@@ -181,7 +182,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
}
fun setItineraryVisibility() {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
when (TaxiPassengerModel.curOrderStatus) {
TaxiOrderStatusEnum.None,
TaxiOrderStatusEnum.OnTheWayToStart,
@@ -200,10 +201,10 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
}
override fun onCurrentOrderDistAndduration(mileage: Float, duration: Float) {
UiThreadHandler.post({
BizLoopManager.runInMainThread({
OchChainLogManager.writeChainLog("到达目的地计算距离和时间","距离:${mileage} 时间:${duration}")
mView?.showDuringAndDistance(mileage*1000,duration)
},UiThreadHandler.MODE.QUEUE)
})
}
companion object {

View File

@@ -18,6 +18,7 @@ import com.mogo.map.listener.IMogoMapListener
import com.mogo.mgintelligent.speech.iflytek.WakeUpManager
import com.mogo.och.common.module.biz.provider.CommonService
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.manager.xiaozhi.ZhiStateManager
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
@@ -266,7 +267,7 @@ class TaxiPassengerBaseFragment :
override fun showOrHideCheckAndStartAutopilotView(status:Int){
UiThreadHandler.post {
BizLoopManager.runInMainThread{
arrivedView.visibility = View.GONE
when (status) {
0 -> {
@@ -364,9 +365,6 @@ class TaxiPassengerBaseFragment :
val allAnimator = mutableListOf<Animator>()
allAnimator.addAll(aniStatusBar(isShow))
allAnimator.addAll(aniBottomBar(isShow))
//allAnimator.addAll(aniSpeedSettingRow(isShow,speedView))
allAnimator.addAll(aniOrderInfo(isShow))
animatorSet.playTogether(allAnimator)
animatorSet.start()
@@ -375,108 +373,88 @@ class TaxiPassengerBaseFragment :
@SuppressLint("ObjectAnimatorBinding")
fun aniStatusBar(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
// val translationYStart: Float
// val translationYEnd: Float
// val alphaStart: Float
// val alphaEnd: Float
// if(show){
// translationYStart = -statusBarView!!.height.toFloat()
// translationYEnd = 0f
// alphaStart = 0.3f
// alphaEnd = 1f
// }else{
// translationYStart = 0f
// translationYEnd = -statusBarView!!.height.toFloat()
// alphaStart = 1f
// alphaEnd = 0.3f
// }
// statusBar.add(ObjectAnimator.ofFloat(statusBarView, "translationY", translationYStart, translationYEnd).apply {
// duration = 1000
// })
// //ofFloatMove.duration = 1000
// statusBar.add( ObjectAnimator.ofFloat(statusBarView, "alpha", alphaStart, alphaEnd).apply {
// duration = 1000
// })
if(show){
translationYStart = -statusBarView!!.height.toFloat()
translationYEnd = 0f
alphaStart = 0.3f
alphaEnd = 1f
statusBarView?.visibility = View.VISIBLE
}else{
translationYStart = 0f
translationYEnd = -statusBarView!!.height.toFloat()
alphaStart = 1f
alphaEnd = 0.3f
statusBarView?.visibility = View.GONE
}
statusBar.add(ObjectAnimator.ofFloat(statusBarView, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
//ofFloatMove.duration = 1000
statusBar.add( ObjectAnimator.ofFloat(statusBarView, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
private fun aniBottomBar(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = bottom!!.height.toFloat()
translationYEnd = 0f
alphaStart = 0.3f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = bottom!!.height.toFloat()
alphaStart = 1f
alphaEnd = 0.3f
}
statusBar.add(ObjectAnimator.ofFloat(bottom, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(bottom, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
// val translationYStart: Float
// val translationYEnd: Float
// val alphaStart: Float
// val alphaEnd: Float
// if(show){
// translationYStart = bottom!!.height.toFloat()
// translationYEnd = 0f
// alphaStart = 0.3f
// alphaEnd = 1f
// }else{
// translationYStart = 0f
// translationYEnd = bottom!!.height.toFloat()
// alphaStart = 1f
// alphaEnd = 0.3f
// }
//
// statusBar.add(ObjectAnimator.ofFloat(bottom, "translationY", translationYStart, translationYEnd).apply {
// duration = 1000
// })
// statusBar.add(ObjectAnimator.ofFloat(bottom, "alpha", alphaStart, alphaEnd).apply {
// duration = 1000
// })
return statusBar
}
private fun aniSpeedSettingRow(show:Boolean,view:View):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = -view.height.toFloat()
translationYEnd = 0f
alphaStart = 0.0f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = -view.height.toFloat()
alphaStart = 1f
alphaEnd = 0.0f
}
statusBar.add(ObjectAnimator.ofFloat(view, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(view, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
return statusBar
}
private fun aniOrderInfo(show:Boolean):List<Animator>{
val statusBar = mutableListOf<Animator>()
val translationYStart: Float
val translationYEnd: Float
val alphaStart: Float
val alphaEnd: Float
if(show){
translationYStart = itinerary.height.toFloat()/5
translationYEnd = 0f
alphaStart = 0.0f
alphaEnd = 1f
}else{
translationYStart = 0f
translationYEnd = itinerary.height.toFloat()/5
alphaStart = 1f
alphaEnd = 0.0f
}
statusBar.add(ObjectAnimator.ofFloat(itinerary, "translationY", translationYStart, translationYEnd).apply {
duration = 1000
})
statusBar.add(ObjectAnimator.ofFloat(itinerary, "alpha", alphaStart, alphaEnd).apply {
duration = 1000
})
// val translationYStart: Float
// val translationYEnd: Float
// val alphaStart: Float
// val alphaEnd: Float
// if(show){
// translationYStart = itinerary.height.toFloat()/5
// translationYEnd = 0f
// alphaStart = 0.0f
// alphaEnd = 1f
// }else{
// translationYStart = 0f
// translationYEnd = itinerary.height.toFloat()/5
// alphaStart = 1f
// alphaEnd = 0.0f
// }
//
// statusBar.add(ObjectAnimator.ofFloat(itinerary, "translationY", translationYStart, translationYEnd).apply {
// duration = 1000
// })
// statusBar.add(ObjectAnimator.ofFloat(itinerary, "alpha", alphaStart, alphaEnd).apply {
// duration = 1000
// })
return statusBar
}

View File

@@ -47,7 +47,7 @@ class AiView @JvmOverloads constructor(
private var viewModel:AIViewModel?=null
private var pncActionsModel:PNCActionsViewModel ?= null
// private var pncActionsModel:PNCActionsViewModel ?= null
private var roadV2NEventModel:RoadV2NEventViewModel ?= null
private var roadCrossRoamModel:RoadCrossRoamViewModel ?= null
private var automaticExplorationModel:AutomaticExplorationViewModel ?= null
@@ -225,10 +225,10 @@ class AiView @JvmOverloads constructor(
ViewModelProvider(it).get(AIViewModel::class.java)
}
viewModel?.setViewCallback(this)
pncActionsModel = findViewTreeViewModelStoreOwner()?.let {
ViewModelProvider(it)[PNCActionsViewModel::class.java]
}
pncActionsModel?.init()
// pncActionsModel = findViewTreeViewModelStoreOwner()?.let {
// ViewModelProvider(it)[PNCActionsViewModel::class.java]
// }
// pncActionsModel?.init()
roadV2NEventModel = findViewTreeViewModelStoreOwner()?.let{
ViewModelProvider(it)[RoadV2NEventViewModel::class.java]
}

View File

@@ -6,7 +6,9 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningActionsL
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.unmanned.passenger.model.TaxiPassengerModel
import com.mogo.och.unmanned.passenger.ui.aiview.bean.AIMessage
import mogo.telematics.pad.MessagePad
@@ -25,7 +27,7 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
override fun pncActions(planningActionMsg: MessagePad.PlanningActionMsg) {
try {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
if (CallerAutoPilotStatusListenerManager.getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
var actions: String? = null
planningActionMsg.actionMsg?.let {
@@ -160,7 +162,7 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
private fun getActionDesc(action: String): String{
return when(action){
"车辆进站"->{
"前方即将到达${TaxiPassengerModel.currentOCHOrder!!.orderEndSite.siteName}" +
"前方即将到达${TaxiPassengerModel.currentOCHOrder?.orderEndSite?.siteName}" +
"车辆正在规划减速并进站停靠,请安心等待车辆停稳再下车哦~"
}
"车辆等待进站"->{
@@ -173,10 +175,10 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
"车辆待环境安全后出站,耐心等几秒,安全比赶路更重要~"
}
"车辆向左变道"->{
"确认环境安全,车辆正在规划平稳向左/向右变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
"确认环境安全,车辆正在规划平稳向左变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
}
"车辆向右变道"->{
"确认环境安全,车辆正在规划平稳向左/向右变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
"确认环境安全,车辆正在规划平稳向右变道,同时持续监测周边交通参与者动向,放心交给我们吧!"
}
"车辆完成变道"->{
"变道完成啦,继续前进!小智持续守护您的行程。"
@@ -194,22 +196,22 @@ class PNCActionsViewModel: ViewModel(), IMoGoAutopilotPlanningActionsListener {
"车辆正在路口等红灯,可以安心放空望望窗外~小智一直在您身边哦!"
}
"车辆正在变道避让前方道路施工"->{
"车辆正在提前规划向左/右变道避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
"车辆正在提前规划变道避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
}
"车辆正在绕行避让前方道路施工"->{
"车辆正在提前规划向左/右绕行避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
"车辆正在提前规划绕行避让前方道路施工,稳稳的很安心~您已体验到车路云一体化协同应用场景,是当之无愧的先锋体验官!"
}
"车辆正在变道避让前方道路事故"->{
"车辆正在提前规划向左/右变道避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
"车辆正在提前规划变道避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
}
"车辆正在绕行避让前方道路事故"->{
"车辆正在提前规划向左/右绕行避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
"车辆正在提前规划绕行避让前方道路事故,放心看我表现吧!您已体验到车路云一体化协同应用场景,小智为您欢呼!"
}
"车辆正在跟车通行"->{
"车辆正在跟随前车通行舒适度MAX您已体验到车路云一体化协同应用场景超越全国99%的乘客!"
}
"车辆正在绕行前方车龙"->{
"车辆正在提前规划向左/右变道避让路口车龙舒适度MAX。您已体验到车路云一体化协同应用场景超越全国99%的乘客!"
"车辆正在提前规划变道避让路口车龙舒适度MAX。您已体验到车路云一体化协同应用场景超越全国99%的乘客!"
}
"车辆正在使用云端轨迹通行"->{
"前方智慧路口内有障碍物车辆正在使用云端规划轨迹通行。您已体验到车路云一体化协同应用场景超越全国99%的乘客!"

View File

@@ -54,11 +54,11 @@ class RoadV2NEventViewModel: ViewModel(), IRoadV2NEventWindowListener {
val event = AIMessage.RoadV2NEvent(
dataBean.eventId,
dataBean.hintStr,
dataBean.ttsStr,
"",
dataBean.eventType,
dataBean.timestamp,
dataBean.iconResId,
dataBean.isNeedTTS,
false,
dataBean.contentImageUrl,
dataBean.cameraIp,
dataBean.lon,

View File

@@ -23,7 +23,6 @@ import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.notice.AutoExplorationEntity
import com.mogo.eagle.core.data.v2x.RoadV2NEventType
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.PassengerNDERoadAdapter
import com.mogo.eagle.core.function.hmi.ui.notice.exploration.AutomaticExplorationAdapter
import com.mogo.eagle.core.function.hmi.ui.v2n.RoadV2NEventLivePlayView
import com.mogo.eagle.core.function.view.MapRoamView
@@ -214,10 +213,6 @@ class RoadV2NEventViewHolder(binding: View) : MessageViewHolder(binding){
tvV2XHintContent.text = item.title
tvV2XTimeStr.text =
"更新时间:${DateTimeUtils.getTimeText(item.timeStamp, DateTimeUtils.HH_mm_ss)}"
if (item.isNeedTTS && !TextUtils.isEmpty(item.tts)) {
AIAssist.getInstance(itemView.context)
.speakTTSVoiceWithLevel(item.tts, AIAssist.NEW_LEVEL_2)
}
when (item.eventType) {
RoadV2NEventType.TEXT -> {
containerImageAndLiveVideo.visibility = View.GONE

View File

@@ -21,6 +21,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.och.common.module.manager.audition.AuditionManager
import com.mogo.och.common.module.manager.audition.MusicData
import com.mogo.och.common.module.manager.audition.PlayState
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.unmanned.passenger.ui.music.playing.MusicPlayingViewModel
import com.mogo.och.unmanned.taxi.passenger.R
@@ -196,7 +197,7 @@ class RightBarView : ConstraintLayout, AuditionManager.MusicDataChangeListener {
}
override fun updateState(oldData: MusicData?, musicData: MusicData) {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
if (musicData.state == PlayState.Playing) {
if(!ck_music.isChecked){
Glide.with(context)

View File

@@ -13,6 +13,7 @@ import com.mogo.och.bridge.device.TaxiDoorStateManager
import com.mogo.och.bridge.device.callback.DoorStateCallback
import com.mogo.och.bridge.device.data.DoorPosition
import com.mogo.och.bridge.device.data.DoorState
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.unmanned.passenger.model.AutopilotManager
@@ -105,7 +106,7 @@ class StartAutopilotViewModel : ViewModel(),
override fun hasOpenDoor(have: Boolean) {
CallerLogger.d(SceneConstant.M_TAXI_P + TAG, "车门是否开着:${have}")
doorOpenState = have
UiThreadHandler.post {
BizLoopManager.runInMainThread {
viewCallback?.canStartAutopilot(!doorOpenState)
}
}

View File

@@ -6,6 +6,7 @@ import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.bridge.distance.IDistanceListener
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.unmanned.taxi.utils.order.OrderModel
class EvaluateViewModel : ViewModel(), IDistanceListener {
@@ -25,7 +26,7 @@ class EvaluateViewModel : ViewModel(), IDistanceListener {
com.mogo.och.unmanned.taxi.utils.order.OrderModel.orderBean?.orderNo?.let {
val string = SharedPrefsMgr.getInstance().getString(orderShowEvaluate)
if (StringUtils.isEmpty(string) || !string.equals(it)) {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
this.viewCallback?.showEvaluate(true)
}
SharedPrefsMgr.getInstance().putString(orderShowEvaluate, it)

View File

@@ -7,6 +7,7 @@ import com.mogo.och.common.module.manager.audition.AuditionManager
import com.mogo.och.bridge.autopilot.autopilot.IOchAutopilotStatusListener
import com.mogo.och.bridge.autopilot.autopilot.OchAutoPilotStatusListenerManager
import com.mogo.och.common.module.manager.audition.MusicData
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.CallerBase
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.data.taxi.BaseOrderBean
@@ -69,14 +70,18 @@ object MusicModel : CallerBase<MusicModel.MusicDataListener>(), OrderListener, I
orderInfo?.let {
cancelStopMusicDisposable()
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
checkMusic(AuditionManager.musicList.first(),true)
BizLoopManager.runInMainThread{
checkMusic(AuditionManager.musicList.first(),true)
}
}
} else {
orderInfo?.let {
if (it.orderNo != string) {
cancelStopMusicDisposable()
SharedPrefsMgr.getInstance().putString(startMusicWithOrderKey, it.orderNo)
checkMusic(AuditionManager.musicList.first(),true)
BizLoopManager.runInMainThread {
checkMusic(AuditionManager.musicList.first(), true)
}
}
}
}

View File

@@ -3,6 +3,7 @@ package com.mogo.och.unmanned.passenger.ui.orderinfo
import androidx.lifecycle.ViewModel
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.NumberFormatUtil
import com.mogo.och.unmanned.taxi.passenger.R
@@ -70,7 +71,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback,
val time = ceil(tempTimeInSecond / 60f).toInt()
val arriveTime = DateTimeUtil.getAfterSecondTime(tempTimeInSecond.toInt())
UiThreadHandler.post {
BizLoopManager.runInMainThread {
viewCallback?.setDistanceInfo(
dis!!,disUnit,time.toString(),surplusTimeUnit,arriveTime,stationDistance-meters.toInt(),stationDistance)
}
@@ -78,7 +79,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback,
override fun onCurrentOrderStatusChanged(order: BaseOrderBean?) {
TaxiPassengerModel.currentOCHOrder?.orderEndSite?.let {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
viewCallback?.setEndStation(it.siteName)
}
}
@@ -87,7 +88,7 @@ class OrderInfoViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback,
}
else ->{
UiThreadHandler.post {
BizLoopManager.runInMainThread {
viewCallback?.setDistanceInfo(
"--", disUnit, "--", surplusTimeUnit, "--", 0, 100
)

View File

@@ -9,6 +9,7 @@ import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.bridge.autopilot.location.OchLocationManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.unmanned.taxi.passenger.R
import kotlinx.android.synthetic.main.taxt_u_p_speed.view.actv_speed_value
import kotlin.math.abs
@@ -48,7 +49,7 @@ class SpeedView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) {
mogoLocation?.let {
UiThreadHandler.post {
BizLoopManager.runInMainThread {
val speedKM = (abs(it.gnssSpeed) * 3.6f).toInt()
actv_speed_value.text = speedKM.toString()
}

View File

@@ -16,8 +16,8 @@ import com.mogo.eagle.core.function.main.MainMoGoApplication
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.common.module.manager.audiofocus.AudioFocusManager
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.wigets.WrapContentLinearLayoutManager
import com.mogo.och.common.module.wigets.media.IMediaDataSourceListener
import com.mogo.och.common.module.wigets.media.MediaDataSourceManager
@@ -135,7 +135,7 @@ internal class InfoVideoView @JvmOverloads constructor(
private fun updateMediaListDataAndView(newList: MutableList<TaxiPassengerVideoPlay>) {
mediaList.clear()
mediaList.addAll(newList)
UiThreadHandler.post {
BizLoopManager.runInMainThread {
updateData()
infoVideoPlaylist.adapter?.notifyDataSetChanged()
}

View File

@@ -57,6 +57,7 @@
android:id="@+id/aciv_only_center_bg"
android:src="@drawable/taxi_p_only_center_bg"
app:layout_constraintEnd_toEndOf="parent"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/ovbv_bottom_icons"
android:layout_marginEnd="@dimen/dp_46"
android:layout_marginBottom="@dimen/dp_46"