[6.10.0]接管记录页面和接管原因页面增加联动,OTA升级调整吐司提示内容

This commit is contained in:
xuxinchao
2025-02-25 19:01:15 +08:00
parent e8589516e1
commit 1dae78d0b0
5 changed files with 99 additions and 2 deletions

View File

@@ -35,10 +35,12 @@ import com.iflytek.cloud.SpeechError
import com.iflytek.cloud.SpeechRecognizer
import com.mogo.eagle.core.data.deva.report.CategoryInfo
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
import com.mogo.eagle.core.function.api.datacenter.takeover.ITakeOverRecordEventListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverManager
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverRecordEventManager
import com.mogo.eagle.core.utilcode.util.BarUtils
import com.mogo.eagle.core.utilcode.util.JsonParser
import com.mogo.eagle.core.utilcode.util.ThreadUtils
@@ -57,7 +59,7 @@ import java.io.File
* 接管原因编辑窗口
*/
class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListener,
IMoGoDevaToolsListener {
IMoGoDevaToolsListener, ITakeOverRecordEventListener {
companion object{
const val TAG = "TakeOverReasonWindow"
@@ -193,6 +195,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
@SuppressLint("SetTextI18n")
private fun initEvent(){
CallerDevaToolsListenerManager.addListener(this.hashCode().toString(), this)
CallerTakeOverRecordEventManager.addListener(this.hashCode().toString(), this)
val iconDown = ContextCompat.getDrawable(mActivity, R.drawable.icon_fault_expand)
iconDown?.setBounds(0, 0, iconDown.minimumWidth, iconDown.minimumHeight)
val iconUp = ContextCompat.getDrawable(mActivity, R.drawable.icon_fault_retract)
@@ -563,4 +566,38 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
ToastUtils.showShort("接管列表获取失败:$msg")
}
/**
* 上传接管记录监听
* @param uploadRecordList 上传接管记录列表
*/
override fun onUploadRecord(uploadRecordList: ArrayList<TakeOverRecordInfo>) {
//如果上传列表中包含当前编辑接管,则关闭接管原因窗口
uploadRecordList.forEach {
if(it.faultStartTime == mTakeOverRecordInfo.faultStartTime){
ThreadUtils.runOnUiThread {
clickListener?.closeWindow()
hideFloatWindow()
}
return@forEach
}
}
}
/**
* 删除接管记录监听
* @param removeRecordList 删除接管记录列表
*/
override fun onRemoveRecord(removeRecordList: ArrayList<TakeOverRecordInfo>) {
//如果删除列表中包含当前编辑接管,则关闭接管原因窗口
removeRecordList.forEach {
if(it.faultStartTime == mTakeOverRecordInfo.faultStartTime){
ThreadUtils.runOnUiThread {
clickListener?.closeWindow()
hideFloatWindow()
}
return@forEach
}
}
}
}

View File

@@ -18,6 +18,7 @@ import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverManager
import com.mogo.eagle.core.function.call.takeover.CallerTakeOverRecordEventManager
import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
@@ -160,6 +161,7 @@ class TakeOverRecordView @JvmOverloads constructor(
ToastUtils.showShort("请选择需要删除的接管记录")
}else{
scope.launch(Dispatchers.IO){
CallerTakeOverRecordEventManager.invokeRemoveRecord(selectedUploadRecord)
val iterator = selectedUploadRecord.iterator()
while (iterator.hasNext()){
val removeRecord = iterator.next()
@@ -228,6 +230,7 @@ class TakeOverRecordView @JvmOverloads constructor(
CallerTakeOverManager.updateRecord(context,it)
takeOverListAdapter?.notifyRecordItemChanged(it)
}
CallerTakeOverRecordEventManager.invokeUploadRecord(selectedUploadRecord)
selectedUploadRecord.clear()
}
}

View File

@@ -148,7 +148,7 @@ class CarInfoTabView @JvmOverloads constructor(
OTAUpgradeConfig.promptedUpgrade.remove(OTAUpgradeConfig.otaToken)
CallerAutoPilotControlManager.sendSsmFuncOtaStatusQuery(OTAUpgradeConfig.otaToken)
}else{
ToastUtils.showLong("当前域控版本不支持OTA升级")
ToastUtils.showLong("当前SSM节点未成功启动或当前版本不支持OTA升级")
}
}
tvHDMapVersion.text = tvHDMapVersion.text.toString() + DebugConfig.getMapVersion()

View File

@@ -0,0 +1,22 @@
package com.mogo.eagle.core.function.api.datacenter.takeover
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
/**
* 接管记录事件监听回调
*/
interface ITakeOverRecordEventListener {
/**
* 上传接管记录监听
* @param uploadRecordList 上传接管记录列表
*/
fun onUploadRecord(uploadRecordList: ArrayList<TakeOverRecordInfo>)
/**
* 删除接管记录监听
* @param removeRecordList 删除接管记录列表
*/
fun onRemoveRecord(removeRecordList:ArrayList<TakeOverRecordInfo>)
}

View File

@@ -0,0 +1,35 @@
package com.mogo.eagle.core.function.call.takeover
import android.util.Log
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
import com.mogo.eagle.core.function.api.datacenter.takeover.ITakeOverRecordEventListener
import com.mogo.eagle.core.function.call.base.CallerBase
/**
* 接管记录事件监听管理
*/
object CallerTakeOverRecordEventManager: CallerBase<ITakeOverRecordEventListener>() {
/**
* 上传接管记录监听
* @param uploadRecordList 上传接管记录列表
*/
fun invokeUploadRecord(uploadRecordList: ArrayList<TakeOverRecordInfo>){
M_LISTENERS.forEach{
val listener = it.value
listener.onUploadRecord(uploadRecordList)
}
}
/**
* 删除接管记录监听
* @param removeRecordList 删除接管记录列表
*/
fun invokeRemoveRecord(removeRecordList:ArrayList<TakeOverRecordInfo>){
M_LISTENERS.forEach{
val listener = it.value
listener.onRemoveRecord(removeRecordList)
}
}
}