Merge branch 'dev_robotaxi-d_230912_6.1.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_230912_6.1.0
This commit is contained in:
@@ -326,24 +326,20 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
*/
|
||||
private fun updateRemainDistanceAndTime(isVoicePlay: Boolean) {
|
||||
val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() ?: return
|
||||
d(TAG, "updateRemainDistanceAndTime ${currentTaskWithOrder.currentStatus}")
|
||||
if (currentTaskWithOrder.currentStatus == TaskStatusEnum.StartTask.code){
|
||||
if (currentTaskWithOrder.endSite != null) {
|
||||
startNaviToStation(
|
||||
isVoicePlay, currentTaskWithOrder.endSite!!.gcjLat,
|
||||
currentTaskWithOrder.endSite!!.gcjLon
|
||||
)
|
||||
}
|
||||
|
||||
if (currentTaskWithOrder.endSite != null
|
||||
&& currentTaskWithOrder.currentStatus == TaskStatusEnum.StartTask.code
|
||||
) {
|
||||
startNaviToStation(
|
||||
isVoicePlay, currentTaskWithOrder.endSite!!.gcjLat,
|
||||
currentTaskWithOrder.endSite!!.gcjLon
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
if (currentTaskWithOrder.startSite != null
|
||||
&& currentTaskWithOrder.currentStatus == TaskStatusEnum.GetTask.code
|
||||
) { //演练任务和送驾任务
|
||||
startNaviToStation(
|
||||
isVoicePlay, currentTaskWithOrder.startSite!!.gcjLat,
|
||||
currentTaskWithOrder.startSite!!.gcjLon
|
||||
)
|
||||
}else if(currentTaskWithOrder.currentStatus == TaskStatusEnum.CompleteTask.code &&
|
||||
currentTaskWithOrder.taskType <= TaskTypeEnum.ToOrderStartTask.code){
|
||||
taskOtherInfo.text = "已到达 ${currentTaskWithOrder.endSite?.siteName}"
|
||||
}else {
|
||||
taskOtherInfo.text = "距离 -- 公里, 用时 -- 分钟"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -377,12 +373,19 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
when (taskType) {
|
||||
TaskTypeEnum.None.code -> {
|
||||
if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) {
|
||||
handleOrderView(order)
|
||||
updateOrderUI(order)
|
||||
}
|
||||
}
|
||||
|
||||
TaskTypeEnum.VirtualTask.code -> { //演练任务
|
||||
|
||||
if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) {
|
||||
updateOrderUI(order)
|
||||
updateMapMarkers(taskAndOrder)
|
||||
updateRemainDistanceAndTime(false)
|
||||
return
|
||||
}
|
||||
|
||||
cancelOrder.visibility = View.GONE
|
||||
orderPhoneAndNum.visibility = if (order != null &&
|
||||
currentStatus == TaskStatusEnum.CompleteTask.code
|
||||
@@ -398,10 +401,6 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
|
||||
pathwayPoint.visibility = View.GONE
|
||||
|
||||
if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) {
|
||||
updateOrderUI(order)
|
||||
return
|
||||
}
|
||||
if (startSite == null || endSite == null) return
|
||||
|
||||
taskStatus.text = resources.getString(R.string.task_start_end_site)
|
||||
@@ -417,7 +416,6 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
TaskTypeEnum.ToOrderEndTask.code, TaskTypeEnum.ToOrderStartTask.code -> {// 接驾任务 或 送驾任务
|
||||
order?.also {
|
||||
updatePathwayPoint(taskType, endSite?.siteName)
|
||||
handleOrderView(it)
|
||||
updateOrderUI(it)
|
||||
}
|
||||
}
|
||||
@@ -499,6 +497,21 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
}
|
||||
|
||||
private fun updateOrderUI(order: OrderDetail) {
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
orderPhoneAndNum.visibility = View.VISIBLE
|
||||
taskClickBtn.visibility = View.VISIBLE
|
||||
taskTypeTv.visibility = View.VISIBLE
|
||||
// orderStatus: 0 订单创建(为派单), 10 已派上司机(司机去往上车点), 20 司机到达上车点,
|
||||
// 30 乘客到达上车点, 40 服务中(去往目的地), 50 到达目的地, 60 已完成, 70 已取消
|
||||
naviToStart.visibility = if (order.orderStatus
|
||||
== TaxiOrderStatusEnum.OnTheWayToStart.code
|
||||
) View.VISIBLE else View.GONE
|
||||
|
||||
naviToEnd.visibility = if (order.orderStatus
|
||||
== TaxiOrderStatusEnum.OnTheWayToEnd.code
|
||||
) View.VISIBLE else View.GONE
|
||||
taskOtherInfo.visibility = View.VISIBLE
|
||||
|
||||
updatePrepareTaskDelayUI(0, false)
|
||||
taskTypeTv.text = resources.getString(R.string.task_order)
|
||||
taskTypeTv.background =
|
||||
@@ -571,26 +584,6 @@ class TaxiCurrentTaskFragment : BaseFragment(),
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleOrderView(order: OrderDetail?) {
|
||||
if (order == null) return
|
||||
cancelOrder.visibility = View.VISIBLE
|
||||
orderPhoneAndNum.visibility = View.VISIBLE
|
||||
taskClickBtn.visibility = View.VISIBLE
|
||||
taskTypeTv.visibility = View.VISIBLE
|
||||
// orderStatus: 0 订单创建(为派单), 10 已派上司机(司机去往上车点), 20 司机到达上车点,
|
||||
// 30 乘客到达上车点, 40 服务中(去往目的地), 50 到达目的地, 60 已完成, 70 已取消
|
||||
naviToStart.visibility = if (order.orderStatus
|
||||
== TaxiOrderStatusEnum.OnTheWayToStart.code
|
||||
) View.VISIBLE else View.GONE
|
||||
|
||||
naviToEnd.visibility = if (order.orderStatus
|
||||
== TaxiOrderStatusEnum.OnTheWayToEnd.code
|
||||
) View.VISIBLE else View.GONE
|
||||
|
||||
taskOtherInfo.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
|
||||
private fun hideNaviBtns() {
|
||||
naviToStart.visibility = View.GONE
|
||||
naviToEnd.visibility = View.GONE
|
||||
|
||||
@@ -231,10 +231,23 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
*/
|
||||
override fun onTaskCompleted(result: QueryCurrentTaskRespBean.Result) {
|
||||
d(TAG, "onTaskCompleted: ${result?.currentStatus}, siteId=${result?.endSite?.siteId}")
|
||||
|
||||
if (result.order != null && result.servingStatus == 1){
|
||||
if (result.taskType <= TaskTypeEnum.VirtualTask.code
|
||||
&& result.order!!.orderStatus < TaxiOrderStatusEnum.ArriveAtStart.code) {
|
||||
VoiceNotice.showNotice("已为您接到订单")
|
||||
}
|
||||
if (result.taskType == TaskTypeEnum.ToOrderStartTask.code
|
||||
&& result.order!!.orderStatus == TaxiOrderStatusEnum.ArriveAtStart.code){
|
||||
VoiceNotice.showNotice("已到达上车地点,等待乘客上车")
|
||||
}
|
||||
}
|
||||
|
||||
if (QueryCurrentTaskRespBean.isUserArriveAtStart(result)) {
|
||||
TaxiTaskModel.removePrepareTaskDelay()
|
||||
TaxiTaskModel.prepareNextTask(0,result.endSite!!.siteId)
|
||||
}else {
|
||||
}else if (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result)
|
||||
|| !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result)){
|
||||
TaxiTaskModel.startPrepareTaskDelay(
|
||||
if (TaskTypeEnum.isToOrderStartTask(result))
|
||||
TaxiUnmannedConst.START_AUTOPILOT_COUNTDOWN_INTERVAL
|
||||
|
||||
@@ -709,18 +709,6 @@ object TaxiTaskModel {
|
||||
|
||||
mCurrentTaskWithOrder = result
|
||||
|
||||
if (result.order != null && result.currentStatus == TaskStatusEnum.CompleteTask.code
|
||||
&& result.servingStatus == 1){
|
||||
if (result.taskType <= TaskTypeEnum.VirtualTask.code
|
||||
&& result.order!!.orderStatus < TaxiOrderStatusEnum.ArriveAtStart.code) {
|
||||
VoiceNotice.showNotice("已为您接到订单")
|
||||
}
|
||||
if (result.taskType == TaskTypeEnum.ToOrderStartTask.code
|
||||
&& result.order!!.orderStatus == TaxiOrderStatusEnum.ArriveAtStart.code){
|
||||
VoiceNotice.showNotice("已到达上车地点,等待乘客上车")
|
||||
}
|
||||
}
|
||||
|
||||
// 任务为空
|
||||
if (result.endSite == null && result.order == null) {
|
||||
d(TAG, "queryCurrentTaskOnce: 任务为空")
|
||||
@@ -738,8 +726,6 @@ object TaxiTaskModel {
|
||||
// 主要是解决A-B演练任务同时接到A-B订单状态流转的问题
|
||||
//注意: 需要去除到达乘客上车点的节点, 这个节点不拉取任务
|
||||
if (result?.currentStatus == TaskStatusEnum.CompleteTask.code
|
||||
&& (!QueryCurrentTaskRespBean.isOrderArriveAtStart(result)
|
||||
|| !QueryCurrentTaskRespBean.isOrderArriveAtEnd(result))
|
||||
) {
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
@@ -822,8 +808,9 @@ object TaxiTaskModel {
|
||||
fun updateLocalCalculateStation() {
|
||||
if (mCurrentTaskWithOrder == null) return
|
||||
if (mCurrentTaskWithOrder!!.startSite != null && mCurrentTaskWithOrder!!.endSite != null
|
||||
&& mCurrentTaskWithOrder!!.currentStatus <= TaskStatusEnum.StartTask.code
|
||||
&& mCurrentTaskWithOrder!!.currentStatus == TaskStatusEnum.StartTask.code
|
||||
) {
|
||||
d(TAG, "updateLocalCalculateStation start")
|
||||
val curTaskAndOrder = getCurrentTaskWithOrder() ?: return
|
||||
if (curTaskAndOrder.startSite != null && curTaskAndOrder.endSite != null) {
|
||||
val startStation = MogoLocation()
|
||||
@@ -835,6 +822,8 @@ object TaxiTaskModel {
|
||||
setStationPoint(startStation, endStation, curTaskAndOrder.lineId)
|
||||
}
|
||||
} else {
|
||||
d(TAG, "updateLocalCalculateStation stop")
|
||||
AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi()
|
||||
setStationPoint(null, null, -1L)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ public class MogoRouteOverlayManager implements
|
||||
RouteOverlayDrawer.getInstance().clearMogoRouteOverlay();
|
||||
return;
|
||||
}
|
||||
boolean force = FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData;
|
||||
boolean force = FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData;
|
||||
if (!force && autopilotMode.get() != 2) {
|
||||
RouteOverlayDrawer.getInstance().clearMogoRouteOverlay();
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user