[fix]
[UiThreadHandler -> BizLoopManager]
This commit is contained in:
yangyakun
2025-05-28 19:23:43 +08:00
parent 1c1bf8764d
commit 15857ba777
10 changed files with 25 additions and 17 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

@@ -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}" +
"车辆正在规划减速并进站停靠,请安心等待车辆停稳再下车哦~"
}
"车辆等待进站"->{

View File

@@ -127,7 +127,7 @@ class RightRearCamView : ConstraintLayout , IMoGoBackCameraVideoListener,
val preTime = System.currentTimeMillis()
BitmapFactory.decodeByteArray(data, 0, data.size, mBitmapOptions)
d(SceneConstant.M_TAXI_P + TAG, "decode时间${System.currentTimeMillis()-preTime}")
UiThreadHandler.post(this)
UiThreadHandler.post(this,UiThreadHandler.MODE.QUEUE)
} catch (e: Exception) {
e.printStackTrace()
}

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

@@ -174,7 +174,7 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
}else {
UiThreadHandler.postDelayed({
startAnimal()
}, 2000)
}, 2000,UiThreadHandler.MODE.QUEUE)
}
}
else -> {}
@@ -227,7 +227,7 @@ class ChekAndStartAutopilotView : WindowRelativeLayout,
}
}
})
aniStartAutopilotSuccessAni.start()},350)
aniStartAutopilotSuccessAni.start()},350,UiThreadHandler.MODE.QUEUE)
}
})
animatorSetCompat.start()

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

@@ -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()
}