Merge branch 'dev_robotaxi-d_231129_6.2.2_routing_verify' into dev_robotaxi-d_231201_6.2.2
# Conflicts: # core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_sop_setting.xml
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
|
||||
|
||||
@@ -233,6 +238,10 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
||||
toolsView.dismiss()
|
||||
}
|
||||
|
||||
override fun hideSOPSettingView() {
|
||||
toolsView.hideSOPSettingView()
|
||||
}
|
||||
|
||||
@BizConfig(V2I, "", BIZ_RTS)
|
||||
override fun showVideoDialog(infList: List<Infrastructure>) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
@@ -352,4 +361,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)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -61,6 +61,7 @@ import kotlinx.android.synthetic.main.view_sop_setting.view.scDrawPointCloudData
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scFaultSlowDown
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scGreenWaveSop
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scIPCReport
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scLineRoutingVerify
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scMarkingObstacles
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scNew360LookAround
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.scNewV2NData
|
||||
@@ -602,6 +603,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 ->
|
||||
|
||||
@@ -6,11 +6,9 @@ import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.view.animation.OvershootInterpolator
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.enums.SidePattern
|
||||
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
|
||||
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
class SopView private constructor(){
|
||||
@@ -77,4 +75,12 @@ class SopView private constructor(){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun dismiss() {
|
||||
if (mSOPSettingViewFloat != null) {
|
||||
WarningFloat.dismiss(mSOPSettingViewFloat!!.config.floatTag, false)
|
||||
mSOPSettingViewFloat = null
|
||||
mSOPSettingView = null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -123,4 +123,8 @@ class ToolsView private constructor() {
|
||||
dismissToolsFloatView()
|
||||
}
|
||||
|
||||
fun hideSOPSettingView() {
|
||||
sopView?.dismiss()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -534,6 +534,7 @@
|
||||
app:layout_constraintLeft_toLeftOf="@id/otherGuideLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scSpeedLimit" />
|
||||
|
||||
<!--是否展示被动录包弹窗-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scShowBagRecordWindow"
|
||||
@@ -547,6 +548,7 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/otherGuideLine"
|
||||
app:layout_constraintTop_toBottomOf="@id/scIPCReport" />
|
||||
|
||||
<!--清扫和业务模式切换开关(开-云控,关-运营)-->
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/scSweeperModeSwitch"
|
||||
@@ -555,12 +557,25 @@
|
||||
app:layout_constraintLeft_toRightOf="@id/otherGuideLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scNew360LookAround"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:text="清扫云控业务"
|
||||
android:scaleY="1.2"
|
||||
android:scaleX="1.2"
|
||||
android:layout_marginTop="@dimen/dp_25"
|
||||
android:layout_marginBottom="@dimen/dp_10"/>
|
||||
|
||||
<!--自主算路验证模式-->
|
||||
<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/otherGuideLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scNew360LookAround" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvPullTimeTitle"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -571,9 +586,7 @@
|
||||
android:textColor="@color/black"
|
||||
android:textSize="32dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/scSweeperModeSwitch" />
|
||||
/>
|
||||
|
||||
app:layout_constraintTop_toBottomOf="@id/scLineRoutingVerify" />
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/rgPullTime"
|
||||
|
||||
Reference in New Issue
Block a user