Merge branch 'refs/heads/dev_robotaxi-d_240912_6.7.0' into dev_robotaxi-d_240912_6.7.2_local

This commit is contained in:
donghongyu-pc
2024-10-28 17:32:39 +08:00
15 changed files with 106 additions and 62 deletions

View File

@@ -74,6 +74,7 @@ class AutopilotState @JvmOverloads constructor(
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
autopilotStateAnimator?.release()
}

View File

@@ -51,23 +51,21 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
context?.let {
if(RepositoryManager.supportDb()){
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitDefaultItem(runningTaskGateWay,"本地缓存任务", R.drawable.bus_running_task_history,4)
}
CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object :
IToolKitItemClickListener{
override fun onItemClick(toolTag: String, ctx: Context?) {
when (toolTag) {
runningTaskGateWay -> {
d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag")
RunningTaskManager.showBadCaseConfigWindow(it)
CallerEagleBaseFunctionCall4OchManager.addToolKitDefaultItemClickListener(runningTaskGateWay,object :
IToolKitItemClickListener{
override fun onItemClick(toolTag: String, ctx: Context?) {
when (toolTag) {
runningTaskGateWay -> {
d(TAG, "runningTaskGateWay:$runningTaskGateWay---toolTag:$toolTag")
RunningTaskManager.showBadCaseConfigWindow(it)
}
}
}
}
})
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10)
})
CallerEagleBaseFunctionCall4OchManager.addSingleToolKitCustomItem(lineView, LineView(it),10)
}
}
initListener()
}
override fun initViews(savedInstanceState: Bundle?) {
@@ -88,7 +86,6 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
EventBus.getDefault().register(this)
return super.onCreateView(inflater, container, savedInstanceState)
}
@@ -112,35 +109,17 @@ class ShuttleFragment : MvpFragment<ShuttleFragment?, BusPresenter?>() {
if (mPresenter != null) {
mPresenter!!.onDestroy(this)
}
if(ProjectUtils.isSaas()&& AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode)) {
CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView))
CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView)
}
super.onDestroyView()
CallerAutopilotRecordListenerManager.removeListener(TAG)
EventBus.getDefault().unregister(this)
}
private fun initListener() {
}
override fun onDestroy() {
super.onDestroy()
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun changeOverview(eventLogout: EventLogout) {
when (eventLogout.messgae) {
EventLogout.SHOW_QR_TYPE-> { //显示二维码
}
EventLogout.SHOW_WAIT_UPLOAD_TASK-> {
context?.let {
RunningTaskManager.showBadCaseConfigWindow(it)
}
}
else -> {}
}
}
/**
* END
*/

View File

@@ -46,7 +46,7 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
companion object {
const val TAG = "BadCaseManagerView"
const val TAG = "SwitchLineView"
}
private var viewModel:SwtichLineModel?=null
@@ -120,6 +120,12 @@ class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallba
}
viewModel?.setDistanceCallback(this)
CallerLogger.d(TAG,"onAttachedToWindow")
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerLogger.d(TAG,"onDetachedFromWindow")
}
override fun startTaskState(success: Boolean) {

View File

@@ -5,6 +5,7 @@ import com.mogo.commons.env.ProjectUtils
import com.mogo.commons.storage.SharedPrefsMgr
import com.mogo.eagle.core.data.config.FunctionBuildConfig
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.CallerLogger.d
import com.mogo.och.common.module.utils.DateTimeUtil
import com.mogo.och.common.module.utils.RxUtils
@@ -33,6 +34,7 @@ class SwtichLineModel : ViewModel(), IBusLinesCallback {
override fun onCleared() {
CallerLogger.d(TAG,"onCleared")
LineModel.setBusLinesCallback(TAG,null)
}

View File

@@ -186,6 +186,8 @@ class TaxiFragment :MvpFragment<TaxiFragment?, TaxiPresenter?>(),
it.removeAllLines()
it.removeAllPoints()
}
CallerEagleBaseFunctionCall4OchManager.removeToolkitByTag(mutableListOf(lineView))
CallerEagleBaseFunctionCall4OchManager.removeToolKitDefaultItemClickListener(lineView)
startAutopilotAnimationView.cancelCountdown()
super.onDestroyView()
}

View File

@@ -544,6 +544,7 @@ class FaultReasonView @JvmOverloads constructor(
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(visibility == View.VISIBLE){
CallerDevaToolsListenerManager.addListener(TAG, this)
//获取一级分类
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId, 1, 0, type, 0)
//弹窗展示时间
@@ -582,6 +583,8 @@ class FaultReasonView @JvmOverloads constructor(
reportNote = "" //上报描述
tvUploadSuccess.visibility = View.GONE
faultReasonGroup.visibility = View.VISIBLE
}else{
CallerDevaToolsListenerManager.removeListener(TAG)
}
}

