Merge branch 'dev_robotaxi-d_231031_6.2.0_routing_verify' into dev_robotaxi-d_231129_6.2.2_routing_verify
# Conflicts: # OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt # gradle.properties
This commit is contained in:
@@ -2,30 +2,32 @@ package com.mogo.eagle.core.function.hmi.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.text.TextUtils
|
||||
import android.view.*
|
||||
import android.view.Gravity
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.commons.module.status.MogoStatusManager
|
||||
import com.mogo.commons.voice.AIAssist
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
|
||||
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_FRAGMENT_HMI
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
|
||||
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RTS
|
||||
import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I
|
||||
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
|
||||
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
|
||||
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
|
||||
import com.mogo.eagle.core.data.map.Infrastructure
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
|
||||
import com.mogo.eagle.core.data.config.HmiBuildConfig
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoHmiProvider
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
|
||||
import com.mogo.eagle.core.function.call.hmi.*
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerTurnLightListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.ui.camera.RoadVideoDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.lookaround.*
|
||||
import com.mogo.eagle.core.function.hmi.ui.lookaround.M1LookAroundView
|
||||
import com.mogo.eagle.core.function.hmi.ui.notice.DispatchDialogManager
|
||||
import com.mogo.eagle.core.function.hmi.ui.notice.NoticeCheckDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.notice.traffic.NoticeTrafficDialog
|
||||
@@ -38,15 +40,18 @@ import com.mogo.eagle.core.function.hmi.ui.tools.ToBindingCarDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.tools.UpgradeAppDialog
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
|
||||
import com.mogo.eagle.core.utilcode.floating.*
|
||||
import com.mogo.eagle.core.utilcode.floating.MoGoPopWindow
|
||||
import com.mogo.eagle.core.utilcode.kotlin.safeCancel
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
import com.mogo.eagle.core.utilcode.util.AppStateManager
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.tts.base.IMogoTTSCallback
|
||||
import com.zhjt.service_biz.BizConfig
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
|
||||
@@ -352,4 +357,24 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
||||
CallerTurnLightListenerManager.invokeHideTurnLightView()
|
||||
}
|
||||
|
||||
override fun isTaxiUnmanedDriverPerformTask(): Boolean {
|
||||
return MogoStatusManager.getInstance().isTaxiUnmanedDriverPerformTask
|
||||
}
|
||||
|
||||
override fun isTaxiUnmanedDriverTakingOrders(): Boolean {
|
||||
return MogoStatusManager.getInstance().isTaxiUnmanedDriverTakingOrders
|
||||
}
|
||||
|
||||
override fun isTaxiUnmanedDriverLineRoutingPerformTask(): Boolean {
|
||||
return MogoStatusManager.getInstance().isTaxiUnmanedDriverLineRoutingPerformTask
|
||||
}
|
||||
|
||||
override fun isTaxiUnmanedDriverLineRoutingVerifyMode(): Boolean {
|
||||
return MogoStatusManager.getInstance().isTaxiUnmanedDriverLineRoutingVerifyMode
|
||||
}
|
||||
|
||||
override fun setTaxiUnmanedDriverLineRoutingVerifyMode(isMode: Boolean) {
|
||||
MogoStatusManager.getInstance().setTaxiUnmanedDriverLineRoutingVerifyMode(TAG, isMode)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -553,6 +553,41 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
// Taxi无人化司机端,自主算路验证模式
|
||||
scLineRoutingVerify?.also {
|
||||
if (AppIdentityModeUtils.isTaxiDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
it.isEnabled = true
|
||||
it.visibility = View.VISIBLE
|
||||
it.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
if(!buttonView.isPressed) return@setOnCheckedChangeListener
|
||||
if (isChecked) {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverPerformTask()) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverTakingOrders()) {
|
||||
ToastUtils.showLong("请先结束接单状态")
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(true)
|
||||
} else {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverLineRoutingPerformTask()) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(false)
|
||||
}
|
||||
}
|
||||
it.isChecked = CallerHmiManager.isTaxiUnmanedDriverLineRoutingVerifyMode()
|
||||
} else {
|
||||
it.isEnabled = false
|
||||
it.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
//是否展示被动触发的录包弹窗(自动驾驶下出现问题触发的录包)
|
||||
scShowBagRecordWindow.isChecked = FunctionBuildConfig.isShowBagRecordWindow
|
||||
scShowBagRecordWindow.setOnCheckedChangeListener { _, isChecked ->
|
||||
|
||||
@@ -548,6 +548,19 @@
|
||||
app:layout_constraintRight_toRightOf="@id/otherGuideLine"
|
||||
app:layout_constraintTop_toBottomOf="@id/scIPCReport" />
|
||||
|
||||
<!--自主算路验证模式-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scLineRoutingVerify"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_25"
|
||||
android:scaleX="1.2"
|
||||
android:scaleY="1.2"
|
||||
android:text="自主算路验证模式"
|
||||
app:layout_constraintLeft_toRightOf="@id/scShowBagRecordWindow"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scIPCReport" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPullTimeTitle"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -558,7 +571,7 @@
|
||||
android:textColor="@color/black"
|
||||
android:textSize="32dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scShowBagRecordWindow" />
|
||||
app:layout_constraintTop_toBottomOf="@id/scLineRoutingVerify" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/rgPullTime"
|
||||
|
||||
@@ -169,4 +169,30 @@ interface IMoGoHmiProvider :IProvider{
|
||||
* 隐藏转向灯
|
||||
*/
|
||||
fun hideTurnLightView()
|
||||
|
||||
/**
|
||||
* taxi无人化 是否在执行任务中(无人化模式和算路验证模式 都复用此变量)
|
||||
*/
|
||||
fun isTaxiUnmanedDriverPerformTask(): Boolean
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 是否在接单中
|
||||
*/
|
||||
fun isTaxiUnmanedDriverTakingOrders(): Boolean
|
||||
|
||||
/**
|
||||
* taxi自主算路验证 是否在执行任务中
|
||||
*/
|
||||
fun isTaxiUnmanedDriverLineRoutingPerformTask(): Boolean
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 是否自主算路验证模式
|
||||
*/
|
||||
fun isTaxiUnmanedDriverLineRoutingVerifyMode(): Boolean
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 设置是否自主算路验证模式
|
||||
*/
|
||||
fun setTaxiUnmanedDriverLineRoutingVerifyMode(isMode: Boolean)
|
||||
|
||||
}
|
||||
@@ -3,14 +3,14 @@ package com.mogo.eagle.core.function.call.hmi
|
||||
import android.content.Context
|
||||
import android.view.ViewGroup
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean
|
||||
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
|
||||
import com.mogo.eagle.core.data.map.Infrastructure
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeNormalData
|
||||
import com.mogo.eagle.core.data.biz.notice.NoticeTrafficStylePushData
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths
|
||||
import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
|
||||
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
|
||||
import com.mogo.eagle.core.data.enums.WarningDirectionEnum.ALERT_WARNING_NON
|
||||
import com.mogo.eagle.core.data.map.Infrastructure
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoHmiProvider
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
|
||||
|
||||
@@ -252,4 +252,39 @@ object CallerHmiManager {
|
||||
hmiProviderApi?.hideTurnLightView()
|
||||
}
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 是否在执行任务中(无人化模式和算路验证模式 都复用此变量)
|
||||
*/
|
||||
fun isTaxiUnmanedDriverPerformTask() :Boolean {
|
||||
return hmiProviderApi?.isTaxiUnmanedDriverPerformTask() ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 是否在接单中
|
||||
*/
|
||||
fun isTaxiUnmanedDriverTakingOrders() :Boolean {
|
||||
return hmiProviderApi?.isTaxiUnmanedDriverTakingOrders() ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* taxi自主算路验证 是否在执行任务中
|
||||
*/
|
||||
fun isTaxiUnmanedDriverLineRoutingPerformTask() :Boolean {
|
||||
return hmiProviderApi?.isTaxiUnmanedDriverLineRoutingPerformTask() ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 是否自主算路验证模式
|
||||
*/
|
||||
fun isTaxiUnmanedDriverLineRoutingVerifyMode() :Boolean {
|
||||
return hmiProviderApi?.isTaxiUnmanedDriverLineRoutingVerifyMode() ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* taxi无人化司机端 设置是否自主算路验证模式
|
||||
*/
|
||||
fun setTaxiUnmanedDriverLineRoutingVerifyMode(isMode: Boolean) {
|
||||
hmiProviderApi?.setTaxiUnmanedDriverLineRoutingVerifyMode(isMode)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user