View File

@@ -344,6 +344,7 @@ class WorkOrderView @JvmOverloads constructor(
override fun onVisibilityChanged(changedView: View, visibility: Int) {
super.onVisibilityChanged(changedView, visibility)
if(visibility == View.VISIBLE){
CallerDevaToolsListenerManager.addListener(TAG, this)
//弹窗展示时间
tv_work_order_time.text =
millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat())
@@ -363,6 +364,8 @@ class WorkOrderView @JvmOverloads constructor(
setAudio(false)
//重置工单问题类型
workOrderType = ""
}else{
CallerDevaToolsListenerManager.removeListener(TAG)
}
}

View File

@@ -486,6 +486,10 @@ class MoGoHmiProvider : IMoGoHmiProvider {
ToolKitDataManager.addListener(TAG, listener)
}
override fun removeToolKitDefaultItemClickListener(tag: String) {
ToolKitDataManager.removeListener(TAG)
}
/**
* 增加单个默认样式的工具箱item
* @param toolTag 唯一标识tag和前面toolTag重复的默认不添加跳过

View File

@@ -30,6 +30,7 @@ import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartNodeAdapter
import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartNow
import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartStatus
import kotlinx.android.synthetic.main.view_cold_start.view.ivIpcConnectStatus
import kotlinx.android.synthetic.main.view_cold_start.view.ivNodeListMask
import kotlinx.android.synthetic.main.view_cold_start.view.ivSsmConnectStatus
import kotlinx.android.synthetic.main.view_cold_start.view.rvNodeList
import kotlinx.android.synthetic.main.view_cold_start.view.tvColdStartContent
@@ -122,6 +123,11 @@ class ColdStartView @JvmOverloads constructor(
super.onDetachedFromWindow()
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerColdStartStateListenerManager.removeListener(TAG)
ipcRotationAnim?.cancel()
ssmRotationAnim?.cancel()
connectSSMTimer?.cancel()
coldStartRotationAnim?.cancel()
connectColdStartTimer?.cancel()
}
override fun onAutopilotIpcConnectStatusChanged(
@@ -284,6 +290,13 @@ class ColdStartView @JvmOverloads constructor(
//记录冷启动成功时间
ColdStartConfig.setColdStartSuccessTime(System.currentTimeMillis())
}
if(it.eventStatus == SsmInfo.CSState.COLD_START_UNREADY || it.eventStatus == SsmInfo.CSState.COLD_START_TIMEOUT){
//展示冷启动失败视图
showColdStartFailView()
//冷启动失败埋点统计
reason = "SSM返回冷启动失败"
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.coldStartFail,reason)
}
tvColdStartContent.text = getColdStartEventStatus(it.eventStatus)
nodeList.clear()
it.nodeList.forEach {node->
@@ -334,7 +347,7 @@ class ColdStartView @JvmOverloads constructor(
}
// 超时
SsmInfo.CSState.COLD_START_TIMEOUT->{
"系统启动异常,建议重启车辆并上报问题"
"系统启动超时,建议重启车辆并上报问题"
}
}
}
@@ -398,9 +411,14 @@ class ColdStartView @JvmOverloads constructor(
viewColdStartDivider.visibility = View.GONE
ivColdStartStatus.visibility = View.GONE
tvColdStartContent.visibility = View.GONE
rvNodeList.visibility = View.GONE
ivNodeListMask.visibility = View.GONE
//域控连接成功埋点统计
reason = "域控连接成功"
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectSuccess,reason)
ssmConnectStatus = false
coldStartStatus = false
newColdStart = false
}
/**
@@ -425,6 +443,8 @@ class ColdStartView @JvmOverloads constructor(
viewColdStartDivider.visibility = View.GONE
ivColdStartStatus.visibility = View.GONE
tvColdStartContent.visibility = View.GONE
rvNodeList.visibility = View.GONE
ivNodeListMask.visibility = View.GONE
//域控连接失败埋点统计
this.reason = "域控连接失败:$failReason"
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectFail,reason)
@@ -450,6 +470,8 @@ class ColdStartView @JvmOverloads constructor(
viewColdStartDivider.visibility = View.GONE
ivColdStartStatus.visibility = View.GONE
tvColdStartContent.visibility = View.GONE
rvNodeList.visibility = View.GONE
ivNodeListMask.visibility = View.GONE
}
/**
@@ -487,6 +509,8 @@ class ColdStartView @JvmOverloads constructor(
viewColdStartDivider.visibility = View.VISIBLE
ivColdStartStatus.visibility = View.VISIBLE
tvColdStartContent.visibility = View.VISIBLE
rvNodeList.visibility = View.VISIBLE
ivNodeListMask.visibility = View.VISIBLE
tvColdStartContent.text = "启动中…"
ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
//开启冷启动连接状态动画

View File

@@ -110,17 +110,6 @@
android:layout_marginStart="@dimen/dp_15"
/>
<TextView
android:id="@+id/tvColdStartNodeState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvColdStartContent"
app:layout_constraintLeft_toLeftOf="@id/tvColdStartContent"
android:textSize="@dimen/sp_32"
android:textColor="#B2FFFFFF"
android:visibility="gone"
/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvNodeList"
android:layout_width="wrap_content"
@@ -131,6 +120,7 @@
/>
<ImageView
android:id="@+id/ivNodeListMask"
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="@id/rvNodeList"
@@ -141,17 +131,29 @@
android:elevation="@dimen/dp_10"
/>
<TextView
android:id="@+id/tvColdStartTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tvColdStartNow"
android:text="@string/cold_start_now_tip"
android:textSize="@dimen/sp_28"
android:textColor="#82FFFFFF"
android:layout_marginBottom="@dimen/dp_124"
/>
<TextView
android:id="@+id/tvColdStartNow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@id/tvSystemStartupTitle"
app:layout_constraintTop_toBottomOf="@id/rvNodeList"
app:layout_constraintBottom_toTopOf="@id/tvColdStartTip"
android:text="@string/cold_start_now"
android:textSize="@dimen/sp_40"
android:textColor="@color/white"
android:gravity="center"
android:layout_marginTop="@dimen/dp_154"
android:layout_marginBottom="@dimen/dp_16"
/>
<ImageView
@@ -167,16 +169,5 @@
android:layout_marginTop="@dimen/dp_4"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvColdStartNow"
app:layout_constraintStart_toStartOf="@id/tvColdStartNow"
android:text="@string/cold_start_now_tip"
android:textSize="@dimen/sp_28"
android:textColor="#82FFFFFF"
android:layout_marginTop="@dimen/dp_16"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -146,6 +146,11 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context
getUI()?.setVisible(false)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerMapAiCloudDataManager.removeListener(RoadCrossRoamView.TAG)
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_ADAS,

View File

@@ -250,6 +250,11 @@ interface IMoGoHmiProvider :IProvider{
*/
fun addToolKitDefaultItemClickListener( tag: String, listener: IToolKitItemClickListener)
/**
* 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听自定义样式的item的点击交给view自己处理)
*/
fun removeToolKitDefaultItemClickListener( tag: String)
/**
* 增加单个默认样式的工具箱item
* @param toolTag 唯一标识tag和前面toolTag重复的默认不添加跳过

View File

@@ -16,6 +16,11 @@ interface IEagleBaseFunctionCall4Och {
*/
fun addToolKitDefaultItemClickListener(tag: String, listener: IToolKitItemClickListener)
/**
* 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听自定义样式的item的点击交给view自己处理)
*/
fun removeToolKitDefaultItemClickListener(tag: String)
/**
* 增加单个默认样式的工具箱item
* @param toolTag 唯一标识tag和前面toolTag重复的默认不添加跳过

View File

@@ -379,6 +379,13 @@ object CallerHmiManager {
hmiProviderApi?.addToolKitDefaultItemClickListener(tag, listener)
}
/**
* 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听自定义样式的item的点击交给view自己处理)
*/
fun removeToolKitDefaultItemClickListener(tag: String) {
hmiProviderApi?.removeToolKitDefaultItemClickListener(tag)
}
/**
* 增加单个默认样式的工具箱item
* @param toolTag 唯一标识tag和前面toolTag重复的默认不添加跳过

View File

@@ -27,6 +27,13 @@ object CallerEagleBaseFunctionCall4OchManager : IEagleBaseFunctionCall4Och {
CallerHmiManager.addToolKitDefaultItemClickListener(tag, listener)
}
/**
* 移除 工具箱 item点击事件监听 (默认样式item的点击事件监听自定义样式的item的点击交给view自己处理)
*/
override fun removeToolKitDefaultItemClickListener(tag: String) {
CallerHmiManager.removeToolKitDefaultItemClickListener(tag)
}
/**
* 增加单个默认样式的工具箱item
* @param toolTag 唯一标识tag和前面toolTag重复的默认不添加跳过