Merge branch 'dev_robotaxi-d_251110_8.2.8_i18n' into dev_robotaxi-d_251204_8.3.0_xfk_temp
# Conflicts: # OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt
This commit is contained in:
@@ -15,6 +15,7 @@ import com.mogo.eagle.core.data.map.MogoLatLng
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
|
||||
import com.mogo.eagle.core.function.api.hmi.autopilot.IMoGoCheckAutoPilotBtnListener
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
|
||||
@@ -24,6 +25,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BIZ
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Companion.DISPATCH_COMPLETED
|
||||
import com.mogo.eagle.function.biz.dispatch.network.DispatchServiceModel.Companion.DISPATCH_RESULT_AFFIRM
|
||||
@@ -162,42 +164,50 @@ class DispatchAutoPilotManager private constructor() :
|
||||
}
|
||||
if(it.trajUrl == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "trajUrl-null")
|
||||
ToastUtils.showShort("trajUrl数据为空")
|
||||
// ToastUtils.showShort("trajUrl数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_traj_url_data_null)
|
||||
return
|
||||
}
|
||||
if(it.trajMd5 == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "trajMd5-null")
|
||||
ToastUtils.showShort("trajMd5数据为空")
|
||||
// ToastUtils.showShort("trajMd5数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_traj_md5_data_null)
|
||||
return
|
||||
}
|
||||
if(it.stopUrl == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "stopUrl-null")
|
||||
ToastUtils.showShort("stopUrl数据为空")
|
||||
// ToastUtils.showShort("stopUrl数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_stop_url_data_null)
|
||||
return
|
||||
}
|
||||
if(it.stopMd5 == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "stopMd5-null")
|
||||
ToastUtils.showShort("stopMd5数据为空")
|
||||
// ToastUtils.showShort("stopMd5数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_stop_md5_data_null)
|
||||
return
|
||||
}
|
||||
if(it.vehicleModel == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "vehicleModel-null")
|
||||
ToastUtils.showShort("vehicleModel数据为空")
|
||||
// ToastUtils.showShort("vehicleModel数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_vehicle_model_data_null)
|
||||
return
|
||||
}
|
||||
if(it.lineName == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "lineName-null")
|
||||
ToastUtils.showShort("lineName数据为空")
|
||||
// ToastUtils.showShort("lineName数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_line_name_data_null)
|
||||
return
|
||||
}
|
||||
if(it.startLocAddress == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "startLocAddress-null")
|
||||
ToastUtils.showShort("startLocAddress数据为空")
|
||||
// ToastUtils.showShort("startLocAddress数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_start_loc_address_data_null)
|
||||
return
|
||||
}
|
||||
if(it.endLocAddress == null){
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, "endLocAddress-null")
|
||||
ToastUtils.showShort("endLocAddress数据为空")
|
||||
// ToastUtils.showShort("endLocAddress数据为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_end_loc_address_data_null)
|
||||
return
|
||||
}
|
||||
val currentAutoPilotLine = AutopilotControlParameters.AutoPilotLine(it.lineId.toLong(),it.lineName,it.trajUrl,it.trajMd5,
|
||||
@@ -227,7 +237,8 @@ class DispatchAutoPilotManager private constructor() :
|
||||
//调用工控机开启自动驾驶
|
||||
startAutoPilot()
|
||||
},onError = { error->
|
||||
ToastUtils.showShort("上报调度失败${error}")
|
||||
// ToastUtils.showShort("上报调度失败${error}")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_reported_dispatch_failure, error)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -244,10 +255,13 @@ class DispatchAutoPilotManager private constructor() :
|
||||
//取消自动驾驶
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
isDispatch = false
|
||||
ToastUtils.showShort("云调度取消确认成功")
|
||||
// ToastUtils.showShort("云调度取消确认成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_cloud_cancel_autopilot_success)
|
||||
CallerLogger.i("$M_BIZ$TAG","stopAffirm 取消自动驾驶")
|
||||
}, onError = {error ->
|
||||
ToastUtils.showShort("停止调度确认失败${error}")
|
||||
// ToastUtils.showShort("停止调度确认失败${error}")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_biz_cloud_cancel_autopilot_error, error)
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -341,11 +355,14 @@ class DispatchAutoPilotManager private constructor() :
|
||||
receiverBean?.let {
|
||||
//调度完成,同步云端,并且吐司提示
|
||||
dispatchServiceModel.dispatchResultUpload(DISPATCH_COMPLETED, it.taskId)
|
||||
ToastUtils.showLong("云调度完成,车辆已到达${it.endLocAddress}")
|
||||
val msg = StringUtils.getString(R.string.module_mogo_core_function_biz_cloud_complete_arrive, it.endLocAddress)
|
||||
// ToastUtils.showLong("云调度完成,车辆已到达${it.endLocAddress}")
|
||||
ToastUtils.showShort(msg)
|
||||
//取消自动驾驶
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
//语音提示到站
|
||||
AIAssist.getInstance(mContext).speakTTSVoice("云调度完成,车辆已到达${it.endLocAddress}")
|
||||
// AIAssist.getInstance(mContext).speakTTSVoice("云调度完成,车辆已到达${it.endLocAddress}")
|
||||
AIAssist.getInstance(mContext).speakTTSVoice(msg)
|
||||
}
|
||||
}else{
|
||||
V2XBizTrace.onAck(M_BIZ + TAG, mapOf("arriveErrorMsg" to "不在到站距离范围内", "ArriveAtStation" to arrivalNotification, "distanceFromSelf" to distanceFromSelf), true)
|
||||
|
||||
@@ -7,10 +7,12 @@ import com.mogo.eagle.core.data.BaseData
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo.RouteModels
|
||||
import com.mogo.eagle.core.data.biz.dispatch.ReportDispatchResult
|
||||
import com.mogo.eagle.core.data.biz.dispatch.ReportedRoute
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.network.RequestOptions
|
||||
import com.mogo.eagle.core.network.SubscribeImpl
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import java.util.*
|
||||
@@ -106,7 +108,8 @@ class DispatchServiceModel private constructor() {
|
||||
if (!e.message.isNullOrBlank()) {
|
||||
onError?.invoke(e.message!!)
|
||||
} else {
|
||||
onError?.invoke("上报失败")
|
||||
// onError?.invoke("上报失败")
|
||||
onError?.invoke(StringUtils.getString(R.string.module_core_reporting_failed))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,11 +7,13 @@ import com.mogo.commons.constants.HostConst
|
||||
import com.mogo.commons.utils.RetryWithDelay
|
||||
import com.mogo.eagle.core.data.biz.camera.CameraEntity
|
||||
import com.mogo.eagle.core.data.biz.camera.ReqLiveCarBean
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BIZ
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.function.biz.monitoring.net.ICameraListServices
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@@ -178,7 +180,8 @@ class CronTaskManager {
|
||||
if (!flvString.isNullOrEmpty()) {
|
||||
success(flvString)
|
||||
} else {
|
||||
error(Throwable("flvUrl为空"))
|
||||
// error(Throwable("flvUrl为空"))
|
||||
error(Throwable(StringUtils.getString(R.string.module_core_fvl_url_null)))
|
||||
}
|
||||
} else {
|
||||
error(Throwable(it.msg))
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.mogo.eagle.core.data.biz.trafficlight.TrafficLightStatusHelper.getCur
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
|
||||
import com.mogo.eagle.core.function.api.v2x.IMoGoVipSetListener
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
@@ -23,6 +24,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.LocationUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.function.biz.v2x.trafficlight.core.MogoTrafficLightManager
|
||||
import com.zhjt.service_biz.BizConfig
|
||||
@@ -132,8 +134,10 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener,
|
||||
val originRemainSpeed =
|
||||
floor(distance / (remainTime + trafficLightResult.flashYellow + 1.5) * 3.6).toInt()
|
||||
when {
|
||||
originRemainSpeed > 50 -> greenLightWarning("10到50")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("10到$originRemainSpeed")
|
||||
// originRemainSpeed > 50 -> greenLightWarning("10到50")
|
||||
originRemainSpeed > 50 -> greenLightWarning(StringUtils.getString(R.string.module_core_10_to_50))
|
||||
// originRemainSpeed in 10..50 -> greenLightWarning("10到$originRemainSpeed")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("${StringUtils.getString(R.string.module_core_10_to_any)}$originRemainSpeed")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -146,8 +150,10 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener,
|
||||
// 单位Km/h,当前为黄灯,推荐速度越慢越容易绿灯通过,且要满足[10,50]
|
||||
val originRemainSpeed = floor(distance / (remainTime + 1.5) * 3.6).toInt()
|
||||
when {
|
||||
originRemainSpeed > 50 -> greenLightWarning("10到50")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("10到$originRemainSpeed")
|
||||
// originRemainSpeed > 50 -> greenLightWarning("10到50")
|
||||
originRemainSpeed > 50 -> greenLightWarning(StringUtils.getString(R.string.module_core_10_to_50))
|
||||
// originRemainSpeed in 10..50 -> greenLightWarning("10到$originRemainSpeed")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("${StringUtils.getString(R.string.module_core_10_to_any)}$originRemainSpeed")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -160,8 +166,10 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener,
|
||||
// 单位Km/h,当前为绿灯,推荐速度越快越容易绿灯通过,且要满足[10,50]
|
||||
val originRemainSpeed = ceil(distance / (remainTime - 1.5) * 3.6).toInt()
|
||||
when {
|
||||
originRemainSpeed < 10 -> greenLightWarning("10到50")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("${originRemainSpeed}到50")
|
||||
// originRemainSpeed < 10 -> greenLightWarning("10到50")
|
||||
originRemainSpeed < 10 -> greenLightWarning(StringUtils.getString(R.string.module_core_10_to_50))
|
||||
// originRemainSpeed in 10..50 -> greenLightWarning("${originRemainSpeed}到50")
|
||||
originRemainSpeed in 10..50 -> greenLightWarning("${originRemainSpeed}${StringUtils.getString(R.string.module_core_any_to_50)}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import com.mogo.commons.constants.HostConst
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.BaseResponse
|
||||
import com.mogo.eagle.core.data.biz.trafficlight.*
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.network.apiCall
|
||||
import com.mogo.eagle.core.network.cancel
|
||||
import com.mogo.eagle.core.network.request
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.map.MogoData.Companion.mogoMapData
|
||||
|
||||
class TrafficLightNetWorkModel {
|
||||
@@ -86,7 +88,8 @@ class TrafficLightNetWorkModel {
|
||||
if (it.result != null) {
|
||||
onSuccess.invoke(it.result)
|
||||
} else {
|
||||
onError.invoke(it.msg ?: "返回result数据为null")
|
||||
// onError.invoke(it.msg ?: "返回result数据为null")
|
||||
onError.invoke(it.msg ?: StringUtils.getString(R.string.module_core_result_data_null))
|
||||
}
|
||||
}
|
||||
onError {
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoV2XListener
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
@@ -47,6 +48,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
|
||||
import com.mogo.eagle.function.biz.v2x.v2n.V2XPoiLoader.Companion.v2xPoiLoader
|
||||
@@ -233,11 +235,13 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
|
||||
// 1004 -> { //V2N_RSM,静止事件,包括异常停车、异常静止障碍物
|
||||
// }
|
||||
1005 -> { //V2N_RSI,施工事件,包括锥桶或者挡板围城的施工场景,是个多边形包围区域
|
||||
tts = "自动驾驶正在提前规划绕开前方道路施工"
|
||||
// tts = "自动驾驶正在提前规划绕开前方道路施工"
|
||||
tts = StringUtils.getString(R.string.module_core_auto_drive_preplan_avoid_road_construction)
|
||||
EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType
|
||||
}
|
||||
1007 -> { //三角牌
|
||||
tts = "自动驾驶正在提前规划绕开前方交通事故"
|
||||
// tts = "自动驾驶正在提前规划绕开前方交通事故"
|
||||
tts = StringUtils.getString(R.string.module_core_auto_drive_preplan_avoid_front_accident)
|
||||
EventTypeEnumNew.FOURS_ACCIDENT_04.poiType
|
||||
}
|
||||
else -> {
|
||||
@@ -334,7 +338,11 @@ object V2XEventManager : IMoGoChassisLocationGCJ02Listener, IV2XCallback,
|
||||
|
||||
private fun sendToMsgBox(count: Int) {
|
||||
val msgBoxBean =
|
||||
MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${count}个事件", "",CommunicationType.V2N.name))
|
||||
// MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${count}个事件", "",CommunicationType.V2N.name))
|
||||
MsgBoxBean(
|
||||
MsgBoxType.V2X,
|
||||
V2XMsg("", StringUtils.getString(R.string.module_core_query_whole_route_total_events, count), "", CommunicationType.V2N.name)
|
||||
)
|
||||
msgBoxBean.sourceType = DataSourceType.SUMMARY
|
||||
V2XBizTrace.onAck("$M_V2X$TAG", mapOf("v2xEventsSummary" to msgBoxBean))
|
||||
CallerMsgBoxManager.saveMsgBox(msgBoxBean)
|
||||
|
||||
@@ -10,9 +10,11 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||
import com.mogo.eagle.core.data.msgbox.V2XMsg
|
||||
import com.mogo.eagle.core.data.v2x.V2XEvent
|
||||
import com.mogo.eagle.core.data.v2x.V2XMarkerResponse
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
|
||||
import com.mogo.eagle.function.biz.v2x.v2n.network.V2XRefreshModel
|
||||
@@ -160,7 +162,11 @@ class V2XPoiLoader private constructor() {
|
||||
val size = it?.size ?: 0
|
||||
if (size > 0) {
|
||||
val msgBoxBean =
|
||||
MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${size}个事件", "",CommunicationType.V2N.name))
|
||||
// MsgBoxBean(MsgBoxType.V2X, V2XMsg("", "查询到当前全程共${size}个事件", "",CommunicationType.V2N.name))
|
||||
MsgBoxBean(
|
||||
MsgBoxType.V2X,
|
||||
V2XMsg("", StringUtils.getString(R.string.module_core_query_whole_route_total_events, size), "", CommunicationType.V2N.name)
|
||||
)
|
||||
msgBoxBean.sourceType = DataSourceType.SUMMARY
|
||||
V2XBizTrace.onAck("${SceneConstant.M_V2X}$TAG", mapOf("v2xEventsSummary" to msgBoxBean))
|
||||
CallerMsgBoxManager.saveMsgBox(msgBoxBean)
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.mogo.eagle.core.utilcode.util.CoordinateTransform
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.mogo.eagle.function.biz.v2x.V2XBizTrace
|
||||
@@ -190,9 +191,13 @@ internal object V2NIdentifyDrawer : IEventDismissListener {
|
||||
}
|
||||
}
|
||||
val contentType =
|
||||
if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "道路施工" else "道路事故"
|
||||
val content = "前方${distance.toInt()}米有$contentType"
|
||||
val tts = "前方${distance.toInt()}米有$contentType"
|
||||
// if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) "道路施工" else "道路事故"
|
||||
StringUtils.getString(if (poiType == EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGONG.poiType) R.string.module_core_road_construction else R.string.module_core_road_accident)
|
||||
|
||||
// val content = "前方${distance.toInt()}米有$contentType"
|
||||
val content = StringUtils.getString(R.string.module_core_front_have, distance.toInt(), contentType)
|
||||
// val tts = "前方${distance.toInt()}米有$contentType"
|
||||
val tts = content
|
||||
V2XBizTrace.onAck(TAG, "绘制poi事件:$poiType")
|
||||
saveMsgBox(
|
||||
MsgBoxBean(
|
||||
@@ -806,7 +811,8 @@ internal object V2NIdentifyDrawer : IEventDismissListener {
|
||||
saveMsgBox(MsgBoxBean(
|
||||
MsgBoxType.NDE,
|
||||
NDEMsg(
|
||||
"", "路口车龙", "前方路口有车龙"
|
||||
// "", "路口车龙", "前方路口有车龙"
|
||||
"", StringUtils.getString(R.string.module_och_crossing_tailback), StringUtils.getString(R.string.module_och_crossing_tailback_desc)
|
||||
).also {
|
||||
it.setRoadList(sortedList)
|
||||
}
|
||||
@@ -815,7 +821,8 @@ internal object V2NIdentifyDrawer : IEventDismissListener {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
AIAssist.getInstance(Utils.getApp())
|
||||
.speakTTSVoiceWithLevel("前方路口有车龙", AIAssist.NEW_LEVEL_2)
|
||||
// .speakTTSVoiceWithLevel("前方路口有车龙", AIAssist.NEW_LEVEL_2)
|
||||
.speakTTSVoiceWithLevel(StringUtils.getString(R.string.module_och_crossing_tailback_desc), AIAssist.NEW_LEVEL_2)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,10 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType;
|
||||
import com.mogo.eagle.core.data.msgbox.V2XMsg;
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener;
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener;
|
||||
import com.mogo.eagle.core.function.biz.R;
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager;
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.mogo.eagle.function.biz.v2x.v2n.scenario.impl.AbsV2XScenario;
|
||||
import com.mogo.eagle.function.biz.v2x.v2n.scenario.view.IV2XMarker;
|
||||
import com.mogo.eagle.core.data.v2x.V2XWarningTarget;
|
||||
@@ -100,12 +102,15 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoChas
|
||||
switch (entity.getType()) {
|
||||
case 1:
|
||||
case 11:
|
||||
entity.setTts("注意行人");
|
||||
// entity.setTts("注意行人");
|
||||
entity.setTts(StringUtils.getString(R.string.module_core_watch_pedestrians));
|
||||
return EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_PERSON.getPoiType();
|
||||
case 2:
|
||||
entity.setTts("注意自行车");
|
||||
// entity.setTts("注意自行车");
|
||||
entity.setTts(StringUtils.getString(R.string.module_core_watch_bicycle));
|
||||
case 4:
|
||||
entity.setTts("注意摩托车");
|
||||
// entity.setTts("注意摩托车");
|
||||
entity.setTts(StringUtils.getString(R.string.module_core_watch_motorbike));
|
||||
return EventTypeEnumNew.TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.getPoiType();
|
||||
}
|
||||
return "0";
|
||||
@@ -116,7 +121,8 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoChas
|
||||
//距离四舍五入保留整数
|
||||
BigDecimal bg = BigDecimal.valueOf(dis);
|
||||
double disBig = bg.setScale(0, RoundingMode.HALF_UP).doubleValue();
|
||||
String distance = String.format(Locale.getDefault(), "%.0f", disBig) + "米";
|
||||
// String distance = String.format(Locale.getDefault(), "%.0f", disBig) + "米";
|
||||
String distance = String.format(Locale.getDefault(), "%.0f", disBig) + StringUtils.getString(R.string.module_och_m);
|
||||
String content = entity.getWarningContent();
|
||||
SpannableStringBuilder ssb = new SpannableStringBuilder(content + distance);
|
||||
ssb.setSpan(new ForegroundColorSpan(Color.parseColor("#FF3036")), content.length(), ssb.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.mogo.eagle.function.biz.v2x.v2n.utils
|
||||
|
||||
import android.util.Log
|
||||
import androidx.annotation.WorkerThread
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.map.MapDataWrapper
|
||||
import com.mogo.map.entities.Lane
|
||||
import com.zhidaoauto.map.data.road.CenterLine
|
||||
@@ -70,7 +72,8 @@ object V2NUtils {
|
||||
|
||||
fun computeBestLane(laneId: Int, occupy: List<Lane>, total: List<Lane>): Pair<Int, String> {
|
||||
if (occupy.size == total.size) {
|
||||
return Pair(Int.MIN_VALUE, "更换路线")
|
||||
// return Pair(Int.MIN_VALUE, "更换路线")
|
||||
return Pair(Int.MIN_VALUE, StringUtils.getString(R.string.module_core_change_line))
|
||||
}
|
||||
val map = HashMap<Int, String>()
|
||||
if (total.size % 2 == 0) {
|
||||
@@ -78,17 +81,22 @@ object V2NUtils {
|
||||
for (i in 0 until half) {
|
||||
val left = total[i]
|
||||
val right = total[half + i]
|
||||
map[left.id] = "驶入左${i + 1}车道"
|
||||
map[right.id] = "驶入右${i + 1}车道"
|
||||
// map[left.id] = "驶入左${i + 1}车道"
|
||||
map[left.id] = StringUtils.getString(R.string.module_core_drive_into_left_lane, (i + 1))
|
||||
// map[right.id] = "驶入右${i + 1}车道"
|
||||
map[right.id] = StringUtils.getString(R.string.module_core_drive_into_right_lane, (i + 1))
|
||||
}
|
||||
} else {
|
||||
val middle = total.size / 2
|
||||
map[total[middle].id] = "驶入中间车道"
|
||||
// map[total[middle].id] = "驶入中间车道"
|
||||
map[total[middle].id] = StringUtils.getString(R.string.module_core_drive_into_center_lane)
|
||||
for (i in 0 until middle) {
|
||||
val left = total[i]
|
||||
val right = total[middle + i + 1]
|
||||
map[left.id] = "驶入左${i + 1}车道"
|
||||
map[right.id] = "驶入右${i + 1}车道"
|
||||
// map[left.id] = "驶入左${i + 1}车道"
|
||||
map[left.id] = StringUtils.getString(R.string.module_core_drive_into_left_lane, (i + 1))
|
||||
// map[right.id] = "驶入右${i + 1}车道"
|
||||
map[right.id] = StringUtils.getString(R.string.module_core_drive_into_right_lane, (i + 1))
|
||||
}
|
||||
}
|
||||
val ids = occupy.map { it.id }
|
||||
@@ -103,8 +111,10 @@ object V2NUtils {
|
||||
delta = abs
|
||||
}
|
||||
}
|
||||
return Pair(best, map[best] ?: "更换路线")
|
||||
// return Pair(best, map[best] ?: "更换路线")
|
||||
return Pair(best, map[best] ?: StringUtils.getString(R.string.module_core_change_line))
|
||||
}
|
||||
return Pair(Int.MIN_VALUE, "更换路线")
|
||||
// return Pair(Int.MIN_VALUE, "更换路线")
|
||||
return Pair(Int.MIN_VALUE, StringUtils.getString(R.string.module_core_change_line))
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import com.mogo.eagle.core.data.msgbox.MsgBoxType
|
||||
import com.mogo.eagle.core.data.msgbox.V2XMsg
|
||||
import com.mogo.eagle.core.data.v2x.VipMessage
|
||||
import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener
|
||||
import com.mogo.eagle.core.function.biz.R
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
@@ -259,7 +260,8 @@ class VipCarManager : IMogoOnMessageListener<VipMessage>, IMoGoTrafficLightListe
|
||||
",bearing:$bearing" +
|
||||
",controlTime:$controlTime"
|
||||
,true)
|
||||
ToastUtils.showLong("服务异常,请稍后重试")
|
||||
// ToastUtils.showLong("服务异常,请稍后重试")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_biz_serve_error)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import androidx.annotation.RequiresPermission
|
||||
import bag_manager.BagManagerOuterClass
|
||||
import chassis.SpecialVehicleTaskCmdOuterClass
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
@@ -39,6 +40,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicStatusListenerManager
|
||||
import com.mogo.eagle.core.function.datacenter.R
|
||||
import com.mogo.eagle.core.function.datacenter.autopilot.adapter.MoGoAdasListenerImpl
|
||||
import com.mogo.eagle.core.function.datacenter.autopilot.adapter.MoGoAdasMsgConnectStatusListenerImpl
|
||||
import com.mogo.eagle.core.function.datacenter.autopilot.server.AsyncDataToAutopilotServer
|
||||
@@ -51,6 +53,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
|
||||
import com.mogo.eagle.core.utilcode.util.DeviceUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
@@ -144,7 +147,7 @@ class MoGoAutopilotControlProvider :
|
||||
// .setSubscribeInterfaceOptions(subscribeInterfaceOptions)//
|
||||
.build()
|
||||
|
||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
||||
// 监听ADAS-SDK获取到的工控机数据
|
||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||
@@ -155,7 +158,8 @@ class MoGoAutopilotControlProvider :
|
||||
}
|
||||
|
||||
override fun onStartServer() {
|
||||
ToastUtils.showShort("司机端服务启动成功!")
|
||||
// ToastUtils.showShort("司机端服务启动成功!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_datacenter_driver_service_started_successfully)
|
||||
if (timer == null) {
|
||||
timer = Timer()
|
||||
}
|
||||
@@ -169,15 +173,18 @@ class MoGoAutopilotControlProvider :
|
||||
msgHandler.synMsgToAllClients()
|
||||
}
|
||||
}, 1000, 10000)
|
||||
invokeNettyConnResult("司机端服务启动成功!")
|
||||
// invokeNettyConnResult("司机端服务启动成功!")
|
||||
invokeNettyConnResult(StringUtils.getString(R.string.module_mogo_core_function_datacenter_driver_service_started_successfully))
|
||||
CallerTelematicStatusListenerManager.invokeServerStatusChanged(true)
|
||||
}
|
||||
|
||||
override fun onStopServer() {
|
||||
ToastUtils.showLong("司机端服务停止!")
|
||||
// ToastUtils.showLong("司机端服务停止!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_datacenter_driver_service_stop)
|
||||
timer?.cancel()
|
||||
timer = null
|
||||
invokeNettyConnResult("司机端服务停止!")
|
||||
// invokeNettyConnResult("司机端服务停止!")
|
||||
invokeNettyConnResult(StringUtils.getString(R.string.module_mogo_core_function_datacenter_driver_service_stop))
|
||||
CallerTelematicStatusListenerManager.invokeServerStatusChanged(false)
|
||||
}
|
||||
|
||||
@@ -191,7 +198,8 @@ class MoGoAutopilotControlProvider :
|
||||
|
||||
override fun onReceiveClientSign(channel: Channel?, sn: String?) {
|
||||
sn?.let {
|
||||
invokeNettyConnResult("连接成功的乘客屏sn为:$it")
|
||||
// invokeNettyConnResult("连接成功的乘客屏sn为:$it")
|
||||
invokeNettyConnResult("${StringUtils.getString(R.string.module_core_connected_passenger_sn)}$it")
|
||||
}
|
||||
}
|
||||
}, SharedPrefsMgr.getInstance().sn)
|
||||
@@ -240,7 +248,7 @@ class MoGoAutopilotControlProvider :
|
||||
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
||||
.build()
|
||||
AdasManager.getInstance()
|
||||
.create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
.create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
// 监听ADAS-SDK获取到的工控机数据
|
||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||
// 接收司机屏发过来的感知、定位等数据
|
||||
@@ -257,7 +265,8 @@ class MoGoAutopilotControlProvider :
|
||||
AsyncDataToAutopilotServer.INSTANCE.initServer()
|
||||
}.onFailure { throwable ->
|
||||
if (DebugConfig.isDebug()) {
|
||||
ToastUtils.showLong("AutoPilot出现异常,请立即处理!")
|
||||
// ToastUtils.showLong("AutoPilot出现异常,请立即处理!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_datacenter_autopilot_exception)
|
||||
}
|
||||
throwable.printStackTrace()
|
||||
}
|
||||
@@ -274,7 +283,7 @@ class MoGoAutopilotControlProvider :
|
||||
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtFDecode())
|
||||
// .setLaunchAutopilotGear(FunctionBuildConfig.launchAutopilotGear)
|
||||
.build()
|
||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
//////////////////////////////////注意先后顺序,AdasManager.getInstance().create后才可以设置监听/////////////////////////////////////////////
|
||||
// 监听ADAS-SDK获取到的工控机数据
|
||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||
@@ -336,7 +345,7 @@ class MoGoAutopilotControlProvider :
|
||||
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.SPECIFIED)
|
||||
.setSpecifiedAddress(autoPilotIp)
|
||||
.build()
|
||||
AdasManager.getInstance().create(mContext, options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
AdasManager.getInstance().create(AbsMogoApplication.getApp(), options, MoGoAdasMsgConnectStatusListenerImpl())
|
||||
AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl())
|
||||
// AdasManager.getInstance().adasOptions.isClient = false
|
||||
// AdasManager.getInstance().adasOptions.ipcConnectionMode =
|
||||
@@ -1167,7 +1176,7 @@ class MoGoAutopilotControlProvider :
|
||||
* @param resultCode 上报字段code
|
||||
*/
|
||||
override fun getReportResultDesc(resultCode: String): String {
|
||||
return MogoReport.ResultDesc.getDesc(resultCode)
|
||||
return MogoReport.ResultDesc.getDesc(AbsMogoApplication.getApp(), resultCode)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1175,7 +1184,7 @@ class MoGoAutopilotControlProvider :
|
||||
* @param actionCode 上报字段code
|
||||
*/
|
||||
override fun getReportActionDesc(actionCode: String): String {
|
||||
return MogoReport.ActionDesc.getDesc(actionCode)
|
||||
return MogoReport.ActionDesc.getDesc(AbsMogoApplication.getApp(), actionCode)
|
||||
}
|
||||
|
||||
override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) {
|
||||
@@ -1193,7 +1202,8 @@ class MoGoAutopilotControlProvider :
|
||||
carConfigResp.macAddress,
|
||||
SharedPrefsMgr.getInstance().sn
|
||||
)
|
||||
invokeNettyConnResult("乘客屏车牌号:${carConfigResp.plateNumber},Mac地址为:${carConfigResp.macAddress}")
|
||||
// invokeNettyConnResult("乘客屏车牌号:${carConfigResp.plateNumber},Mac地址为:${carConfigResp.macAddress}")
|
||||
invokeNettyConnResult("${StringUtils.getString(R.string.module_core_passenger_plate)}${carConfigResp.plateNumber},${StringUtils.getString(R.string.module_core_mac_address)}${carConfigResp.macAddress}")
|
||||
}
|
||||
|
||||
if (carConfigResp.dockVersion.isNotEmpty() && !isRainModeInit) {
|
||||
|
||||
@@ -25,10 +25,12 @@ import com.mogo.eagle.core.function.call.autopilot.CallerIpcConnectStateToastMan
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.function.datacenter.R
|
||||
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_D_C
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhidao.support.adas.high.AdasManager
|
||||
import com.zhidao.support.adas.high.OnAdasConnectStatusListener
|
||||
@@ -74,7 +76,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
CallerAutopilotCarConfigListenerManager.invokeAutopilotCertFileResult(certificationResult)
|
||||
}
|
||||
|
||||
private fun connectToast(reason: String) {
|
||||
private fun connectToast(reason: Int) {
|
||||
if (CallerIpcConnectStateToastManager.isToast) {
|
||||
ToastUtils.showShort(reason)
|
||||
}
|
||||
@@ -124,7 +126,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
AdasConstants.IpcConnectionStatus.CONNECTED -> {
|
||||
connectStatusDescribe = "已连接"
|
||||
CallerLogger.d("$M_D_C$TAG", connectStatusDescribe)
|
||||
connectToast("域控已连接")
|
||||
// connectToast("域控已连接")
|
||||
connectToast(R.string.module_core_ipc_connection_status_connected)
|
||||
CallerIpcConnectStateToastManager.ipcConnected()
|
||||
// 初始化自动驾驶状态信息
|
||||
CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().connectIP =
|
||||
@@ -182,19 +185,22 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
AdasConstants.IpcConnectionStatus.CONNECTING -> {
|
||||
connectStatusDescribe = "连接中"
|
||||
CallerLogger.d("$M_D_C$TAG", connectStatusDescribe)
|
||||
connectToast("域控连接中")
|
||||
// connectToast("域控连接中")
|
||||
connectToast(R.string.module_core_ipc_connection_status_connecting)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER -> {
|
||||
connectStatusDescribe = "重连中(定时器)"
|
||||
CallerLogger.d("$M_D_C$TAG", connectStatusDescribe)
|
||||
connectToast("域控重连中")
|
||||
// connectToast("域控重连中")
|
||||
connectToast(R.string.module_core_ipc_connection_status_reconnecting)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK -> {
|
||||
connectStatusDescribe = "重连中(网络监听)"
|
||||
CallerLogger.d("$M_D_C$TAG", connectStatusDescribe)
|
||||
connectToast("域控重连中")
|
||||
// connectToast("域控重连中")
|
||||
connectToast(R.string.module_core_ipc_connection_status_reconnecting)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION -> {
|
||||
@@ -215,7 +221,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
connectStatusDescribe
|
||||
)
|
||||
resetArgs()
|
||||
connectToast("非法域控地址")
|
||||
// connectToast("非法域控地址")
|
||||
connectToast(R.string.module_core_ipc_connection_status_illegal_address)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS -> {
|
||||
@@ -224,7 +231,8 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
"$M_D_C$TAG",
|
||||
connectStatusDescribe
|
||||
)
|
||||
connectToast("正在搜索域控地址")
|
||||
// connectToast("正在搜索域控地址")
|
||||
connectToast(R.string.module_core_ipc_connection_status_search_address)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS -> {
|
||||
@@ -358,27 +366,35 @@ class MoGoAdasMsgConnectStatusListenerImpl :
|
||||
|
||||
AdasConstants.IpcConnectionStatus.DISCONNECTED -> {
|
||||
if (isFirstDisconnected) {
|
||||
title = "连接异常"
|
||||
content = "域控未连接或主动断开连接"
|
||||
// title = "连接异常"
|
||||
title = StringUtils.getString(R.string.module_core_msg_box_connection_error)
|
||||
// content = "域控未连接或主动断开连接"
|
||||
content = StringUtils.getString(R.string.module_core_msg_box_connection_error_desc)
|
||||
isFirstDisconnected = false
|
||||
}
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION -> {
|
||||
title = "域控连接异常"
|
||||
content = "建议检查WiFi连接情况及域控是否开机"
|
||||
// title = "域控连接异常"
|
||||
title = StringUtils.getString(R.string.module_core_msg_box_ipc_connection_error)
|
||||
// content = "建议检查WiFi连接情况及域控是否开机"
|
||||
content = StringUtils.getString(R.string.module_core_msg_box_ipc_connection_error_desc)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS -> {
|
||||
if (isFirstException) {
|
||||
title = "找不到域控可用地址"
|
||||
content = "建议检查车载路由器及域控是否开机"
|
||||
// title = "找不到域控可用地址"
|
||||
title = StringUtils.getString(R.string.module_core_msg_box_not_find_address)
|
||||
// content = "建议检查车载路由器及域控是否开机"
|
||||
content = StringUtils.getString(R.string.module_core_msg_box_not_find_address_desc)
|
||||
isFirstException = false
|
||||
}
|
||||
}
|
||||
AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT -> {
|
||||
title = "域控心跳超时"
|
||||
content = "建议检查车载路由器连接是否正常"
|
||||
// title = "域控心跳超时"
|
||||
title = StringUtils.getString(R.string.module_core_msg_box_ipc_heartbeat_timeout)
|
||||
// content = "建议检查车载路由器连接是否正常"
|
||||
content = StringUtils.getString(R.string.module_core_msg_box_ipc_heartbeat_timeout_desc)
|
||||
}
|
||||
|
||||
else -> {}
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.mogo.eagle.core.function.call.och.CallerOchBizFunctionCall4EagleManag
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.function.datacenter.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.lifeCycleScope
|
||||
import com.mogo.eagle.core.utilcode.kotlin.scope
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -518,7 +519,8 @@ class TeleMsgHandler : IMsgHandler {
|
||||
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.DRIVE_SEAT_VIDEO_STREAM_RSP, it.body)
|
||||
}
|
||||
TelematicConstant.PASSENGER_APP_REBOOT -> {
|
||||
ToastUtils.showLong("乘客屏已收到重启命令")
|
||||
// ToastUtils.showLong("乘客屏已收到重启命令")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_datacenter_passenger_received_restart_command)
|
||||
}
|
||||
else -> {
|
||||
}
|
||||
@@ -550,7 +552,8 @@ class TeleMsgHandler : IMsgHandler {
|
||||
isReceiveSN = false
|
||||
}
|
||||
// AdasManager.getInstance().startDispatchHandler()
|
||||
ToastUtils.showShort("连接司机屏成功!")
|
||||
// ToastUtils.showShort("连接司机屏成功!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_datacenter_passenger_link_driver_success)
|
||||
invokeReqStatusLog(mapOf("dpConnectStatus" to true))
|
||||
val byteArray = byteArrayOf(0)
|
||||
NSDNettyManager.getInstance().sendMogoProtocolMsgToServer(
|
||||
@@ -567,7 +570,8 @@ class TeleMsgHandler : IMsgHandler {
|
||||
isFirstDisc = false
|
||||
AppConfigInfo.plateNumber = ""
|
||||
AppConfigInfo.iPCMacAddress = ""
|
||||
ToastUtils.showLong("断开和司机屏的连接!")
|
||||
// ToastUtils.showLong("断开和司机屏的连接!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_datacenter_passenger_disconnect_driver)
|
||||
invokeReqStatusLog(mapOf("dpConnectStatus" to false))
|
||||
AdasManager.getInstance().stopDispatchHandler()
|
||||
}
|
||||
@@ -575,7 +579,8 @@ class TeleMsgHandler : IMsgHandler {
|
||||
|
||||
ConnectState.STATUS_CONNECT_ERROR -> {
|
||||
AppConfigInfo.plateNumber = ""
|
||||
ToastUtils.showLong("和司机端连接异常!")
|
||||
// ToastUtils.showLong("和司机端连接异常!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_datacenter_passenger_connect_driver_error)
|
||||
invokeReqStatusLog(mapOf("dpConnectErrorMsg" to "$content"))
|
||||
AdasManager.getInstance().stopDispatchHandler()
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
|
||||
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.support.device.DevicesManager
|
||||
import com.mogo.support.device.IWriteChainLogListener
|
||||
import com.mogo.support.device.led.LedSourceManager
|
||||
@@ -68,7 +69,7 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
|
||||
paramIndexes = [0, 1, 2]
|
||||
)
|
||||
override fun onWriteChainLog(tag: String, title: String, info: String) {
|
||||
if(DebugConfig.isDebug()) {
|
||||
if (DebugConfig.isDebug()) {
|
||||
try {
|
||||
i("${tag}_${EVENT_KEY_HARDWARE_DEVICES}", "${title}_${info}")
|
||||
val params = HashMap<String, Any>()
|
||||
@@ -82,4 +83,8 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onGetString(id: Int): String {
|
||||
return StringUtils.getString(id)
|
||||
}
|
||||
}
|
||||
@@ -21,11 +21,13 @@ import com.mogo.eagle.core.function.call.map.*
|
||||
import com.mogo.eagle.core.function.call.obu.*
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.function.datacenter.R
|
||||
import com.mogo.eagle.core.function.datacenter.obu.drawer.*
|
||||
import com.mogo.eagle.core.function.datacenter.obu.utils.TrafficDataConvertUtilsNew
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
|
||||
import com.mogo.eagle.core.utilcode.util.ConvertUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.support.obu.ObuScene
|
||||
import com.zhidao.support.obu.constants.MogoObuShowConstants
|
||||
import kotlin.math.roundToInt
|
||||
@@ -629,11 +631,14 @@ class MogoObuDcCombineManager private constructor() : IMoGoObuWarningRsiListener
|
||||
if (currentSpeed > 0) {
|
||||
ttsContentNew =
|
||||
if ((currentSpeed * 3.6).roundToInt() in (minSpeedTemp + 1) until maxSpeedTemp) {
|
||||
"建议保持当前车速通过路口"
|
||||
// "建议保持当前车速通过路口"
|
||||
StringUtils.getString(R.string.module_core_suggest_keep_current_speed_pass_intersection)
|
||||
} else {
|
||||
"推荐保持车速10-30KM/H通过路口"
|
||||
// "推荐保持车速10-30KM/H通过路口"
|
||||
StringUtils.getString(R.string.module_core_suggest_keep_speed_10_30kmh_pass_intersection)
|
||||
}
|
||||
alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
// alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
alertContentNew = "${StringUtils.getString(R.string.module_core_suggest_speed)}$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
}
|
||||
saveObuToDcData(
|
||||
EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType,
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager
|
||||
import com.mogo.eagle.core.function.call.obu.*
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerLimitingVelocityListenerManager
|
||||
import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.function.datacenter.R
|
||||
import com.mogo.eagle.core.function.datacenter.obu.drawer.*
|
||||
import com.mogo.eagle.core.function.datacenter.obu.utils.TrafficDataConvertUtilsNew
|
||||
import com.mogo.eagle.core.utilcode.download.Config
|
||||
@@ -24,6 +25,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OBU
|
||||
import com.mogo.eagle.core.utilcode.util.ConvertUtils
|
||||
import com.mogo.eagle.core.utilcode.util.FileUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.support.obu.ObuBase
|
||||
import com.mogo.support.obu.ObuScene
|
||||
@@ -817,8 +819,10 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
|
||||
//前向碰撞预警
|
||||
MogoObuShowConstants.V2X_WARNING_TYPE.FCW.toString() -> {
|
||||
if (FunctionBuildConfig.isObuWarningFusionUnion && level == 3) {
|
||||
alertContent = "前车距离过近"
|
||||
ttsContent = "前车距离过近"
|
||||
// alertContent = "前车距离过近"
|
||||
alertContent = StringUtils.getString(R.string.module_core_warning_vehicle_ahead_distance_too_close)
|
||||
// ttsContent = "前车距离过近"
|
||||
ttsContent = alertContent
|
||||
} else {
|
||||
alertContent =
|
||||
EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_FCW.poiType)
|
||||
@@ -858,18 +862,24 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_TOP_LEFT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_LEFT
|
||||
) { //左后
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
alertContent = String.format(alertContent, "左")
|
||||
// ttsContent = String.format(ttsContent, "左")
|
||||
ttsContent = String.format(ttsContent, StringUtils.getString(R.string.module_core_left))
|
||||
// alertContent = String.format(alertContent, "左")
|
||||
alertContent = String.format(alertContent, StringUtils.getString(R.string.module_core_left))
|
||||
} else if (
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_RIGHT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_TOP_RIGHT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_RIGHT
|
||||
) { //右后
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
alertContent = String.format(alertContent, "右")
|
||||
// ttsContent = String.format(ttsContent, "右")
|
||||
ttsContent = String.format(ttsContent, StringUtils.getString(R.string.module_core_right))
|
||||
// alertContent = String.format(alertContent, "右")
|
||||
alertContent = String.format(alertContent, StringUtils.getString(R.string.module_core_right))
|
||||
} else{
|
||||
ttsContent = "注意周围车辆"
|
||||
alertContent = "盲区预警"
|
||||
// ttsContent = "注意周围车辆"
|
||||
ttsContent = StringUtils.getString(R.string.module_core_warning_pay_attention_to_surrounding_vehicles)
|
||||
// alertContent = "盲区预警"
|
||||
alertContent = StringUtils.getString(R.string.module_core_warning_blind_spot)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -885,15 +895,19 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_TOP_LEFT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_LEFT
|
||||
) {
|
||||
ttsContent = String.format(ttsContent, "左")
|
||||
alertContent = String.format(alertContent, "左")
|
||||
// ttsContent = String.format(ttsContent, "左")
|
||||
ttsContent = String.format(ttsContent, StringUtils.getString(R.string.module_core_left))
|
||||
// alertContent = String.format(alertContent, "左")
|
||||
alertContent = String.format(alertContent, StringUtils.getString(R.string.module_core_left))
|
||||
} else if (
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_RIGHT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_TOP_RIGHT ||
|
||||
direction == WarningDirectionEnum.ALERT_WARNING_BOTTOM_RIGHT
|
||||
) {
|
||||
ttsContent = String.format(ttsContent, "右")
|
||||
alertContent = String.format(alertContent, "右")
|
||||
// ttsContent = String.format(ttsContent, "右")
|
||||
ttsContent = String.format(ttsContent, StringUtils.getString(R.string.module_core_right))
|
||||
// alertContent = String.format(alertContent, "右")
|
||||
alertContent = String.format(alertContent, StringUtils.getString(R.string.module_core_right))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1111,11 +1125,14 @@ class MogoPrivateObuNewManager private constructor() : OnUpgradeListener {
|
||||
if (currentSpeed > 0) {
|
||||
ttsContentNew =
|
||||
if ((currentSpeed * 3.6).roundToInt() in (minSpeedTemp + 1) until maxSpeedTemp) {
|
||||
"建议保持当前车速通过路口"
|
||||
// "建议保持当前车速通过路口"
|
||||
StringUtils.getString(R.string.module_core_suggest_keep_current_speed_pass_intersection)
|
||||
} else {
|
||||
"推荐保持车速10-30KM/H通过路口"
|
||||
// "推荐保持车速10-30KM/H通过路口"
|
||||
StringUtils.getString(R.string.module_core_suggest_keep_speed_10_30kmh_pass_intersection)
|
||||
}
|
||||
alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
// alertContentNew = "推荐车速$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
alertContentNew = "${StringUtils.getString(R.string.module_core_suggest_speed)}$minSpeedTemp - $maxSpeedTemp KM/H"
|
||||
}
|
||||
saveObuData(
|
||||
EventTypeEnumNew.TYPE_USECASE_ID_IVP_GREEN.poiType,
|
||||
|
||||
@@ -36,6 +36,7 @@ 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
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.skin.utils.SkinResources
|
||||
import com.zhjt.mogo.adas.common.cloud.AstFuncTlmPhaseStateLightState
|
||||
@@ -246,7 +247,8 @@ class TrafficLightDispatcher : IMoGoAutopilotIdentifyListener, IMoGoTrafficLight
|
||||
if((light.state == FusionTrafficLightOuterClass.FusionLightState.STATE_YELLOW_FUSION || light.state ==FusionTrafficLightOuterClass.FusionLightState.STATE_RED_FUSION)
|
||||
&& light.duration < 5 && light.nextState == FusionTrafficLightOuterClass.FusionLightState.STATE_GREEN_FUSION){
|
||||
//语音播放:红灯即将变绿
|
||||
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel("红灯即将变绿", NEW_LEVEL_2)
|
||||
// AIAssist.getInstance(mContext).speakTTSVoiceWithLevel("红灯即将变绿", NEW_LEVEL_2)
|
||||
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(StringUtils.getString(R.string.module_core_hint_red_light_about_to_turn_green), NEW_LEVEL_2)
|
||||
isTurnGreen = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,13 +86,14 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="@dimen/dp_30"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/sp_36"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<Button
|
||||
android:id="@+id/btnCancel"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
@@ -169,7 +170,7 @@
|
||||
android:layout_marginStart="@dimen/dp_60"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:background="@drawable/rviz_common_select_dialog_default_config_button_bg"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_32"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -119,6 +119,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/layout_password" />
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<Button
|
||||
android:id="@+id/btnCancel"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
@@ -126,7 +127,7 @@
|
||||
android:layout_marginStart="@dimen/dp_40"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:background="@drawable/rviz_fmd_bg_fmd_dialog_btn"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="@color/rvizFmdColorBlock"
|
||||
android:textSize="@dimen/sp_32"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@@ -87,13 +87,14 @@
|
||||
app:layout_constraintLeft_toRightOf="@id/ivSpeedAdd"
|
||||
android:layout_marginStart="@dimen/dp_20" />
|
||||
|
||||
<!-- android:text="确定"-->
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tvSureModify"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:gravity="center"
|
||||
android:text="确定"
|
||||
android:text="@string/module_core_confirm"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/sp_36"
|
||||
android:paddingTop="@dimen/dp_5"
|
||||
|
||||
@@ -61,6 +61,7 @@ import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartManager
|
||||
import com.zhjt.mogo_core_function_devatools.driver.video.DriveSeatVideoProviderImpl
|
||||
import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo_core_function_devatools.cloudcontrol.CloudControlManager
|
||||
import com.zhjt.mogo_core_function_devatools.diskcopy.DiskCopyManager
|
||||
import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager
|
||||
@@ -155,7 +156,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
|
||||
if (state == Fsm2024.State.SAFETY_STOP) {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
AppStateManager.currentActivity()?.also {
|
||||
AIAssist.getInstance(it).speakTTSVoice("识别故障即将停车,请注意观察,小心接管")
|
||||
// AIAssist.getInstance(it).speakTTSVoice("识别故障即将停车,请注意观察,小心接管")
|
||||
AIAssist.getInstance(it).speakTTSVoice(StringUtils.getString(R.string.module_core_fault_stop_takeover))
|
||||
}
|
||||
CallerHmiManager.toggleSafetyStopCarWarning(true)
|
||||
|
||||
@@ -165,7 +167,8 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
CallerHmiManager.toggleSafetyStopCarWarning(false)
|
||||
AppStateManager.currentActivity()?.also {
|
||||
AIAssist.getInstance(it).speakTTSVoice("请接管恢复车辆状态")
|
||||
// AIAssist.getInstance(it).speakTTSVoice("请接管恢复车辆状态")
|
||||
AIAssist.getInstance(it).speakTTSVoice(StringUtils.getString(R.string.module_core_takeover_restore_vehicle))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,10 +192,12 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
BadCaseConfig.totalDuration, BadCaseConfig.previousDuration)
|
||||
}
|
||||
}else {
|
||||
ToastUtils.showShort("工控机连接状态异常")
|
||||
// ToastUtils.showShort("工控机连接状态异常")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_adas_connect_error)
|
||||
}
|
||||
}else {
|
||||
ToastUtils.showShort("网络异常,请检查网络")
|
||||
// ToastUtils.showShort("网络异常,请检查网络")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_network_error)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,13 +275,16 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
reportTypeWindow?.showFloatWindow(xPosition,yPosition)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("工控机连接状态异常")
|
||||
// ToastUtils.showShort("工控机连接状态异常")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_adas_connect_error)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("网络异常,请检查网络")
|
||||
// ToastUtils.showShort("网络异常,请检查网络")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_network_error)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_do_no_click_continuously)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -324,13 +329,16 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
caseListDialog.show()
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("工控机连接状态异常")
|
||||
// ToastUtils.showShort("工控机连接状态异常")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_adas_connect_error)
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("网络异常,请检查网络")
|
||||
// ToastUtils.showShort("网络异常,请检查网络")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_network_error)
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_do_no_click_continuously)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -355,13 +363,16 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis
|
||||
})
|
||||
aiDataCollectWindow.showFloatWindow()
|
||||
} else {
|
||||
ToastUtils.showShort("工控机连接状态异常")
|
||||
// ToastUtils.showShort("工控机连接状态异常")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_adas_connect_error)
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("网络异常,请检查网络")
|
||||
// ToastUtils.showShort("网络异常,请检查网络")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_network_error)
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_bad_case_do_no_click_continuously)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -137,7 +137,8 @@ class AIDataCollectView @JvmOverloads constructor(
|
||||
//上报
|
||||
tvUpload.setOnClickListener {
|
||||
if(collectList.isEmpty()){
|
||||
ToastUtils.showShort("请选择最少一个原因")
|
||||
// ToastUtils.showShort("请选择最少一个原因")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_last_chose_one)
|
||||
return@setOnClickListener
|
||||
}
|
||||
collectReason.clear()
|
||||
@@ -170,7 +171,8 @@ class AIDataCollectView @JvmOverloads constructor(
|
||||
|
||||
})
|
||||
if (uploadResult == null || uploadResult.code != 200) {
|
||||
TipToast.shortTip("上报失败")
|
||||
// TipToast.shortTip("上报失败")
|
||||
TipToast.shortTip(R.string.module_core_reporting_failed)
|
||||
} else {
|
||||
//上报成功
|
||||
ThreadUtils.runOnUiThread {
|
||||
@@ -270,7 +272,8 @@ class AIDataCollectView @JvmOverloads constructor(
|
||||
|
||||
override fun onAiDataError() {
|
||||
if(BadCaseReasonStore.getAiDataRecord().isEmpty()){
|
||||
ToastUtils.showShort("AI数据采集数据请求错误且无缓存数据可用")
|
||||
// ToastUtils.showShort("AI数据采集数据请求错误且无缓存数据可用")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_ai_data_gather_error)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -163,7 +163,8 @@ class AIDataCollectWindow constructor(activity: Activity) : View.OnTouchListener
|
||||
//上报
|
||||
tvCollectReport.setOnClickListener {
|
||||
if(collectList.isEmpty()){
|
||||
ToastUtils.showShort("请选择最少一个原因")
|
||||
// ToastUtils.showShort("请选择最少一个原因")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_last_chose_one)
|
||||
return@setOnClickListener
|
||||
}
|
||||
collectReason.clear()
|
||||
@@ -196,9 +197,11 @@ class AIDataCollectWindow constructor(activity: Activity) : View.OnTouchListener
|
||||
|
||||
})
|
||||
if (uploadResult == null || uploadResult.code != 200) {
|
||||
TipToast.shortTip("上报失败")
|
||||
// TipToast.shortTip("上报失败")
|
||||
TipToast.shortTip(R.string.module_core_reporting_failed)
|
||||
} else {
|
||||
TipToast.shortTip("上报成功")
|
||||
// TipToast.shortTip("上报成功")
|
||||
TipToast.shortTip(R.string.module_core_reporting_success)
|
||||
//将上报BI的结果同步给工控机记录保存
|
||||
recordKey?.let {
|
||||
val descReqEntity = BagDescriptionEntity(collectReason.toString(),false,"",true)
|
||||
@@ -343,7 +346,8 @@ class AIDataCollectWindow constructor(activity: Activity) : View.OnTouchListener
|
||||
|
||||
override fun onAiDataError() {
|
||||
if(BadCaseReasonStore.getAiDataRecord().isEmpty()){
|
||||
ToastUtils.showShort("AI数据采集数据请求错误且无缓存数据可用")
|
||||
// ToastUtils.showShort("AI数据采集数据请求错误且无缓存数据可用")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_ai_data_gather_error)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,19 +95,23 @@ internal class BadCaseConfigView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
if (mPreviousDuration < 0 || mPreviousDuration > 30) {
|
||||
ToastUtils.showLong("前溯采集时长最长30S")
|
||||
// ToastUtils.showLong("前溯采集时长最长30S")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_bad_case_previous_duration)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (mBackDuration < 0 || mBackDuration > 300) {
|
||||
ToastUtils.showLong("采集总时长最长300S")
|
||||
// ToastUtils.showLong("采集总时长最长300S")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_bad_case_Back_duration_max)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if ((mPreviousDuration + mBackDuration) < 5) {
|
||||
ToastUtils.showLong("采集总时长最短5S")
|
||||
// ToastUtils.showLong("采集总时长最短5S")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_bad_case_Back_duration_min)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if ((mPreviousDuration + mBackDuration) > 300) {
|
||||
ToastUtils.showLong("采集总时长最长300S")
|
||||
// ToastUtils.showLong("采集总时长最长300S")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_bad_case_all)
|
||||
return@setOnClickListener
|
||||
}
|
||||
BadCaseConfig.previousDuration = mPreviousDuration
|
||||
@@ -115,7 +119,8 @@ internal class BadCaseConfigView @JvmOverloads constructor(
|
||||
BadCaseConfig.totalDuration =
|
||||
BadCaseConfig.previousDuration + BadCaseConfig.backDuration
|
||||
} catch (e: Exception) {
|
||||
ToastUtils.showLong("输入时间格式不合法,请重新输入")
|
||||
// ToastUtils.showLong("输入时间格式不合法,请重新输入")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_input_time_illegality)
|
||||
etInitiativePreTime.text = null
|
||||
etInitiativeAfterTime.text = null
|
||||
return@setOnClickListener
|
||||
@@ -125,7 +130,8 @@ internal class BadCaseConfigView @JvmOverloads constructor(
|
||||
//保存录制模板采集类型
|
||||
BadCaseConfig.type = mType
|
||||
//吐司提示保存成功
|
||||
ToastUtils.showLong("保存成功")
|
||||
// ToastUtils.showLong("保存成功")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_save_success)
|
||||
//关闭配置窗口
|
||||
clickListener?.onClose()
|
||||
}
|
||||
|
||||
@@ -143,7 +143,8 @@ class BadCaseManagerView @JvmOverloads constructor(
|
||||
bagUploadDialog?.show()
|
||||
bagUploadDialog?.setAllUpload(selectedBagNum,selectedBagSize)
|
||||
}else{
|
||||
ToastUtils.showShort("请先选择要上传的Bag包")
|
||||
// ToastUtils.showShort("请先选择要上传的Bag包")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_upload_bag)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -154,7 +155,8 @@ class BadCaseManagerView @JvmOverloads constructor(
|
||||
bagManagerEntity.keyReq = bagManagerList[0].key
|
||||
CallerAutoPilotControlManager.sendBagManagerCmd(bagManagerEntity)
|
||||
}else{
|
||||
ToastUtils.showShort("请先选择要删除的Bag包")
|
||||
// ToastUtils.showShort("请先选择要删除的Bag包")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_del_bag)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -412,32 +414,43 @@ class BadCaseManagerView @JvmOverloads constructor(
|
||||
}
|
||||
//上传Cos执行完成
|
||||
if(bagManagerList.size == 0 && selectedBagNum != 0){
|
||||
ToastUtils.showShort("上传命令完成")
|
||||
// ToastUtils.showShort("上传命令完成")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_bag_complete)
|
||||
bagUploadDialog?.uploadCompleted()
|
||||
tvCancelSelect.performClick()
|
||||
}
|
||||
|
||||
when (bagManager.uploadCosResp.stat) {
|
||||
0 -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶成功")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_cos_success, "${bagManager.uploadCosResp.key}")
|
||||
}
|
||||
1 -> {
|
||||
//执行中
|
||||
}
|
||||
2 -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶执行python失败")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶执行python失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_cos_python_fail, "${bagManager.uploadCosResp.key}")
|
||||
}
|
||||
3 -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶拷贝过程失败")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶拷贝过程失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_cos_copy_fail, "${bagManager.uploadCosResp.key}")
|
||||
}
|
||||
4 -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶合并过程失败")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶合并过程失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_cos_merge_fail, "${bagManager.uploadCosResp.key}")
|
||||
}
|
||||
5 -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶上传过程失败")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶上传过程失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_upload_cos_fail, "${bagManager.uploadCosResp.key}")
|
||||
}
|
||||
else -> {
|
||||
ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶 ${bagManager.uploadCosResp.message}")
|
||||
// ToastUtils.showShort("${bagManager.uploadCosResp.key} 上传cos桶 ${bagManager.uploadCosResp.message}")
|
||||
ToastUtils.showShort(
|
||||
R.string.module_mogo_core_function_devatools_upload_cos,
|
||||
"${bagManager.uploadCosResp.key}",
|
||||
bagManager.uploadCosResp.message
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -163,7 +163,8 @@ public class CaseTopicListDialog extends Dialog implements IMoGoAutopilotRecordL
|
||||
if (recordType != null) {
|
||||
Boolean success = CallerAutoPilotControlManager.INSTANCE.getBadCaseConfig(2, recordType.getId(), addTopicList);
|
||||
if (Boolean.TRUE.equals(success)) {
|
||||
ToastUtils.showShort("Topic设置成功");
|
||||
// ToastUtils.showShort("Topic设置成功");
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_topic_set_success);
|
||||
if (recordType.getId() == 0) {
|
||||
//自定义Topic
|
||||
BadCaseConfig.customTopicList.clear();
|
||||
@@ -173,7 +174,8 @@ public class CaseTopicListDialog extends Dialog implements IMoGoAutopilotRecordL
|
||||
recordType.getTopicsList().removeAll(allTopicList);
|
||||
dismiss();
|
||||
} else {
|
||||
ToastUtils.showShort("Topic设置失败");
|
||||
// ToastUtils.showShort("Topic设置失败");
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_topic_set_fail);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -206,7 +206,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
//上报
|
||||
tvInitiativeReport.setOnClickListener {
|
||||
if(uploadList.isEmpty()){
|
||||
ToastUtils.showShort("请选择最少一个原因")
|
||||
// ToastUtils.showShort("请选择最少一个原因")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_last_chose_one)
|
||||
return@setOnClickListener
|
||||
}
|
||||
uploadReason.clear()
|
||||
@@ -257,7 +258,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,7 +336,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
audioFileName = "Audio_${System.currentTimeMillis()}_BadCase"
|
||||
@@ -389,7 +392,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
}
|
||||
|
||||
override fun onUploadFail(filePath: String) {
|
||||
TipToast.shortTip("上传语音文件失败")
|
||||
// TipToast.shortTip("上传语音文件失败")
|
||||
TipToast.shortTip(R.string.module_core_upload_voice_file_failed)
|
||||
//将语音文件上传Cos监听移除
|
||||
removeUploadListener(singlePath)
|
||||
}
|
||||
@@ -444,12 +448,14 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
itx["coordinate"] = "latitude:${getChassisLocationWGS84().latitude};longitude:${getChassisLocationWGS84().longitude}" //坐标
|
||||
})
|
||||
if (uploadResult == null || uploadResult.code != 200) {
|
||||
TipToast.shortTip("上报失败")
|
||||
// TipToast.shortTip("上报失败")
|
||||
TipToast.shortTip(R.string.module_core_reporting_failed)
|
||||
ThreadUtils.runOnUiThread {
|
||||
tvInitiativeReport.text = "上报"
|
||||
}
|
||||
} else {
|
||||
TipToast.shortTip("上报成功")
|
||||
// TipToast.shortTip("上报成功")
|
||||
TipToast.shortTip(R.string.module_core_reporting_success)
|
||||
//将上报BI的结果同步给工控机记录保存
|
||||
recordKey.let {
|
||||
val hasAudio = downloadUrl != null
|
||||
@@ -603,7 +609,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
|
||||
override fun onInitiativeError() {
|
||||
if(BadCaseReasonStore.getInitiativeDataRecord().isEmpty()){
|
||||
ToastUtils.showShort("主动录包数据采集错误且无缓存数据可用")
|
||||
// ToastUtils.showShort("主动录包数据采集错误且无缓存数据可用")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_initiative_record_bad_fail)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +197,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
tvPassiveReport.setOnClickListener {
|
||||
hasOperated = true
|
||||
if(uploadList.isEmpty()){
|
||||
TipToast.shortTip("请选择至少一个Case")
|
||||
// TipToast.shortTip("请选择至少一个Case")
|
||||
TipToast.shortTip(R.string.module_core_please_choose_noe_case)
|
||||
return@setOnClickListener
|
||||
}
|
||||
uploadReason.clear()
|
||||
@@ -259,7 +260,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
private val mInitListener = InitListener { code ->
|
||||
Log.i(TAG, "SpeechRecognizer init() code = $code")
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +339,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
audioFileName = "Audio_${System.currentTimeMillis()}_BadCase"
|
||||
@@ -392,7 +395,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
}
|
||||
|
||||
override fun onUploadFail(filePath: String) {
|
||||
TipToast.shortTip("上传语音文件失败")
|
||||
// TipToast.shortTip("上传语音文件失败")
|
||||
TipToast.shortTip(R.string.module_core_upload_voice_file_failed)
|
||||
//将语音文件上传Cos监听移除
|
||||
removeUploadListener(singlePath)
|
||||
}
|
||||
@@ -449,12 +453,14 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
|
||||
})
|
||||
if (uploadResult == null || uploadResult.code != 200) {
|
||||
TipToast.shortTip("上报失败")
|
||||
// TipToast.shortTip("上报失败")
|
||||
TipToast.shortTip(R.string.module_core_reporting_failed)
|
||||
ThreadUtils.runOnUiThread{
|
||||
tvPassiveReport.text = "上报"
|
||||
}
|
||||
} else {
|
||||
TipToast.shortTip("上报成功")
|
||||
// TipToast.shortTip("上报成功")
|
||||
TipToast.shortTip(R.string.module_core_reporting_success)
|
||||
//将上报BI的结果同步给工控机记录保存
|
||||
recordKey?.let {
|
||||
val hasAudio = downloadUrl != null
|
||||
@@ -571,7 +577,8 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
|
||||
override fun onPassiveError() {
|
||||
if(BadCaseReasonStore.getPassiveDataRecord().isEmpty()){
|
||||
ToastUtils.showShort("被动录包数据采集错误且无缓存数据可用")
|
||||
// ToastUtils.showShort("被动录包数据采集错误且无缓存数据可用")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_passivity_record_bad_fail)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,8 @@ class BagManagerListAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
|
||||
if(RecordBitmapUtils.checkHasImage(bagInfoEntity.key)){
|
||||
bagClickListener?.lookMapScreen(bagInfoEntity.key)
|
||||
}else{
|
||||
ToastUtils.showShort("该截图录制失败或已删除")
|
||||
// ToastUtils.showShort("该截图录制失败或已删除")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_record_bitmap_fail)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,8 @@ class BindingCarNetWorkManager private constructor() {
|
||||
when (info.getData().compare) {
|
||||
"0" -> showBindingCarDialog()
|
||||
"3" -> showModifyBindingCarDialog()
|
||||
"null" -> TipToast.shortTip("当前工控机没有入库")
|
||||
// "null" -> TipToast.shortTip("当前工控机没有入库")
|
||||
"null" -> TipToast.shortTip(R.string.module_core_ipc_not_db)
|
||||
}
|
||||
// updateCarVrIconRes(info.getData().brandId)
|
||||
} else {
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.mogo.eagle.core.function.api.devatools.INDECloudListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerNDECloudManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo.adas.common.cloud.AdviceEvwType
|
||||
import com.zhjt.mogo.adas.common.cloud.AdviceType
|
||||
import com.zhjt.mogo.adas.data.bean.cloud.info.AdviceAvwInfo
|
||||
@@ -21,6 +22,7 @@ import com.zhjt.mogo.adas.data.bean.cloud.info.AdviceLaneSpdLmtInfo
|
||||
import com.zhjt.mogo.adas.data.bean.cloud.info.AstFuncTlmInfo
|
||||
import com.zhjt.mogo.adas.data.bean.cloud.pojo.AdvicePojo
|
||||
import com.zhjt.mogo.adas.data.bean.cloud.pojo.AstFuncPojo
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
/**
|
||||
* 云控基础平台信息管理
|
||||
@@ -56,9 +58,16 @@ object CloudControlManager: INDECloudListener{
|
||||
val speedMax = adviceGlosaInfo.spdExps[0].spdMax*3.6
|
||||
val num = adviceGlosaInfo.spdExps[0].numIntersection
|
||||
val desc = if(num ==0 || num == 255){
|
||||
"建议车速${speedMin}km/h-${speedMax}km/h"
|
||||
// "建议车速${speedMin}km/h-${speedMax}km/h"
|
||||
"${StringUtils.getString(R.string.module_core_suggest_speed1)}${speedMin}km/h-${speedMax}km/h"
|
||||
}else{
|
||||
"建议车速${speedMin}km/h-${speedMax}km/h,可绿灯通过前方${num}个路口"
|
||||
// "建议车速${speedMin}km/h-${speedMax}km/h,可绿灯通过前方${num}个路口"
|
||||
"${StringUtils.getString(R.string.module_core_suggest_speed1)}${speedMin}km/h-${speedMax}km/h${
|
||||
StringUtils.getString(
|
||||
R.string.module_core_hint_green_wave_pass_intersection,
|
||||
num
|
||||
)
|
||||
}"
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
@@ -101,7 +110,8 @@ object CloudControlManager: INDECloudListener{
|
||||
MsgBoxType.CLOUD,
|
||||
CloudControlMsg(EventTypeEnumNew.CLOUD_RED_LIGHT_WARN.poiType,
|
||||
EventTypeEnumNew.CLOUD_RED_LIGHT_WARN.poiTypeStr,
|
||||
"存在闯红灯风险"
|
||||
// "存在闯红灯风险"
|
||||
StringUtils.getString(R.string.module_core_warning_running_red_light_risk)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -109,9 +119,11 @@ object CloudControlManager: INDECloudListener{
|
||||
//行驶车道建议
|
||||
6031,6032->{
|
||||
if(it.adviceRsiLaneProposalInfo.tagLaneDataNum > 0){
|
||||
var desc = "推荐车道:"
|
||||
// var desc = "推荐车道:"
|
||||
var desc = StringUtils.getString(R.string.module_core_hint_recommended_lane)
|
||||
it.adviceRsiLaneProposalInfo.tagLaneData.forEach {lane->
|
||||
desc += "第${lane.tagLaneSeq}车道 "
|
||||
// desc += "第${lane.tagLaneSeq}车道 "
|
||||
desc += StringUtils.getString(R.string.module_core_lane_sequence_number, lane.tagLaneSeq)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
@@ -128,7 +140,11 @@ object CloudControlManager: INDECloudListener{
|
||||
6061->{
|
||||
//eventLevel 2:拥堵; 3:重拥堵
|
||||
if(it.adviceRsiTrafficJamInfo.eventLevel ==2 || it.adviceRsiTrafficJamInfo.eventLevel == 3){
|
||||
val desc = "前方${it.adviceRsiTrafficJamInfo.queueLength}米${it.adviceRsiTrafficJamInfo.roadIdNum}车道拥堵"
|
||||
// val desc = "前方${it.adviceRsiTrafficJamInfo.queueLength}米${it.adviceRsiTrafficJamInfo.roadIdNum}车道拥堵"
|
||||
val desc = StringUtils.getString(
|
||||
R.string.module_core_front_have_block,
|
||||
it.adviceRsiTrafficJamInfo.queueLength,
|
||||
it.adviceRsiTrafficJamInfo.roadIdNum)
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -146,9 +162,16 @@ object CloudControlManager: INDECloudListener{
|
||||
if(it.adviceRsiRoadDangerHintInfo.laneOfEventNum > 0){
|
||||
var lane = ""
|
||||
it.adviceRsiRoadDangerHintInfo.laneOfEvent.forEach {
|
||||
lane += "第${it}"
|
||||
// lane += "第${it}"
|
||||
lane += "${StringUtils.getString(R.string.module_core_di)}${it}"
|
||||
}
|
||||
val desc = "前方${it.eventRadius}米有${getAlterType(it.adviceRsiRoadDangerHintInfo.alterType)},影响${lane}车道通行"
|
||||
// val desc = "前方${it.eventRadius}米有${getAlterType(it.adviceRsiRoadDangerHintInfo.alterType)},影响${lane}车道通行"
|
||||
val desc = StringUtils.getString(
|
||||
R.string.module_core_front_have_alter,
|
||||
it.eventRadius,
|
||||
getAlterType(it.adviceRsiRoadDangerHintInfo.alterType),
|
||||
lane
|
||||
)
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -164,7 +187,11 @@ object CloudControlManager: INDECloudListener{
|
||||
//超视距弱势交通参与者提醒
|
||||
6051->{
|
||||
if(it.adviceRsiOverSightDistanceInfo.valid == 1){
|
||||
val desc = "前方${it.adviceRsiOverSightDistanceInfo.distance}米有${getWeakType(it.adviceRsiOverSightDistanceInfo.type)}"
|
||||
// val desc = "前方${it.adviceRsiOverSightDistanceInfo.distance}米有${getWeakType(it.adviceRsiOverSightDistanceInfo.type)}"
|
||||
val desc = StringUtils.getString(
|
||||
R.string.module_core_front_have_rsi,
|
||||
it.adviceRsiOverSightDistanceInfo.distance,
|
||||
getWeakType(it.adviceRsiOverSightDistanceInfo.type))
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -180,9 +207,11 @@ object CloudControlManager: INDECloudListener{
|
||||
6041->{
|
||||
if(it.adviceRsiOtherCarBreakReadWarningInfo.valid == 1){
|
||||
val desc = if(it.adviceRsiOtherCarBreakReadWarningInfo.d2StopLine == -1.0){
|
||||
"路口内有他车闯红灯"
|
||||
// "路口内有他车闯红灯"
|
||||
StringUtils.getString(R.string.module_core_warning_other_vehicle_running_red_light_in_intersection)
|
||||
}else{
|
||||
"路口前有他车闯红灯"
|
||||
// "路口前有他车闯红灯"
|
||||
StringUtils.getString(R.string.module_core_warning_other_vehicle_running_red_light_before_intersection)
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
@@ -201,9 +230,11 @@ object CloudControlManager: INDECloudListener{
|
||||
if(it.adviceRsiAbandonInfo.laneOfEventNum > 0){
|
||||
var lane = ""
|
||||
it.adviceRsiAbandonInfo.lanOfEvent.forEach {lan->
|
||||
lane = "$lane${lan}车道"
|
||||
// lane = "$lane${lan}车道"
|
||||
lane = "$lane${lan}${StringUtils.getString(R.string.module_core_lane)}"
|
||||
}
|
||||
val desc = "前方${it.adviceRsiAbandonInfo.distance}米${lane}存在障碍物,影响${lane}通行"
|
||||
// val desc = "前方${it.adviceRsiAbandonInfo.distance}米${lane}存在障碍物,影响${lane}通行"
|
||||
val desc = StringUtils.getString(R.string.module_core_front_have_barrier, it.adviceRsiAbandonInfo.distance, lane, lane)
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -219,7 +250,8 @@ object CloudControlManager: INDECloudListener{
|
||||
//能见度预警
|
||||
6071->{
|
||||
if(it.adviceRsiVisibilityInfo.valid == 1){
|
||||
val desc = "当前能见度为${it.adviceRsiVisibilityInfo.visibilityDis}米"
|
||||
// val desc = "当前能见度为${it.adviceRsiVisibilityInfo.visibilityDis}米"
|
||||
val desc = StringUtils.getString(R.string.module_core_current_visibility_distance, it.adviceRsiVisibilityInfo.visibilityDis)
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -246,9 +278,11 @@ object CloudControlManager: INDECloudListener{
|
||||
//紧急车辆优先通行 TODO 没有具体车道
|
||||
if(adviceEvwInfo.valid == 1){
|
||||
val desc = if(adviceEvwInfo.alertRadius == 6553.5){
|
||||
"前方有${getVehicleType(adviceEvwInfo.type.desc)}"
|
||||
// "前方有${getVehicleType(adviceEvwInfo.type.desc)}"
|
||||
StringUtils.getString(R.string.module_core_ahead_has, getVehicleType(adviceEvwInfo.type.desc))
|
||||
}else{
|
||||
"后方${adviceEvwInfo.alertRadius}米有${getVehicleType(adviceEvwInfo.type.desc)}"
|
||||
// "后方${adviceEvwInfo.alertRadius}米有${getVehicleType(adviceEvwInfo.type.desc)}"
|
||||
StringUtils.getString(R.string.module_core_behind_has, adviceEvwInfo.alertRadius, getVehicleType(adviceEvwInfo.type.desc))
|
||||
}
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
@@ -273,7 +307,8 @@ object CloudControlManager: INDECloudListener{
|
||||
) {
|
||||
//动态限速信息
|
||||
if(adviceLaneSpdLmtInfo.valid == 1){
|
||||
val desc = "道路限速${adviceLaneSpdLmtInfo.speedLmt[0].speedLimit}km/h"
|
||||
// val desc = "道路限速${adviceLaneSpdLmtInfo.speedLmt[0].speedLimit}km/h"
|
||||
val desc = "${StringUtils.getString(R.string.module_core_road_speed_limit)}${adviceLaneSpdLmtInfo.speedLmt[0].speedLimit}km/h"
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -294,7 +329,8 @@ object CloudControlManager: INDECloudListener{
|
||||
override fun onNdeCloudAdviceAvw(advicePojo: AdvicePojo, adviceAvwInfo: AdviceAvwInfo) {
|
||||
//异常车辆预警
|
||||
if(adviceAvwInfo.valid == 1){
|
||||
val desc = "前方${adviceAvwInfo.distance}米${adviceAvwInfo.rsiLaneId}车道存在异常车辆"
|
||||
// val desc = "前方${adviceAvwInfo.distance}米${adviceAvwInfo.rsiLaneId}车道存在异常车辆"
|
||||
val desc = StringUtils.getString(R.string.module_core_warning_abnormal_vehicle_ahead_lane, adviceAvwInfo.distance, adviceAvwInfo.rsiLaneId)
|
||||
CallerMsgBoxManager.saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.CLOUD,
|
||||
@@ -322,7 +358,8 @@ object CloudControlManager: INDECloudListener{
|
||||
AdviceEvwType.FIRE_TRUCK.desc
|
||||
}
|
||||
else->{
|
||||
"应急车辆"
|
||||
// "应急车辆"
|
||||
StringUtils.getString(R.string.module_core_emergency_vehicle)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -330,76 +367,100 @@ object CloudControlManager: INDECloudListener{
|
||||
private fun getAlterType(alterType: Int): String{
|
||||
return when(alterType){
|
||||
5501->{
|
||||
"行人提醒"
|
||||
// "行人提醒"
|
||||
StringUtils.getString(R.string.module_core_warning_pedestrian_ahead)
|
||||
}
|
||||
5502->{
|
||||
"非机动车提醒"
|
||||
// "非机动车提醒"
|
||||
StringUtils.getString(R.string.module_core_warning_non_motor_vehicle_ahead)
|
||||
}
|
||||
5503->{
|
||||
"紧急制动预警"
|
||||
// "紧急制动预警"
|
||||
StringUtils.getString(R.string.module_core_warning_emergency_braking)
|
||||
}
|
||||
5504->{
|
||||
"倒车预警"
|
||||
// "倒车预警"
|
||||
StringUtils.getString(R.string.module_core_warning_reverse_alert)
|
||||
}
|
||||
5505->{
|
||||
"逆行预警"
|
||||
// "逆行预警"
|
||||
StringUtils.getString(R.string.module_core_warning_opposite_direction_traffic)
|
||||
}
|
||||
5506->{
|
||||
"异常低速预警"
|
||||
// "异常低速预警"
|
||||
StringUtils.getString(R.string.module_core_warning_abnormal_low_speed)
|
||||
}
|
||||
5507->{
|
||||
"异常停车预警"
|
||||
// "异常停车预警"
|
||||
StringUtils.getString(R.string.module_core_warning_abnormal_parking)
|
||||
}
|
||||
5508->{
|
||||
"超速预"
|
||||
// "超速预警"
|
||||
StringUtils.getString(R.string.module_core_warning_speed_exceed_limit)
|
||||
}
|
||||
5509->{
|
||||
"交通拥堵预警"
|
||||
// "交通拥堵预警"
|
||||
StringUtils.getString(R.string.module_core_warning_traffic_congestion)
|
||||
}
|
||||
5510->{
|
||||
"特殊车辆预警"
|
||||
// "特殊车辆预警"
|
||||
StringUtils.getString(R.string.module_core_warning_special_vehicle_approaching)
|
||||
}
|
||||
5511->{
|
||||
"紧急车辆预警"
|
||||
// "紧急车辆预警"
|
||||
StringUtils.getString(R.string.module_core_warning_emergency_vehicle_approaching)
|
||||
}
|
||||
5512->{
|
||||
"车辆状态异常预警"
|
||||
// "车辆状态异常预警"
|
||||
StringUtils.getString(R.string.module_core_warning_vehicle_status_abnormal)
|
||||
}
|
||||
5513->{
|
||||
"连续并道预警"
|
||||
// "连续并道预警"
|
||||
StringUtils.getString(R.string.module_core_warning_continuous_lane_changing)
|
||||
}
|
||||
5514->{
|
||||
"匝道退回主路预警"
|
||||
// "匝道退回主路预警"
|
||||
StringUtils.getString(R.string.module_core_warning_ramp_return_to_main_road)
|
||||
}
|
||||
5515->{
|
||||
"交通管控预警"
|
||||
// "交通管控预警"
|
||||
StringUtils.getString(R.string.module_core_warning_traffic_control_implemented)
|
||||
}
|
||||
5516->{
|
||||
"路面低摩阻预警"
|
||||
// "路面低摩阻预警"
|
||||
StringUtils.getString(R.string.module_core_warning_road_low_friction)
|
||||
}
|
||||
5517->{
|
||||
"动态车道级限速预警"
|
||||
// "动态车道级限速预警"
|
||||
StringUtils.getString(R.string.module_core_warning_dynamic_lane_speed_limit)
|
||||
}
|
||||
5518->{
|
||||
"障碍物提醒"
|
||||
// "障碍物提醒"
|
||||
StringUtils.getString(R.string.module_core_warning_obstacle_ahead)
|
||||
}
|
||||
5519->{
|
||||
"红绿灯故障预警"
|
||||
// "红绿灯故障预警"
|
||||
StringUtils.getString(R.string.module_core_warning_traffic_light_fault)
|
||||
}
|
||||
5520->{
|
||||
"弱势交通参与者预警"
|
||||
// "弱势交通参与者预警"
|
||||
StringUtils.getString(R.string.module_core_warning_vulnerable_road_user_ahead)
|
||||
}
|
||||
5521->{
|
||||
"闯红灯"
|
||||
// "闯红灯"
|
||||
StringUtils.getString(R.string.module_core_warning_red_light_run_imminent)
|
||||
}
|
||||
5522->{
|
||||
"机动车压实线变道"
|
||||
// "机动车压实线变道"
|
||||
StringUtils.getString(R.string.module_core_notice_solid_line_lane_change)
|
||||
}
|
||||
5523->{
|
||||
"机动车不按导向标识行驶"
|
||||
// "机动车不按导向标识行驶"
|
||||
StringUtils.getString(R.string.module_core_notice_incorrect_guide_sign_driving)
|
||||
}
|
||||
else->{
|
||||
"预警"
|
||||
// "预警"
|
||||
StringUtils.getString(R.string.module_core_warning)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -410,13 +471,16 @@ object CloudControlManager: INDECloudListener{
|
||||
private fun getWeakType(type: Int): String{
|
||||
return when(type){
|
||||
0->{
|
||||
"未知"
|
||||
// "未知"
|
||||
StringUtils.getString(R.string.module_core_unknown)
|
||||
}
|
||||
1->{
|
||||
"行人"
|
||||
// "行人"
|
||||
StringUtils.getString(R.string.module_core_pedestrian)
|
||||
}
|
||||
2->{
|
||||
"非机动车"
|
||||
// "非机动车"
|
||||
StringUtils.getString(R.string.module_core_non_motor_vehicle)
|
||||
}
|
||||
else->{
|
||||
""
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.coldstart.ColdStartNodeInfo
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
class ColdStartNodeAdapter : RecyclerView.Adapter<ColdStartNodeAdapter.NodeInfoHolder>(){
|
||||
@@ -30,7 +31,8 @@ class ColdStartNodeAdapter : RecyclerView.Adapter<ColdStartNodeAdapter.NodeInfoH
|
||||
nodeList?.let {
|
||||
val node = it[position]
|
||||
holder.tvNodeStatus.text = "${node.nodeName} ${node.status}"
|
||||
if("启动成功" == node.status || "启动中…" == node.status){
|
||||
// if("启动成功" == node.status || "启动中…" == node.status){
|
||||
if (StringUtils.getString(R.string.module_core_startup_successful) == node.status || StringUtils.getString(R.string.module_core_starting) == node.status) {
|
||||
holder.tvNodeStatus.setTextColor(Color.parseColor("#B2FFFFFF"))
|
||||
}else{
|
||||
holder.tvNodeStatus.setTextColor(Color.parseColor("#FF4E41"))
|
||||
|
||||
@@ -20,12 +20,14 @@ import com.mogo.eagle.core.network.apiCall
|
||||
import com.mogo.eagle.core.network.request
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.AppStateManager
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.tencent.liteav.basic.log.TXCLog
|
||||
import com.tencent.rtmp.ITXLivePlayListener
|
||||
import com.tencent.rtmp.TXLiveConstants
|
||||
import com.tencent.rtmp.TXLivePlayConfig
|
||||
import com.tencent.rtmp.TXLivePlayer
|
||||
import com.tencent.rtmp.ui.TXCloudVideoView
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.driver.video.vo.VideoUrlData
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -98,7 +100,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider {
|
||||
}
|
||||
onError {
|
||||
Log.e(TAG, "-- isVideoLiveUsable -- receive 请求失败: { msg: ${it.message}")
|
||||
onError.invoke("请求失败 , ${it.message}")
|
||||
// onError.invoke("请求失败 , ${it.message}")
|
||||
onError.invoke("${StringUtils.getString(R.string.module_core_request_failed)}${it.message}")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,7 +142,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider {
|
||||
Log.d(TAG, "play failed...$event, bundle: $bundle")
|
||||
stop()
|
||||
isPlaying.set(false)
|
||||
playCallback?.invoke(Failed(bundle?.toString() ?: "播放失败"))
|
||||
// playCallback?.invoke(Failed(bundle?.toString() ?: "播放失败"))
|
||||
playCallback?.invoke(Failed(bundle?.toString() ?: StringUtils.getString(R.string.module_core_play_failed)))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,7 +177,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider {
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
override fun poller(): Flow<Boolean> = channelFlow {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
throw AssertionError("此方法不支持司机屏使用")
|
||||
// throw AssertionError("此方法不支持司机屏使用")
|
||||
throw AssertionError(StringUtils.getString(R.string.module_core_method_not_support_driver_screen))
|
||||
}
|
||||
val ch = chl.get()?.let {
|
||||
if (it.isClosedForSend || it.isClosedForReceive) {
|
||||
@@ -217,7 +222,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider {
|
||||
|
||||
override fun isVideoPlaying(): Boolean {
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
throw AssertionError("此方法不支持司机屏使用")
|
||||
// throw AssertionError("此方法不支持司机屏使用")
|
||||
throw AssertionError(StringUtils.getString(R.string.module_core_method_not_support_driver_screen))
|
||||
}
|
||||
return isPlaying.get()
|
||||
}
|
||||
|
||||
@@ -8,7 +8,9 @@ import com.mogo.eagle.core.data.EnvConfig
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
|
||||
object EnvChangeManager {
|
||||
@@ -48,7 +50,8 @@ object EnvChangeManager {
|
||||
// else -> "未知"
|
||||
// }
|
||||
// }
|
||||
return "未知"
|
||||
// return "未知"
|
||||
return StringUtils.getString(R.string.module_core_unknown)
|
||||
}
|
||||
|
||||
fun getConfigNetMode(): Int {
|
||||
@@ -74,7 +77,8 @@ object EnvChangeManager {
|
||||
// else -> "未知"
|
||||
// }
|
||||
// }
|
||||
return "未知"
|
||||
// return "未知"
|
||||
return StringUtils.getString(R.string.module_core_unknown)
|
||||
}
|
||||
|
||||
fun changeTo(cityCode: String, netMode: Int) {
|
||||
|
||||
@@ -25,12 +25,14 @@ import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.core.log.record.LogcatManager
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainLogParam
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.map.MogoData.Companion.mogoMapData
|
||||
import com.zhidao.loglib.bean.RemoteLogPushContent
|
||||
import com.zhidao.loglib.call.LogInfoManagerFactory
|
||||
import com.zhidao.loglib.core.ILogListener
|
||||
import com.zhidao.loglib.core.LogInfoManager
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.logcat.config.LogRecordConfig
|
||||
import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_MAP_UPLOAD
|
||||
import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_TRACE_UPLOAD
|
||||
@@ -114,27 +116,33 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
obj.pkgName = mContext?.packageName
|
||||
when (obj.type) {
|
||||
START_CATCH_LOG -> if (!catchingList.contains(obj.pkgName)) {
|
||||
TipToast.longTip("云端下发抓取日志,时间:${obj.duration}分钟")
|
||||
// TipToast.longTip("云端下发抓取日志,时间:${obj.duration}分钟")
|
||||
TipToast.longTip(StringUtils.getString(R.string.module_core_cloud_send_get_log, obj.duration))
|
||||
startCatchLog(obj.duration)
|
||||
}
|
||||
STOP_CATCH_LOG -> {
|
||||
TipToast.longTip("云端下发停止抓取日志")
|
||||
// TipToast.longTip("云端下发停止抓取日志")
|
||||
TipToast.longTip(R.string.module_core_cloud_stop_send_get_log)
|
||||
stopCatchLog(obj)
|
||||
}
|
||||
LOCAL_CONFIG_OPEN_LOG -> {
|
||||
TipToast.longTip("云端下发打开日志开关")
|
||||
// TipToast.longTip("云端下发打开日志开关")
|
||||
TipToast.longTip(R.string.module_core_cloud_send_open_log_switch)
|
||||
openLoggerLevel()
|
||||
}
|
||||
LOCAL_CONFIG_CLOSE_LOG -> {
|
||||
TipToast.longTip("云端下发关闭日志开关")
|
||||
// TipToast.longTip("云端下发关闭日志开关")
|
||||
TipToast.longTip(R.string.module_core_cloud_send_close_log_switch)
|
||||
closeLoggerLevel()
|
||||
}
|
||||
CACHE_TRACE_UPLOAD -> {
|
||||
TipToast.longTip("上传本地缓存链路日志")
|
||||
// TipToast.longTip("上传本地缓存链路日志")
|
||||
TipToast.longTip(R.string.module_core_upload_cache_log)
|
||||
LogInfoManagerFactory.cacheTraceLogUpload()
|
||||
}
|
||||
CACHE_MAP_UPLOAD -> {
|
||||
TipToast.longTip("上传本地地图缓存日志")
|
||||
// TipToast.longTip("上传本地地图缓存日志")
|
||||
TipToast.longTip(R.string.module_core_upload_cache_map_log)
|
||||
mapCacheUpload = true
|
||||
}
|
||||
LOCAL_CONFIG_CLOSE_SINGLE_FW -> {
|
||||
@@ -200,7 +208,8 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
@BizConfig(FOUNDATION, "", BIZ_FULL_LOG)
|
||||
fun startCatchLog(duration: Int = 10, logPrefixName: String? = null) {
|
||||
if (catchingList.contains(manualContent.pkgName + logPrefixName)) {
|
||||
TipToast.shortTip("已经在抓取日志了,请稍后再试")
|
||||
// TipToast.shortTip("已经在抓取日志了,请稍后再试")
|
||||
TipToast.shortTip(R.string.module_core_started_capture_log)
|
||||
} else {
|
||||
CallerLogger.d("$M_DEVA$TAG", "开始抓取日志==== duration : $duration")
|
||||
manualContent.type = START_CATCH_LOG
|
||||
@@ -220,7 +229,8 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
CallerLogger.d("$M_DEVA$TAG", "startCatchLog path : ${content.pkgName + logPrefixName}")
|
||||
if (SharedPrefsMgr.getInstance().sn == null) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
TipToast.shortTip("缺少设备唯一ID,请检查网络")
|
||||
// TipToast.shortTip("缺少设备唯一ID,请检查网络")
|
||||
TipToast.shortTip(R.string.module_core_device_not_uuid)
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -330,7 +340,8 @@ object MogoLogCatchManager : IMogoOnMessageListener<RemoteLogPushContent>, Handl
|
||||
|
||||
override fun onError(errorCount: Int) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
TipToast.shortTip("日志抓取出现错误,出错数量:$errorCount")
|
||||
// TipToast.shortTip("日志抓取出现错误,出错数量:$errorCount")
|
||||
TipToast.shortTip(StringUtils.getString(R.string.module_core_get_log_error, errorCount))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -294,7 +294,8 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothKeyboardInputInvalid"))
|
||||
UiThreadHandler.post {
|
||||
listeners.values.forEach {
|
||||
it.onMoFangStatusError("检测到鹰眼未处于前台, 魔方指令暂不能使用, 请将鹰眼切换到前台运行...")
|
||||
// it.onMoFangStatusError("检测到鹰眼未处于前台, 魔方指令暂不能使用, 请将鹰眼切换到前台运行...")
|
||||
it.onMoFangStatusError(StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_eagle_eye_not_front_desk_not_use_mofang))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -322,7 +323,8 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_SETTING_REQ to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothSettingRequest"))
|
||||
UiThreadHandler.post {
|
||||
Toast.makeText(Utils.getApp(), "检测到魔方未正确连接,请在系统蓝牙设置页面,找到魔方并配对连接...", Toast.LENGTH_SHORT).show()
|
||||
// Toast.makeText(Utils.getApp(), "检测到魔方未正确连接,请在系统蓝牙设置页面,找到魔方并配对连接...", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(Utils.getApp(), com.mogo.eagle.core.widget.R.string.module_core_mofang_connect_error, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.os.Looper
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import java.util.*
|
||||
|
||||
class MonitorManager private constructor(var context: Context) {
|
||||
@@ -46,9 +47,11 @@ class MonitorManager private constructor(var context: Context) {
|
||||
}
|
||||
}, 1000, 60000)
|
||||
isStarted = true
|
||||
ToastUtils.showShort("性能监控启动成功!")
|
||||
// ToastUtils.showShort("性能监控启动成功!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_start_monitor_success)
|
||||
} else {
|
||||
ToastUtils.showShort("性能监控已启动,请勿重复启动!")
|
||||
// ToastUtils.showShort("性能监控已启动,请勿重复启动!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_monitor_started)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -59,6 +62,7 @@ class MonitorManager private constructor(var context: Context) {
|
||||
timer?.cancel()
|
||||
timer = null
|
||||
isStarted = false
|
||||
ToastUtils.showShort("性能监控停止成功!")
|
||||
// ToastUtils.showShort("性能监控停止成功!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_stop_monitor_success)
|
||||
}
|
||||
}
|
||||
@@ -17,8 +17,10 @@ import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerOTAManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import system_master.SsmInfo
|
||||
@@ -93,7 +95,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
}
|
||||
}else if(msg.what == 4){
|
||||
if(shouldToast && secondVersionShouldToast){
|
||||
ToastUtils.showLong("暂无待升级任务!")
|
||||
// ToastUtils.showLong("暂无待升级任务!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_not_upgrade_task)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -206,9 +209,11 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
Log.i(TAG,"left_time=$leftTime")
|
||||
|
||||
val upgradeTime = if(leftTime > 60){
|
||||
"预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used, leftTime / 60, leftTime % 60)
|
||||
}else{
|
||||
"预计部署过程用时${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used1, leftTime % 60)
|
||||
}
|
||||
|
||||
if(index == 0){
|
||||
@@ -225,7 +230,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
//冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级,
|
||||
// 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级”
|
||||
CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY)
|
||||
ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
// ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_receive_upgrade_task)
|
||||
}
|
||||
OTAUpgradeConfig.promptedUpgrade.add(request.otaToken)
|
||||
}
|
||||
@@ -342,9 +348,11 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
Log.i(TAG,"left_time=$leftTime")
|
||||
|
||||
val upgradeTime = if(leftTime > 60){
|
||||
"预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used, leftTime / 60, leftTime % 60)
|
||||
}else{
|
||||
"预计部署过程用时${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used1, leftTime % 60)
|
||||
}
|
||||
|
||||
if(index == 0){
|
||||
@@ -361,7 +369,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
//冷启动未完成(进行中),或驾驶状态为自驾状态,或当前有订单,直接默认选择稍后升级,
|
||||
// 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级”
|
||||
CallerAutoPilotControlManager.sendSsmFuncOtaDownloadResponse(OTAUpgradeConfig.otaToken,SsmInfo.IfUpgrade.DELAY)
|
||||
ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
// ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_receive_upgrade_task)
|
||||
}
|
||||
OTAUpgradeConfig.promptedUpgrade.add(status.otaInfo.otaToken)
|
||||
}
|
||||
@@ -445,7 +454,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
val cmd = jsonObject.optString("cmd")
|
||||
//无升级任务
|
||||
if("ASK_PAD_NO_UPGRADE" == cmd){
|
||||
ToastUtils.showShort("暂无OTA升级任务")
|
||||
// ToastUtils.showShort("暂无OTA升级任务")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_not_ota_task)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -507,11 +517,14 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
// 并toast提示“收到车辆部署任务,请在车辆空闲时发起升级”
|
||||
|
||||
val reason = if(OTAUpgradeConfig.autopilotStatus){
|
||||
"处于自驾中"
|
||||
// "处于自驾中"
|
||||
StringUtils.getString(R.string.module_core_in_self_driving)
|
||||
}else if(OTAUpgradeConfig.inOrder){
|
||||
"处于订单中"
|
||||
// "处于订单中"
|
||||
StringUtils.getString(R.string.module_core_in_order)
|
||||
}else{
|
||||
"冷启动未完成"
|
||||
// "冷启动未完成"
|
||||
StringUtils.getString(R.string.module_core_cold_boot_incomplete)
|
||||
}
|
||||
val query = JSONObject()
|
||||
query.put("cmd","ASK_PAD_UPGRADE_RES")
|
||||
@@ -521,7 +534,8 @@ object OTAUpgradeManager: IMoGoAutopilotStatusListener, IDataCenterBizListener,
|
||||
Log.i(TAG,query.toString())
|
||||
CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString())
|
||||
|
||||
ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
// ToastUtils.showLong("收到车辆部署任务,请在车辆空闲时发起升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_receive_upgrade_task)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.report.ReportEntity
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
|
||||
/**
|
||||
@@ -38,7 +39,8 @@ class ReportListAdapter(context: Context) :
|
||||
data?.let { it ->
|
||||
val reportEntity = it[position]
|
||||
reportEntity.let {
|
||||
holder.tvReportTime.text = "上报时间:${it.time}"
|
||||
// holder.tvReportTime.text = "上报时间:${it.time}"
|
||||
holder.tvReportTime.text = "${StringUtils.getString(R.string.module_core_report_time)}${it.time}"
|
||||
holder.tvReportSrc.text = "src:${it.src}"
|
||||
holder.tvReportLevel.text = "level:${it.level}"
|
||||
holder.tvReportMsg.text = "msg:${it.msg}"
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.mogo.eagle.core.utilcode.util.IAppStateListener
|
||||
import com.mogo.eagle.core.utilcode.util.PermissionUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.OverViewStatus
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.toState
|
||||
@@ -156,7 +157,8 @@ internal class OverViewImpl(ctx: Context) : IFlow<OverViewStatus>(ctx),
|
||||
}
|
||||
|
||||
override fun onDenied() {
|
||||
ToastUtils.showShort("定位权限被拒绝, 可能导致RTK定位不准确,请开启~")
|
||||
// ToastUtils.showShort("定位权限被拒绝, 可能导致RTK定位不准确,请开启~")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_not_location_permission)
|
||||
isGpsException = true
|
||||
send(OverViewStatus(true))
|
||||
CallerDevaToolsListenerManager.invokeGpsStatus(false)
|
||||
|
||||
@@ -13,8 +13,10 @@ import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo.adas.data.bean.NodeStateInfo
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.FSMStateCode
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.FSMStatus
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
|
||||
@@ -36,7 +38,8 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
|
||||
|
||||
private fun getDesc(): List<String> {
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
return listOf("未知")
|
||||
// return listOf("未知")
|
||||
return listOf(StringUtils.getString(R.string.module_core_unknown))
|
||||
} else {
|
||||
val nodeState = CallerAutoPilotControlManager.getNodeStateInfo(AdasConstants.NodeName.FSM2024)?.nodeState ?: AdasConstants.NodeState.NODE_UNKNOWN
|
||||
return getStateDescByNodeStateInfo(nodeState)
|
||||
@@ -63,10 +66,14 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
|
||||
|
||||
private fun getStateDescByNodeStateInfo(nodeState: AdasConstants.NodeState): List<String> {
|
||||
return when(nodeState) {
|
||||
AdasConstants.NodeState.NODE_UNKNOWN -> listOf("未知")
|
||||
AdasConstants.NodeState.NODE_NOT_EXIST -> listOf("FSM不存在")
|
||||
AdasConstants.NodeState.NODE_EXIST -> if(fsmStateMsg.get()?.pilotStandbyFlag == true) listOf("状态正常") else fsmStateMsg.get()?.repeatedPilotNotStandbyReasonList ?: listOf("")
|
||||
else -> listOf("未知")
|
||||
// AdasConstants.NodeState.NODE_UNKNOWN -> listOf("未知")
|
||||
AdasConstants.NodeState.NODE_UNKNOWN -> listOf(StringUtils.getString(R.string.module_core_unknown))
|
||||
// AdasConstants.NodeState.NODE_NOT_EXIST -> listOf("FSM不存在")
|
||||
AdasConstants.NodeState.NODE_NOT_EXIST -> listOf(StringUtils.getString(R.string.module_core_fsm_not_exist))
|
||||
// AdasConstants.NodeState.NODE_EXIST -> if(fsmStateMsg.get()?.pilotStandbyFlag == true) listOf("状态正常") else fsmStateMsg.get()?.repeatedPilotNotStandbyReasonList ?: listOf("")
|
||||
AdasConstants.NodeState.NODE_EXIST -> if(fsmStateMsg.get()?.pilotStandbyFlag == true) listOf(StringUtils.getString(R.string.module_core_normal_state)) else fsmStateMsg.get()?.repeatedPilotNotStandbyReasonList ?: listOf("")
|
||||
// else -> listOf("未知")
|
||||
else -> listOf(StringUtils.getString(R.string.module_core_unknown))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +98,8 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
|
||||
} else {
|
||||
CallerLogger.d("$M_DEVA$TAG", "工控机断开了....")
|
||||
fsmStateMsg.set(null)
|
||||
send(FSMStatus(FSMStateCode.UnKnown, listOf("工控机断开了")))
|
||||
// send(FSMStatus(FSMStateCode.UnKnown, listOf("工控机断开了")))
|
||||
send(FSMStatus(FSMStateCode.UnKnown, listOf(StringUtils.getString(R.string.module_core_ipc_disconnected))))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +129,8 @@ internal class FSMImpl(ctx: Context) : IFlow<FSMStatus>(ctx), IMoGoAutopilotStat
|
||||
)
|
||||
fsmStateMsg.set(fsmState)
|
||||
if (fsmState.pilotStandbyFlag) {
|
||||
send(FSMStatus(FSMStateCode.ExistNormal, listOf("状态正常")))
|
||||
// send(FSMStatus(FSMStateCode.ExistNormal, listOf("状态正常")))
|
||||
send(FSMStatus(FSMStateCode.ExistNormal, listOf(StringUtils.getString(R.string.module_core_normal_state))))
|
||||
} else {
|
||||
send(FSMStatus(FSMStateCode.ExistError, fsmState.repeatedPilotNotStandbyReasonList))
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.util.*
|
||||
import androidx.core.location.*
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
import com.mogo.eagle.core.utilcode.util.PermissionUtils.SimpleCallback
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.mogo_core_function_devatools.status.flow.IFlow
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus
|
||||
import java.util.concurrent.atomic.*
|
||||
@@ -71,7 +72,8 @@ internal class GpsImpl(ctx: Context): IFlow<GpsStatus>(ctx) {
|
||||
}
|
||||
|
||||
override fun onDenied() {
|
||||
ToastUtils.showShort("定位权限被拒绝, 可能导致RTK定位不准确,请开启~")
|
||||
// ToastUtils.showShort("定位权限被拒绝, 可能导致RTK定位不准确,请开启~")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_not_location_permission)
|
||||
send(enabled = isLocationEnabled(), isGranted = false)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -117,7 +117,8 @@ class UpgradeAppNetWorkManager private constructor() {
|
||||
provider?.recordUpgradeRequestSuccess(response)
|
||||
doUpgrade(info)
|
||||
} else {
|
||||
val error = info.msg?:"请检查升级服务日志"
|
||||
// val error = info.msg?:"请检查升级服务日志"
|
||||
val error = info.msg?:StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_check_upgrade_log_normal)
|
||||
runCatching {
|
||||
block?.invoke(false, error)
|
||||
}
|
||||
@@ -128,7 +129,8 @@ class UpgradeAppNetWorkManager private constructor() {
|
||||
SharedPrefsMgr.getInstance().putString(SharedPrefsConstants.APP_UPGRADE_CONTENT,
|
||||
"$t--mac:$macAddress --type:$type --sn:$sn "
|
||||
)
|
||||
provider?.recordUpgradeRequestFailed(t.message ?: "更新接口请求失败")
|
||||
// provider?.recordUpgradeRequestFailed(t.message ?: "更新接口请求失败")
|
||||
provider?.recordUpgradeRequestFailed(t.message ?: StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_update_api_request_failed))
|
||||
deleteApkFile()
|
||||
}
|
||||
delay(TimeUnit.HOURS.toMillis(1))
|
||||
@@ -165,7 +167,12 @@ class UpgradeAppNetWorkManager private constructor() {
|
||||
Log.d("ApkInstaller", "需要走patch升级 -- 4 --:$accept")
|
||||
if (!accept) {
|
||||
Log.d("ApkInstaller", "旧版本apk包的md5与服务端上的md5不匹配...")
|
||||
provider.recordSourceMd5CheckFailed("旧apk的md5与服务端的md5不一致:[server_md5: ${patchInfo.sourceMd5}, apk_md5: ${AppUtils.getAppApkMd5()}]")
|
||||
// provider.recordSourceMd5CheckFailed("旧apk的md5与服务端的md5不一致:[server_md5: ${patchInfo.sourceMd5}, apk_md5: ${AppUtils.getAppApkMd5()}]")
|
||||
provider.recordSourceMd5CheckFailed(
|
||||
StringUtils.getString(
|
||||
com.mogo.eagle.core.widget.R.string.module_core_old_md5_server_md5_inconformity,
|
||||
patchInfo.sourceMd5,
|
||||
AppUtils.getAppApkMd5()))
|
||||
} else {
|
||||
Log.d("ApkInstaller", "需要走patch升级 -- 5 --")
|
||||
provider.recordSourceMd5CheckSuccess()
|
||||
@@ -189,7 +196,8 @@ class UpgradeAppNetWorkManager private constructor() {
|
||||
mDownloadRequested = true
|
||||
try {
|
||||
withContext(Dispatchers.Main) {
|
||||
Toast.makeText(Utils.getApp(), "检测到新版本[${info.result.versionName}]并且当前设备支持静默升级,开始下载新版本...", Toast.LENGTH_SHORT).show()
|
||||
// Toast.makeText(Utils.getApp(), "检测到新版本[${info.result.versionName}]并且当前设备支持静默升级,开始下载新版本...", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(Utils.getApp(),com.mogo.eagle.core.widget.R.string.module_core_find_new_version_quiesce_install , Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
} catch (t: Throwable) {
|
||||
t.printStackTrace()
|
||||
|
||||
@@ -97,7 +97,8 @@ class UpgradeManager : IDownloadListener {
|
||||
val ret = dir.mkdirs()
|
||||
if (!ret) {
|
||||
Logger.w(TAG, "create new apk path failed.")
|
||||
throw AssertionError("创建目录失败")
|
||||
// throw AssertionError("创建目录失败")
|
||||
throw AssertionError(StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_dir_create_failed))
|
||||
}
|
||||
}
|
||||
if (dir != null){
|
||||
@@ -111,17 +112,21 @@ class UpgradeManager : IDownloadListener {
|
||||
upgradeProvider?.recordInstallApplyPatchStart()
|
||||
var ret = CallerPatchManager.applyPatch(Utils.getApp(), patch, newApk)
|
||||
if (!ret) {
|
||||
upgradeProvider?.recordInstallApplyPatchFailed("合成patch失败")
|
||||
// upgradeProvider?.recordInstallApplyPatchFailed("合成patch失败")
|
||||
upgradeProvider?.recordInstallApplyPatchFailed(StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_compound_patch_failed))
|
||||
Logger.w(TAG, "合成patch失败...")
|
||||
throw AssertionError("合成patch失败...")
|
||||
// throw AssertionError("合成patch失败...")
|
||||
throw AssertionError("${StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_compound_patch_failed)}...")
|
||||
} else {
|
||||
upgradeProvider?.recordInstallApplyPatchSuccess()
|
||||
upgradeProvider?.recordTargetMd5CheckStart()
|
||||
ret = CallerPatchManager.checkMd5ForMergedApk(Utils.getApp(), newApk, patchInfo.targetMd5)
|
||||
if (!ret) {
|
||||
upgradeProvider?.recordTargetMd5CheckFailed("合成后的apk的md5与服务端上的目标版本的md5不一致:[server_target_md5: ${patchInfo.targetMd5}, merged_md5: ${Md5Util.getMd5FromFile(newApk)}]")
|
||||
// upgradeProvider?.recordTargetMd5CheckFailed("合成后的apk的md5与服务端上的目标版本的md5不一致:[server_target_md5: ${patchInfo.targetMd5}, merged_md5: ${Md5Util.getMd5FromFile(newApk)}]")
|
||||
upgradeProvider?.recordTargetMd5CheckFailed("${StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_compound_apk_md5_check_failed)}:[server_target_md5: ${patchInfo.targetMd5}, merged_md5: ${Md5Util.getMd5FromFile(newApk)}]")
|
||||
Logger.w(TAG, "md5校验失败...")
|
||||
throw AssertionError("md5校验失败:[target:${patchInfo.targetMd5}]")
|
||||
// throw AssertionError("md5校验失败:[target:${patchInfo.targetMd5}]")
|
||||
throw AssertionError("${StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_md5_check_failed)}:[target:${patchInfo.targetMd5}]")
|
||||
} else {
|
||||
Logger.w(TAG, "md5校验成功...")
|
||||
upgradeProvider?.recordTargetMd5CheckSuccess()
|
||||
@@ -153,10 +158,12 @@ class UpgradeManager : IDownloadListener {
|
||||
} catch (t: Throwable) {
|
||||
t.printStackTrace()
|
||||
isPatchInstallFailed = true
|
||||
patchInstallFailedReason = t.message ?: "安装失败: code -1"
|
||||
// patchInstallFailedReason = t.message ?: "安装失败: code -1"
|
||||
patchInstallFailedReason = t.message ?: "${StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_install_failed)}: code -1"
|
||||
}
|
||||
} else {
|
||||
patchInstallFailedReason = "patch下载后文件不存在"
|
||||
// patchInstallFailedReason = "patch下载后文件不存在"
|
||||
patchInstallFailedReason = StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_patch_file_not_exist)
|
||||
isPatchInstallFailed = true
|
||||
}
|
||||
|
||||
@@ -190,10 +197,12 @@ class UpgradeManager : IDownloadListener {
|
||||
|
||||
override fun onError(url: String, error: String?) {
|
||||
CallerLogger.d("$M_DEVA$TAG","onError downloadUrl : $url , errorMsg : $error")
|
||||
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(url, error ?: "未知错误")
|
||||
// CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(url, error ?: "未知错误")
|
||||
CallerDevaToolsUpgradeListenerManager.invokeUpgradeError(url, error ?: StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_unknown_error))
|
||||
val type = types[url]
|
||||
if (type == APK || type == PATCH) {
|
||||
scope.launch { upgradeProvider?.recordDownloadFailed(url, error ?: "下载失败") }
|
||||
// scope.launch { upgradeProvider?.recordDownloadFailed(url, error ?: "下载失败") }
|
||||
scope.launch { upgradeProvider?.recordDownloadFailed(url, error ?: StringUtils.getString(com.mogo.eagle.core.widget.R.string.module_core_download_failed)) }
|
||||
} else if (type == OBU) {
|
||||
CallerLogger.e("${SceneConstant.M_DEVA}${MogoObuConst.TAG_UPGRADE_OBU}", "----updateObuUpgradeStatus errorMsg = $error ")
|
||||
//下载失败,删除文件夹
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.weak.network.SdtManager
|
||||
import com.zhjt.mogo_core_function_devatools.R
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||
|
||||
@@ -97,7 +98,8 @@ object WeakNetworkStrategy {
|
||||
invokeWeakResult("url为:$url, 耗时为:$timeStamp${if (isFail) " 连接失败!" else ""}")
|
||||
}
|
||||
if (timeStamp >= WEAK_HTTP_RTT) {
|
||||
ToastUtils.showShort("当前网络质量差!")
|
||||
// ToastUtils.showShort("当前网络质量差!")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_network_bad_quality)
|
||||
} else if (timeStamp in 300 until WEAK_HTTP_RTT) {
|
||||
// invokeWeakResult("url为:$url, 耗时为:$timeStamp${if (isFail) " 连接失败!" else ""}")
|
||||
SdtManager.startActiveCheck()
|
||||
|
||||
@@ -51,6 +51,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManage
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.JsonParser
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
|
||||
@@ -233,7 +234,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
//故障类型选择
|
||||
tvFaultType.setOnClickListener {
|
||||
if (!hasLevel2) {
|
||||
ToastUtils.showShort("运营后台没有配置故障类型")
|
||||
// ToastUtils.showShort("运营后台没有配置故障类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_operation_not_configured_fault_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (faultTypeSelectStatus) {
|
||||
@@ -273,7 +275,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
//故障原因选择
|
||||
tvFaultReason.setOnClickListener {
|
||||
if (tvFaultType.text.isEmpty()) {
|
||||
ToastUtils.showShort("请先选择故障类型")
|
||||
// ToastUtils.showShort("请先选择故障类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_operation_choose_fault_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (faultReasonSelectStatus) {
|
||||
@@ -305,7 +308,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
ivTimeAdd.setOnClickListener {
|
||||
if (workOrderOccurrenceTime + 60000 > System.currentTimeMillis()) {
|
||||
ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
// ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_occurrence_time_should_be_before_current_time)
|
||||
return@setOnClickListener
|
||||
}
|
||||
workOrderOccurrenceTime += 60000
|
||||
@@ -318,7 +322,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
if (hasFocus) {
|
||||
edit.hint = ""
|
||||
} else {
|
||||
edit.hint = "手动输入"
|
||||
// edit.hint = "手动输入"
|
||||
edit.hint = StringUtils.getString(R.string.module_core_manual_input)
|
||||
}
|
||||
}
|
||||
etNoteInput.addTextChangedListener(object : TextWatcher {
|
||||
@@ -358,11 +363,13 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
//上报
|
||||
tvFaultReport.setOnClickListener {
|
||||
if (level2Name.isEmpty()) {
|
||||
ToastUtils.showShort("请完整填写再上报")
|
||||
// ToastUtils.showShort("请完整填写再上报")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_complete_submit_again)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (hasLevel3 && level3Name.isEmpty()) {
|
||||
ToastUtils.showShort("请完整填写再上报")
|
||||
// ToastUtils.showShort("请完整填写再上报")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_complete_submit_again)
|
||||
return@setOnClickListener
|
||||
}
|
||||
reportNote = etNoteInput.text.toString()
|
||||
@@ -421,7 +428,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
@@ -450,7 +458,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -592,7 +601,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
// ToastUtils.showShort("故障原因上报失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cause_upload_fail, msg)
|
||||
}
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
@@ -627,7 +637,8 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
hasLevel3 = false
|
||||
} else {
|
||||
hasLevel2 = false
|
||||
ToastUtils.showShort("故障类型列表为空")
|
||||
// ToastUtils.showShort("故障类型列表为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_type_list_empty)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -635,6 +646,7 @@ class FaultReasonWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
ToastUtils.showShort("故障列表获取失败:$msg")
|
||||
// ToastUtils.showShort("故障列表获取失败:$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_list_get_fail, msg)
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,8 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
//一键上报
|
||||
ivOneClickReport.setOnClickListener {
|
||||
if(!canOneReport){
|
||||
ToastUtils.showShort("故障描述获取失败不能上报")
|
||||
// ToastUtils.showShort("故障描述获取失败不能上报")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_des_get_fail)
|
||||
return@setOnClickListener
|
||||
}
|
||||
hasReportOperate = true
|
||||
@@ -185,7 +186,8 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
clickListener?.closeWindow()
|
||||
},1500)
|
||||
}else{
|
||||
ToastUtils.showShort("主动录包命令下发失败")
|
||||
// ToastUtils.showShort("主动录包命令下发失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_initiative_record_bad_cmd_send_fail)
|
||||
clickListener?.closeWindow()
|
||||
}
|
||||
}
|
||||
@@ -316,14 +318,16 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
// ToastUtils.showShort("故障原因上报失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cause_upload_fail, msg)
|
||||
clickListener?.closeWindow()
|
||||
}
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
super.getCategoriesSuccess(list)
|
||||
if(list.isEmpty()){
|
||||
ToastUtils.showShort("一键上报故障描述后台未配置")
|
||||
// ToastUtils.showShort("一键上报故障描述后台未配置")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cloud_not_configured)
|
||||
canOneReport = false
|
||||
}else{
|
||||
when (level) {
|
||||
@@ -352,7 +356,8 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener {
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
ToastUtils.showShort("一键上报故障描述获取失败$msg")
|
||||
// ToastUtils.showShort("一键上报故障描述获取失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_desc_get_fail, msg)
|
||||
canOneReport = false
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ 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.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getMdFormat
|
||||
@@ -205,7 +206,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
//接管类型选择
|
||||
tvTakeOverType.setOnClickListener {
|
||||
if(!hasLevel2){
|
||||
ToastUtils.showShort("运营后台没有配置接管类型")
|
||||
// ToastUtils.showShort("运营后台没有配置接管类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_cloud_not_take_over_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(faultTypeSelectStatus){
|
||||
@@ -238,7 +240,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
//接管原因选择
|
||||
tvTakeOverReason.setOnClickListener {
|
||||
if(tvTakeOverType.text.isEmpty()){
|
||||
ToastUtils.showShort("请先选择接管类型")
|
||||
// ToastUtils.showShort("请先选择接管类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_take_over_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(faultReasonSelectStatus){
|
||||
@@ -263,7 +266,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
if(hasFocus){
|
||||
edit.hint = ""
|
||||
}else{
|
||||
edit.hint = "手动输入"
|
||||
// edit.hint = "手动输入"
|
||||
edit.hint = StringUtils.getString(R.string.module_core_manual_input)
|
||||
}
|
||||
}
|
||||
etNoteInput.addTextChangedListener(object: TextWatcher{
|
||||
@@ -299,11 +303,13 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
//保存
|
||||
tvTakeOverSave.setOnClickListener{
|
||||
if(level2Name.isEmpty()){
|
||||
ToastUtils.showShort("请完整填写再保存")
|
||||
// ToastUtils.showShort("请完整填写再保存")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_input_save)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(hasLevel3 && level3Name.isEmpty()){
|
||||
ToastUtils.showShort("请完整填写再保存")
|
||||
// ToastUtils.showShort("请完整填写再保存")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_input_save)
|
||||
return@setOnClickListener
|
||||
}
|
||||
mTakeOverRecordInfo.reportNote = etNoteInput.text.toString()
|
||||
@@ -347,7 +353,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
@@ -372,7 +379,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -555,7 +563,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
hasLevel3 = false
|
||||
}else{
|
||||
hasLevel2 = false
|
||||
ToastUtils.showShort("接管类型列表为空")
|
||||
// ToastUtils.showShort("接管类型列表为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_take_over_type_list_empty)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -563,7 +572,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
ToastUtils.showShort("接管列表获取失败:$msg")
|
||||
// ToastUtils.showShort("接管列表获取失败:$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_take_over_type_list_get_error, msg)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -101,7 +101,8 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
})
|
||||
}
|
||||
if(takeOverReasonWindow?.getWindowShowStatus() == true){
|
||||
ToastUtils.showShort("接管原因弹窗已存在,请先编辑现有接管原因")
|
||||
// ToastUtils.showShort("接管原因弹窗已存在,请先编辑现有接管原因")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_take_over_window_showing)
|
||||
}else{
|
||||
takeOverReasonWindow?.showFloatWindow(takeOverRecordInfo)
|
||||
}
|
||||
@@ -129,7 +130,8 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
tvUpload.setOnClickListener {
|
||||
if (ClickUtils.isFastClick()){
|
||||
if(selectedUploadRecord.isEmpty()){
|
||||
ToastUtils.showShort("请选择需要上传的接管记录")
|
||||
// ToastUtils.showShort("请选择需要上传的接管记录")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_take_over_info)
|
||||
}else{
|
||||
val recordIterator = selectedUploadRecord.iterator()
|
||||
val padProblemList= ArrayList<PadTakeOverInfo>()
|
||||
@@ -137,7 +139,8 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
val uploadRecord = recordIterator.next()
|
||||
uploadRecord.let {
|
||||
if(it.level1Id == 0 || it.level2Id == 0 || it.level3Id == 0){
|
||||
ToastUtils.showShort("请编辑选中的接管记录")
|
||||
// ToastUtils.showShort("请编辑选中的接管记录")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_edit_take_over_info)
|
||||
return@setOnClickListener
|
||||
}
|
||||
val reason = if(it.reportNote.isEmpty()){
|
||||
@@ -158,13 +161,15 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
CallerDevaToolsManager.takeOverPadAdd(padAddProblemReq)
|
||||
}
|
||||
} else {
|
||||
ToastUtils.showShort("请勿快速点击")
|
||||
// ToastUtils.showShort("请勿快速点击")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_dot_quick_click)
|
||||
}
|
||||
}
|
||||
//删除
|
||||
tvDeleteSelect.setOnClickListener {
|
||||
if(selectedUploadRecord.isEmpty()){
|
||||
ToastUtils.showShort("请选择需要删除的接管记录")
|
||||
// ToastUtils.showShort("请选择需要删除的接管记录")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_del_take_over_info)
|
||||
}else{
|
||||
scope.launch(Dispatchers.IO){
|
||||
CallerTakeOverRecordEventManager.invokeRemoveRecord(selectedUploadRecord)
|
||||
@@ -227,7 +232,8 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
|
||||
override fun problemPadAddSuccess() {
|
||||
super.problemPadAddSuccess()
|
||||
ToastUtils.showShort("接管记录上传成功")
|
||||
// ToastUtils.showShort("接管记录上传成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_take_over_info_upload_success)
|
||||
//更新记录状态并且刷新列表
|
||||
ThreadUtils.runOnUiThread {
|
||||
selectedUploadRecord.forEach {
|
||||
@@ -243,7 +249,8 @@ class TakeOverRecordView @JvmOverloads constructor(
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("接管记录上传失败$msg")
|
||||
// ToastUtils.showShort("接管记录上传失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_take_over_info_upload_fail, msg)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -74,7 +74,8 @@ class TakeOverSceneWindow constructor(activity: Activity) {
|
||||
//前一个场景
|
||||
ivScenePrevious.setOnClickListener {
|
||||
if(currentIndex == 0){
|
||||
ToastUtils.showShort("没有上一个场景了")
|
||||
// ToastUtils.showShort("没有上一个场景了")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_none_last_scene)
|
||||
}else{
|
||||
currentIndex = (currentIndex-1).coerceAtLeast(0)
|
||||
vpSceneImage.currentItem = currentIndex
|
||||
@@ -86,7 +87,8 @@ class TakeOverSceneWindow constructor(activity: Activity) {
|
||||
currentIndex = (currentIndex + 1).coerceAtMost(2)
|
||||
vpSceneImage.currentItem = currentIndex
|
||||
}else{
|
||||
ToastUtils.showShort("没有下一个场景了")
|
||||
// ToastUtils.showShort("没有下一个场景了")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_none_last_scene)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.JsonParser
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
@@ -143,22 +144,28 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
rgType.setOnCheckedChangeListener{_, checkedId ->
|
||||
when(checkedId){
|
||||
R.id.rb_type_software->{
|
||||
workOrderType = "软件"
|
||||
// workOrderType = "软件"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_software)
|
||||
}
|
||||
R.id.rb_type_kit->{
|
||||
workOrderType = "套件"
|
||||
// workOrderType = "套件"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_kit)
|
||||
}
|
||||
R.id.rb_type_vehicle->{
|
||||
workOrderType = "车辆"
|
||||
// workOrderType = "车辆"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_vehicle)
|
||||
}
|
||||
R.id.rb_type_capacity->{
|
||||
workOrderType = "运力"
|
||||
// workOrderType = "运力"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_capacity)
|
||||
}
|
||||
R.id.rb_type_environment->{
|
||||
workOrderType = "环境"
|
||||
// workOrderType = "环境"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_environment)
|
||||
}
|
||||
R.id.rb_type_other->{
|
||||
workOrderType = "其他"
|
||||
// workOrderType = "其他"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_other)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -170,7 +177,8 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
ivTimeAdd.setOnClickListener {
|
||||
if(workOrderOccurrenceTime + 60000 > System.currentTimeMillis()){
|
||||
ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
// ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_occurrence_time_should_be_before_current_time)
|
||||
return@setOnClickListener
|
||||
}
|
||||
workOrderOccurrenceTime += 60000
|
||||
@@ -182,7 +190,8 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
if(hasFocus){
|
||||
edit.hint = ""
|
||||
}else{
|
||||
edit.hint = "手动输入"
|
||||
// edit.hint = "手动输入"
|
||||
edit.hint = StringUtils.getString(R.string.module_core_manual_input)
|
||||
}
|
||||
}
|
||||
etDescribeInput.addTextChangedListener(object: TextWatcher{
|
||||
@@ -209,11 +218,13 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
tvWorkOrderReport.setOnClickListener {
|
||||
//工单问题类型必选,没有选择,进行提示
|
||||
if(workOrderType.isEmpty()){
|
||||
ToastUtils.showShort("请选择问题类型")
|
||||
// ToastUtils.showShort("请选择问题类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_issue_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(etDescribeInput.text.toString().isEmpty()){
|
||||
ToastUtils.showShort("请填写问题描述")
|
||||
// ToastUtils.showShort("请填写问题描述")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_issue_desc)
|
||||
return@setOnClickListener
|
||||
}
|
||||
GlobalScope.launch(Dispatchers.IO){
|
||||
@@ -254,7 +265,8 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
@@ -278,7 +290,8 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -386,12 +399,14 @@ class WorkOrderWindow constructor(activity: Activity) : View.OnTouchListener,
|
||||
}
|
||||
|
||||
override fun workOrderReportSuccess() {
|
||||
ToastUtils.showShort("工单上报成功")
|
||||
// ToastUtils.showShort("工单上报成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_work_order_upload_success)
|
||||
hideFloatWindow()
|
||||
}
|
||||
|
||||
override fun workOrderReportError() {
|
||||
ToastUtils.showShort("工单上报失败")
|
||||
// ToastUtils.showShort("工单上报失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_work_order_upload_fail)
|
||||
}
|
||||
|
||||
fun setClickListener(clickListener: ClickListener) {
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.mogo.eagle.core.data.deva.report.TakeOverRecordInfo
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinSecondFormat
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
@@ -78,20 +79,23 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
|
||||
clickListener?.onSelectRecord(recordEntity,isChecked)
|
||||
}
|
||||
holder.ivCannotCheck.setOnClickListener {
|
||||
ToastUtils.showShort("该条记录已上传,不可选择")
|
||||
// ToastUtils.showShort("该条记录已上传,不可选择")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_uploaded_dot_choose)
|
||||
}
|
||||
holder.tvFaultStartTime.text = TimeUtils.millis2String(recordEntity.faultStartTime,getHourMinSecondFormat())
|
||||
holder.tvLineName.text = recordEntity.lineName
|
||||
if(recordEntity.reportNote.isEmpty() && recordEntity.level1Name.isEmpty()
|
||||
&& recordEntity.level2Name.isEmpty() && recordEntity.level3Name.isEmpty()){
|
||||
holder.tvTakeOverReason.text = "原因:空"
|
||||
// holder.tvTakeOverReason.text = "原因:空"
|
||||
holder.tvTakeOverReason.text = StringUtils.getString(R.string.module_core_cause, StringUtils.getString(R.string.module_core_empty))
|
||||
}else{
|
||||
val reason = if(recordEntity.reportNote.isEmpty()){
|
||||
"${recordEntity.level1Name}-${recordEntity.level2Name}-${recordEntity.level3Name}"
|
||||
}else{
|
||||
"${recordEntity.level1Name}-${recordEntity.level2Name}-${recordEntity.level3Name}(${recordEntity.reportNote})"
|
||||
}
|
||||
holder.tvTakeOverReason.text = "原因:$reason"
|
||||
// holder.tvTakeOverReason.text = "原因:$reason"
|
||||
holder.tvTakeOverReason.text = StringUtils.getString(R.string.module_core_cause, reason)
|
||||
}
|
||||
if(recordEntity.reportStatus){
|
||||
//已上报
|
||||
@@ -110,7 +114,8 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
|
||||
}
|
||||
holder.ivRecordStatusLabel.setOnClickListener {
|
||||
if(recordEntity.reportStatus){
|
||||
ToastUtils.showShort("此条记录已上传不可再次编辑")
|
||||
// ToastUtils.showShort("此条记录已上传不可再次编辑")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_uploaded_dot_edit)
|
||||
}else{
|
||||
clickListener?.onEditRecord(recordEntity)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
android:layout_width="1110px"
|
||||
android:layout_height="688px">
|
||||
|
||||
<!-- android:text="cos桶上传中"-->
|
||||
<TextView
|
||||
android:id="@+id/tvUploadTitle"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -12,7 +13,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:text="cos桶上传中"
|
||||
android:text="@string/module_core_cos_uploading"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="56px"
|
||||
android:layout_marginTop="95px"
|
||||
@@ -38,6 +39,7 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/viewVerticalLine"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消上传"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancelUpload"
|
||||
android:layout_width="0dp"
|
||||
@@ -46,12 +48,13 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/viewVerticalLine"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:text="取消上传"
|
||||
android:text="@string/module_core_cancel_upload"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancel"
|
||||
android:layout_width="0dp"
|
||||
@@ -60,7 +63,7 @@
|
||||
app:layout_constraintLeft_toRightOf="@id/viewVerticalLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -8,11 +8,12 @@
|
||||
app:roundLayoutRadius="32dp"
|
||||
>
|
||||
|
||||
<!-- android:text="case清单"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCaseListTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="case清单"
|
||||
android:text="@string/module_core_case_list"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="56dp"
|
||||
android:gravity="center"
|
||||
@@ -22,11 +23,12 @@
|
||||
android:layout_marginTop="50dp"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/viewVerticalLine"
|
||||
/>
|
||||
|
||||
<!-- android:text="保存"-->
|
||||
<TextView
|
||||
android:id="@+id/tvSave"
|
||||
android:layout_width="0dp"
|
||||
@@ -46,12 +46,13 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/viewVerticalLine"
|
||||
android:text="保存"
|
||||
android:text="@string/module_core_save"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancel"
|
||||
android:layout_width="0dp"
|
||||
@@ -60,7 +61,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/viewVerticalLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
@@ -90,6 +91,7 @@
|
||||
android:layout_marginEnd="40px"
|
||||
/>
|
||||
|
||||
<!-- android:hint="topic搜索"-->
|
||||
<EditText
|
||||
android:id="@+id/etSearch"
|
||||
android:layout_width="0dp"
|
||||
@@ -98,7 +100,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/ivSearch"
|
||||
android:hint="topic搜索"
|
||||
android:hint="@string/module_core_topic_search"
|
||||
android:textSize="38px"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textColorHint="#B3FFFFFF"
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
android:layout_width="1110px"
|
||||
android:layout_height="688px">
|
||||
|
||||
<!-- android:text="当前工控机磁盘空间已满"-->
|
||||
<TextView
|
||||
android:id="@+id/tvWarningTitle"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -12,7 +13,7 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:text="当前工控机磁盘空间已满"
|
||||
android:text="@string/module_core_ipc_disk_full"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="56px"
|
||||
android:layout_marginTop="95px"
|
||||
@@ -38,6 +39,7 @@
|
||||
app:layout_constraintBottom_toTopOf="@id/viewVerticalLine"
|
||||
/>
|
||||
|
||||
<!-- android:text="清理磁盘"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCleanDisk"
|
||||
android:layout_width="0dp"
|
||||
@@ -46,12 +48,13 @@
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/viewVerticalLine"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:text="清理磁盘"
|
||||
android:text="@string/module_core_ipc_disk_clean"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancel"
|
||||
android:layout_width="0dp"
|
||||
@@ -60,7 +63,7 @@
|
||||
app:layout_constraintLeft_toRightOf="@id/viewVerticalLine"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="52px"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
/>
|
||||
|
||||
|
||||
<!-- android:text="已上报"-->
|
||||
<TextView
|
||||
android:id="@+id/tvBagReportStatus"
|
||||
android:layout_width="162dp"
|
||||
@@ -75,7 +75,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:text="已上报"
|
||||
android:text="@string/module_core_reported"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="28dp"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
android:gravity="center"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCancelSelect"
|
||||
android:layout_width="200dp"
|
||||
@@ -131,7 +132,7 @@
|
||||
app:layout_constraintLeft_toRightOf="@id/tvSelectAll"
|
||||
android:layout_marginStart="30dp"
|
||||
android:background="@drawable/cancel_select_button_bg"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="36dp"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<!-- android:text="上报"-->
|
||||
<TextView
|
||||
android:id="@+id/tvInitiativeReport"
|
||||
android:layout_width="@dimen/dp_335"
|
||||
@@ -112,13 +113,14 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/tvInitiativeCancel"
|
||||
android:background="@drawable/bg_passive_report"
|
||||
android:text="上报"
|
||||
android:text="@string/module_core_report"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_100"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvInitiativeCancel"
|
||||
android:layout_width="@dimen/dp_335"
|
||||
@@ -126,7 +128,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/viewInitiativeTitleBg"
|
||||
app:layout_constraintLeft_toRightOf="@id/tvInitiativeReport"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_36"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -106,6 +106,7 @@
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<!-- android:text="上报"-->
|
||||
<TextView
|
||||
android:id="@+id/tvPassiveReport"
|
||||
android:layout_width="@dimen/dp_335"
|
||||
@@ -114,13 +115,14 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/tvPassiveCancel"
|
||||
android:background="@drawable/bg_passive_report"
|
||||
android:text="上报"
|
||||
android:text="@string/module_core_report"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_100"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvPassiveCancel"
|
||||
android:layout_width="@dimen/dp_335"
|
||||
@@ -128,7 +130,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="@id/viewPassiveTitleBg"
|
||||
app:layout_constraintLeft_toRightOf="@id/tvPassiveReport"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_36"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
android:layout_margin="@dimen/dp_25"
|
||||
/>
|
||||
|
||||
<!-- android:text="上报"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCollectReport"
|
||||
android:layout_width="270dp"
|
||||
@@ -58,13 +59,14 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/tvCollectCancel"
|
||||
android:background="@drawable/report_button_bg"
|
||||
android:text="上报"
|
||||
android:text="@string/module_core_report"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="30dp"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
/>
|
||||
|
||||
<!-- android:text="取消"-->
|
||||
<TextView
|
||||
android:id="@+id/tvCollectCancel"
|
||||
android:layout_width="270dp"
|
||||
@@ -72,7 +74,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/tvCollectReport"
|
||||
android:text="取消"
|
||||
android:text="@string/module_core_cancel"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="30dp"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="work_order_report_title">Issue Report</string>
|
||||
<string name="work_order_type">Issue Type</string>
|
||||
<string name="work_order_occurrence_time">Occurrence Time</string>
|
||||
<string name="work_order_describe">Additional Description</string>
|
||||
<string name="work_order_describe_input">Manual Input</string>
|
||||
<string name="work_order_report">Report</string>
|
||||
<string name="work_order_cancel">Cancel</string>
|
||||
<string name="work_order_time">Time:</string>
|
||||
<string name="work_order_type_software">Software</string>
|
||||
<string name="work_order_type_kit">Kit</string>
|
||||
<string name="work_order_type_vehicle">Vehicle</string>
|
||||
<string name="work_order_type_capacity">Capacity</string>
|
||||
<string name="work_order_type_environment">Environment</string>
|
||||
<string name="work_order_type_other">Other</string>
|
||||
|
||||
<string name="exam_vehicle_control">Vehicle Control</string>
|
||||
<string name="exam_vehicle_mode">Vehicle Mode</string>
|
||||
<string name="exam_line_change">Obstacle</string>
|
||||
<string name="exam_aeb">Braking</string>
|
||||
<string name="exam_map_speed">Speed Limit</string>
|
||||
<string name="exam_ramp">Roundabout</string>
|
||||
<string name="exam_stop_yield">Stop</string>
|
||||
<string name="exam_fault_alarm">Fault Alarm</string>
|
||||
<string name="exam_fault_camera">Camera</string>
|
||||
<string name="exam_fault_lidar">LiDAR</string>
|
||||
<string name="exam_fault_radar">MmWave Radar</string>
|
||||
<string name="exam_fault_wire">Drive-by-Wire</string>
|
||||
<string name="exam_seat_status">Seat Status</string>
|
||||
<string name="exam_line_to_left">Left Lane Change</string>
|
||||
<string name="exam_line_to_right">Right Lane Change</string>
|
||||
<string name="exam_pull_over">Pull Over</string>
|
||||
<string name="exam_over_take">Overtake</string>
|
||||
<string name="exam_take_over_request">Takeover Request</string>
|
||||
<string name="exam_take_over_recover">Resume Autopilot</string>
|
||||
<string name="exam_emergency_stop">Emergency Stop</string>
|
||||
<string name="exam_cancel_autopilot">Exit Autopilot</string>
|
||||
<string name="exam_close">Close Exam Vehicle Control</string>
|
||||
|
||||
<string name="identified_vehicle_malfunction">Vehicle Malfunction Detected (%ds)</string>
|
||||
<string name="one_click_report">One-click Report</string>
|
||||
<string name="report_type">Report Type</string>
|
||||
<string name="report_type_fault">Fault</string>
|
||||
<string name="report_type_take_over">Active Recording</string>
|
||||
<string name="report_success">Report Submitted</string>
|
||||
<string name="record_success">Recording Initiated</string>
|
||||
<string name="take_over_record_close">Close Takeover Record Button</string>
|
||||
<string name="take_over_record">Takeover Record</string>
|
||||
<string name="take_over_record_upload">One-click Upload</string>
|
||||
<string name="take_over_record_delete">Delete</string>
|
||||
<string name="take_over_record_status_label">Takeover Record Status Label</string>
|
||||
<string name="take_over_reason">Takeover Reason</string>
|
||||
<string name="take_over_time">Time:</string>
|
||||
<string name="take_over_type_select">Select Takeover Type</string>
|
||||
<string name="take_over_type">Takeover Type</string>
|
||||
<string name="fault_type">Fault Type</string>
|
||||
<string name="fault_type_select">Select Fault Type</string>
|
||||
<string name="fault_reason">Fault Reason</string>
|
||||
<string name="fault_reason_select">Select Fault Reason</string>
|
||||
<string name="fault_time">Occurrence Time</string>
|
||||
<string name="fault_open_time">Time:</string>
|
||||
<string name="fault_time_reduce">Adjust Time Backward</string>
|
||||
<string name="fault_time_add">Adjust Time Forward</string>
|
||||
<string name="fault_note">Additional Description</string>
|
||||
<string name="fault_note_supplement">(Optional)</string>
|
||||
<string name="take_over_note_input">Manual Input</string>
|
||||
<string name="take_over_note_audio">Voice Input Description</string>
|
||||
<string name="take_over_scene_image">Scene Image</string>
|
||||
<string name="take_over_front_camera">Front 120° Camera</string>
|
||||
<string name="take_over_rear_camera">Rear 120° Camera</string>
|
||||
<string name="take_over_map_screen">HD Map Screenshot</string>
|
||||
<string name="take_over_previous_scene">Previous Scene</string>
|
||||
<string name="take_over_close_scene">Close Scene</string>
|
||||
<string name="take_over_next_scene">Next Scene</string>
|
||||
<string name="fault_report">Report</string>
|
||||
<string name="take_over_save">Save</string>
|
||||
<string name="take_over_cancel">Cancel</string>
|
||||
<string name="take_over_record_no_data">No Data</string>
|
||||
<string name="take_over_record_cannot_check">Cannot Select</string>
|
||||
<string name="ai_collect_report_title">Report</string>
|
||||
|
||||
<string name="passive_title">Fault Feedback</string>
|
||||
|
||||
</resources>
|
||||
@@ -19,6 +19,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.SoundPoolUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.mogo_core_function_devatools.status.StatusManager
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.AcceleratorStatus
|
||||
@@ -80,7 +81,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
|
||||
|
||||
private fun initView() {
|
||||
// 默认展示 FSM 情况未知的状态
|
||||
handleFSM(FSMStatus(FSMStateCode.UnKnown, listOf("未知")))
|
||||
// handleFSM(FSMStatus(FSMStateCode.UnKnown, listOf("未知")))
|
||||
handleFSM(FSMStatus(FSMStateCode.UnKnown, listOf(StringUtils.getString(R.string.module_core_unknown))))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -293,7 +295,8 @@ class StartAutoPilotStatusView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun handleFSMDemoMode() {
|
||||
Logger.d(TAG, "--- handleFSMDemoMode ---")
|
||||
handleFSM(FSMStatus(FSMStateCode.ExistNormal, listOf("正常")))
|
||||
// handleFSM(FSMStatus(FSMStateCode.ExistNormal, listOf("正常")))
|
||||
handleFSM(FSMStatus(FSMStateCode.ExistNormal, listOf(StringUtils.getString(R.string.module_core_normal))))
|
||||
}
|
||||
|
||||
private fun notifyStatus(isError: Boolean) {
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.zhjt.mogo_core_function_devatools.status.StatusManager
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.FSMStateCode
|
||||
import com.zhjt.mogo_core_function_devatools.status.entity.FSMStatus
|
||||
@@ -48,7 +49,8 @@ class FSMStatusDetailDialog(context: Context) : BaseFloatDialog(context, TAG),
|
||||
}
|
||||
|
||||
fun setFsmErrorStatus(msgArray: List<String>) {
|
||||
tvTitle?.text = "FSM异常"
|
||||
// tvTitle?.text = "FSM异常"
|
||||
tvTitle?.text = StringUtils.getString(R.string.module_core_fsm_error)
|
||||
runCatching {
|
||||
val c = Color.parseColor("#FF4E41")
|
||||
tvTitle?.setTextColor(c)
|
||||
@@ -60,16 +62,19 @@ class FSMStatusDetailDialog(context: Context) : BaseFloatDialog(context, TAG),
|
||||
}
|
||||
|
||||
private fun setFsmNormalStatus() {
|
||||
tvTitle?.text = "FSM正常"
|
||||
// tvTitle?.text = "FSM正常"
|
||||
tvTitle?.text = StringUtils.getString(R.string.module_core_fsm_normal)
|
||||
runCatching {
|
||||
val c = Color.parseColor("#26C14F")
|
||||
tvTitle?.setTextColor(c)
|
||||
}
|
||||
addFsmMsgItemView(ArrayList<String>().also { it += "FSM异常状态已恢复" }, false)
|
||||
// addFsmMsgItemView(ArrayList<String>().also { it += "FSM异常状态已恢复" }, false)
|
||||
addFsmMsgItemView(ArrayList<String>().also { it += StringUtils.getString(R.string.module_core_fsm_error_recover) }, false)
|
||||
}
|
||||
|
||||
private fun setFsmUnknownStatus() {
|
||||
tvTitle?.text = "FSM状态未知"
|
||||
// tvTitle?.text = "FSM状态未知"
|
||||
tvTitle?.text = StringUtils.getString(R.string.module_core_fsm_error_unknown)
|
||||
runCatching {
|
||||
val c = Color.parseColor("#FFCD3D")
|
||||
tvTitle?.setTextColor(c)
|
||||
@@ -78,7 +83,8 @@ class FSMStatusDetailDialog(context: Context) : BaseFloatDialog(context, TAG),
|
||||
}
|
||||
|
||||
private fun setFsmNotExistStatus() {
|
||||
tvTitle?.text = "FSM不存在"
|
||||
// tvTitle?.text = "FSM不存在"
|
||||
tvTitle?.text = StringUtils.getString(R.string.module_core_fsm_not_exist)
|
||||
runCatching {
|
||||
val c = Color.parseColor("#FFFFFF")
|
||||
tvTitle?.setTextColor(c)
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.util.AppUtils
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.map.MogoData
|
||||
@@ -140,7 +141,8 @@ class CarInfoTabView @JvmOverloads constructor(
|
||||
)
|
||||
val provider = CallerDevaToolsManager.upgradeProvider()
|
||||
if (provider?.isDownloading() == true) {
|
||||
ToastUtils.showShort("正在下载最新版本,请稍候再试...")
|
||||
// ToastUtils.showShort("正在下载最新版本,请稍候再试...")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_downloading_new_version)
|
||||
return@setOnClickListener
|
||||
}
|
||||
CallerDevaToolsManager.queryAppUpgrade { upgradeStatus, errorInfo ->
|
||||
@@ -168,7 +170,8 @@ class CarInfoTabView @JvmOverloads constructor(
|
||||
CallerAutoPilotControlManager.sendOtaPadMsgQuery(query.toString())
|
||||
CallerOTAManager.invokeOtaPadMsgQuery()
|
||||
}else{
|
||||
ToastUtils.showLong("当前SSM节点未成功启动或当前版本不支持OTA升级")
|
||||
// ToastUtils.showLong("当前SSM节点未成功启动或当前版本不支持OTA升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_ssm_not_start)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -385,16 +388,20 @@ class CarInfoTabView @JvmOverloads constructor(
|
||||
leftTime = productInfo.optInt("left_time")//剩余时间,单位秒
|
||||
}
|
||||
val upgradeTime = if(leftTime > 60){
|
||||
"预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime/60}分钟${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used, leftTime / 60, leftTime % 60)
|
||||
}else{
|
||||
"预计部署过程用时${leftTime%60}秒"
|
||||
// "预计部署过程用时${leftTime%60}秒"
|
||||
StringUtils.getString(R.string.module_core_deployment_time_used1, leftTime % 60)
|
||||
}
|
||||
CallerHmiManager.showOTAUpgradeDialog(1,true,upgradeReason+upgradeTime)
|
||||
}else{
|
||||
ToastUtils.showLong("请结束订单后触发升级")
|
||||
// ToastUtils.showLong("请结束订单后触发升级")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_stop_order_upgrade)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showLong("暂无待升级任务!")
|
||||
// ToastUtils.showLong("暂无待升级任务!")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_devatools_not_upgrade_task)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.JsonParser
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
|
||||
@@ -183,7 +184,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
//故障类型选择
|
||||
tvFaultType.setOnClickListener {
|
||||
if (!hasLevel2) {
|
||||
ToastUtils.showShort("运营后台没有配置故障类型")
|
||||
// ToastUtils.showShort("运营后台没有配置故障类型")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_operation_not_configured_fault_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (faultTypeSelectStatus) {
|
||||
@@ -223,11 +225,13 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
//故障原因选择
|
||||
tvFaultReason.setOnClickListener {
|
||||
if (tvFaultType.text.isEmpty()) {
|
||||
ToastUtils.showShort("请先选择故障类型")
|
||||
// ToastUtils.showShort("请先选择故障类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_operation_choose_fault_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(!hasLevel3){
|
||||
ToastUtils.showShort("后台未配置故障原因")
|
||||
// ToastUtils.showShort("后台未配置故障原因")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_cloud_not_fault_cause)
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
@@ -257,7 +261,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
}
|
||||
ivTimeAdd.setOnClickListener {
|
||||
if (workOrderOccurrenceTime + 60000 > System.currentTimeMillis()) {
|
||||
ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
// ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_occurrence_time_should_be_before_current_time)
|
||||
return@setOnClickListener
|
||||
}
|
||||
workOrderOccurrenceTime += 60000
|
||||
@@ -271,7 +276,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
if (hasFocus) {
|
||||
edit.hint = ""
|
||||
} else {
|
||||
edit.hint = "手动输入"
|
||||
// edit.hint = "手动输入"
|
||||
edit.hint = StringUtils.getString(R.string.module_core_manual_input)
|
||||
}
|
||||
}
|
||||
etNoteInput.addTextChangedListener(object : TextWatcher {
|
||||
@@ -312,11 +318,13 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
tvFaultReport.setOnClickListener {
|
||||
if(ClickUtils.isFastClick()){
|
||||
if (level2Name.isEmpty()) {
|
||||
ToastUtils.showShort("请完整填写再上报")
|
||||
// ToastUtils.showShort("请完整填写再上报")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_complete_submit_again)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (hasLevel3 && level3Name.isEmpty()) {
|
||||
ToastUtils.showShort("请完整填写再上报")
|
||||
// ToastUtils.showShort("请完整填写再上报")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_complete_submit_again)
|
||||
return@setOnClickListener
|
||||
}
|
||||
reportNote = etNoteInput.text.toString()
|
||||
@@ -359,7 +367,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
val q = RegeocodeQuery(latLon, 200f, GeocodeSearch.AMAP)
|
||||
geocodeSearch.getFromLocationAsyn(q)
|
||||
}else{
|
||||
ToastUtils.showShort("请勿连续上报,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续上报,稍后再试")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_dot_continuous_upload)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -380,7 +389,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
@@ -405,7 +415,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -499,7 +510,9 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
// ToastUtils.showShort("故障原因上报失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cause_upload_fail, msg)
|
||||
|
||||
}
|
||||
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
@@ -533,7 +546,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
hasLevel3 = false
|
||||
} else {
|
||||
hasLevel2 = false
|
||||
ToastUtils.showShort("故障类型列表为空")
|
||||
// ToastUtils.showShort("故障类型列表为空")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_type_list_empty)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -542,7 +556,8 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
if(ProjectUtils.isSaas()){
|
||||
ToastUtils.showShort("故障列表获取失败:$msg")
|
||||
// ToastUtils.showShort("故障列表获取失败:$msg")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_fault_list_get_fail, msg)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,7 +86,8 @@ class ReportTypeView @JvmOverloads constructor(
|
||||
//一键上报
|
||||
ivOneClickReport.setOnClickListener {
|
||||
if(!canOneReport){
|
||||
ToastUtils.showShort("故障描述获取失败不能上报")
|
||||
// ToastUtils.showShort("故障描述获取失败不能上报")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_fault_des_get_fail)
|
||||
return@setOnClickListener
|
||||
}
|
||||
hasReportOperate = true
|
||||
@@ -145,7 +146,8 @@ class ReportTypeView @JvmOverloads constructor(
|
||||
clickListener?.closeReportView()
|
||||
},1500)
|
||||
}else{
|
||||
ToastUtils.showShort("主动录包命令下发失败")
|
||||
// ToastUtils.showShort("主动录包命令下发失败")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_initiative_record_bad_cmd_send_fail)
|
||||
this@ReportTypeView.visibility = View.GONE
|
||||
clickListener?.closeReportView()
|
||||
}
|
||||
@@ -236,7 +238,8 @@ class ReportTypeView @JvmOverloads constructor(
|
||||
|
||||
override fun problemPadAddError(msg: String) {
|
||||
super.problemPadAddError(msg)
|
||||
ToastUtils.showShort("故障原因上报失败$msg")
|
||||
// ToastUtils.showShort("故障原因上报失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cause_upload_fail, msg)
|
||||
ThreadUtils.runOnUiThread {
|
||||
this.visibility = View.GONE
|
||||
clickListener?.closeReportView()
|
||||
@@ -246,7 +249,8 @@ class ReportTypeView @JvmOverloads constructor(
|
||||
override fun getCategoriesSuccess(list: List<CategoryInfo>) {
|
||||
super.getCategoriesSuccess(list)
|
||||
if(list.isEmpty()){
|
||||
ToastUtils.showShort("一键上报故障描述后台未配置")
|
||||
// ToastUtils.showShort("一键上报故障描述后台未配置")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_cloud_not_configured)
|
||||
canOneReport = false
|
||||
}else{
|
||||
when (level) {
|
||||
@@ -275,7 +279,8 @@ class ReportTypeView @JvmOverloads constructor(
|
||||
|
||||
override fun getCategoriesError(msg: String) {
|
||||
super.getCategoriesError(msg)
|
||||
ToastUtils.showShort("一键上报故障描述获取失败$msg")
|
||||
// ToastUtils.showShort("一键上报故障描述获取失败$msg")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_fault_desc_get_fail, msg)
|
||||
canOneReport = false
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.JsonParser
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String
|
||||
@@ -100,22 +101,28 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
wrap_radio_group.setOnCheckedChangeListener{_, checkedId ->
|
||||
when(checkedId){
|
||||
R.id.rb_type_software->{
|
||||
workOrderType = "软件"
|
||||
// workOrderType = "软件"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_software)
|
||||
}
|
||||
R.id.rb_type_kit->{
|
||||
workOrderType = "套件"
|
||||
// workOrderType = "套件"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_kit)
|
||||
}
|
||||
R.id.rb_type_vehicle->{
|
||||
workOrderType = "车辆"
|
||||
// workOrderType = "车辆"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_vehicle)
|
||||
}
|
||||
R.id.rb_type_capacity->{
|
||||
workOrderType = "运力"
|
||||
// workOrderType = "运力"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_capacity)
|
||||
}
|
||||
R.id.rb_type_environment->{
|
||||
workOrderType = "环境"
|
||||
// workOrderType = "环境"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_environment)
|
||||
}
|
||||
R.id.rb_type_other->{
|
||||
workOrderType = "其他"
|
||||
// workOrderType = "其他"
|
||||
workOrderType = StringUtils.getString(R.string.module_core_other)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -128,7 +135,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
}
|
||||
iv_time_add.setOnClickListener {
|
||||
if(workOrderOccurrenceTime + 60000 > System.currentTimeMillis()){
|
||||
ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
// ToastUtils.showShort("发生时间应在当前时间之前")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_occurrence_time_should_be_before_current_time)
|
||||
return@setOnClickListener
|
||||
}
|
||||
workOrderOccurrenceTime += 60000
|
||||
@@ -140,7 +148,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
if(hasFocus){
|
||||
edit.hint = ""
|
||||
}else{
|
||||
edit.hint = "手动输入"
|
||||
// edit.hint = "手动输入"
|
||||
edit.hint = StringUtils.getString(R.string.module_core_manual_input)
|
||||
}
|
||||
}
|
||||
et_describe_input.addTextChangedListener(object: TextWatcher {
|
||||
@@ -184,11 +193,13 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
if(ClickUtils.isFastClick()){
|
||||
//工单问题类型必选,没有选择,进行提示
|
||||
if(workOrderType.isEmpty()){
|
||||
ToastUtils.showShort("请选择问题类型")
|
||||
// ToastUtils.showShort("请选择问题类型")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_issue_type)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if(et_describe_input.text.toString().isEmpty()){
|
||||
ToastUtils.showShort("请填写问题描述")
|
||||
// ToastUtils.showShort("请填写问题描述")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_choose_issue_desc)
|
||||
return@setOnClickListener
|
||||
}
|
||||
GlobalScope.launch(Dispatchers.IO){
|
||||
@@ -212,7 +223,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
CallerDevaToolsManager.workOrderReport(workOrderReportInfo)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("请勿连续上报,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续上报,稍后再试")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_dot_continuous_upload)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,7 +246,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
// 不显示听写对话框
|
||||
ret = it.startListening(mRecognizerListener)
|
||||
if (ret != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
// ToastUtils.showShort("听写失败,错误码:$ret,请点击网址https://www.xfyun.cn/document/error-code查询解决方案")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_fail, ret)
|
||||
}
|
||||
}
|
||||
//开始录音,展示放大缩小动效
|
||||
@@ -258,7 +271,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
*/
|
||||
private val mInitListener = InitListener { code ->
|
||||
if (code != ErrorCode.SUCCESS) {
|
||||
ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
// ToastUtils.showShort("讯飞语音听写初始化失败,错误码:$code")
|
||||
ToastUtils.showShort(com.zhjt.mogo_core_function_devatools.R.string.module_mogo_core_function_devatools_iflytek_speech_recognizer_init_fail, code)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,7 +336,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
override fun workOrderReportSuccess() {
|
||||
ToastUtils.showShort("工单上报成功")
|
||||
// ToastUtils.showShort("工单上报成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_work_order_upload_success)
|
||||
ThreadUtils.runOnUiThread {
|
||||
this@WorkOrderView.visibility = View.GONE
|
||||
clickListener?.closeWorkOrderView()
|
||||
@@ -330,7 +345,8 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
override fun workOrderReportError() {
|
||||
ToastUtils.showShort("工单上报失败")
|
||||
// ToastUtils.showShort("工单上报失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_work_order_upload_fail)
|
||||
}
|
||||
|
||||
interface ClickListener{
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
@@ -182,12 +183,14 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
holder.tvBagReceiveTime.text =
|
||||
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
|
||||
holder.tvBagRecordTime.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
val msgBoxBean = it[position]
|
||||
val recordBagMsg = msgBoxBean.bean as RecordBagMsg
|
||||
holder.tvRecordCheck.setOnClickListener {
|
||||
if(recordBagMsg.isShow){
|
||||
ToastUtils.showShort("当前录包上报面板已打开,请勿重复操作")
|
||||
// ToastUtils.showShort("当前录包上报面板已打开,请勿重复操作")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_bad_case_view_opened)
|
||||
}else{
|
||||
//打开被动录包弹窗
|
||||
CallerDevaToolsManager.onReceiveBadCaseRecord(msgBoxBean, activity, false)
|
||||
@@ -202,13 +205,16 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
val fmInfoMsg = it[position].bean as FMInfoMsg
|
||||
//时间显示
|
||||
holder.tvFmTime.text =
|
||||
"时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
// "时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
//建议操作
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
//建议操作暂无
|
||||
holder.tvFmAction.text = "建议操作:暂无"
|
||||
// holder.tvFmAction.text = "建议操作:暂无"
|
||||
holder.tvFmAction.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
//Title
|
||||
holder.tvFmTitle.text = "暂无建议操作"
|
||||
// holder.tvFmTitle.text = "暂无建议操作"
|
||||
holder.tvFmTitle.text = StringUtils.getString(R.string.module_core_not_available_suggested_procedure)
|
||||
}else{
|
||||
val receiveFaultLevel = ArrayList<Int>()
|
||||
fmInfoMsg.fmInfoList!!.forEach { info ->
|
||||
@@ -224,7 +230,8 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
//对faultLevel集合进行排序,按照顺序输出建议操作
|
||||
if(receiveFaultLevel.size > 0){
|
||||
val faultActionStr: StringBuilder = StringBuilder()
|
||||
faultActionStr.append("建议操作:")
|
||||
// faultActionStr.append("建议操作:")
|
||||
faultActionStr.append(StringUtils.getString(R.string.module_core_suggested_procedure))
|
||||
receiveFaultLevel.sort()
|
||||
// receiveFaultLevel.reverse()
|
||||
//Title
|
||||
@@ -263,22 +270,27 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
}
|
||||
holder.tvFmAction.text = faultActionStr.toString()
|
||||
}else{
|
||||
holder.tvFmAction.text = "建议操作:暂无"
|
||||
// holder.tvFmAction.text = "建议操作:暂无"
|
||||
holder.tvFmAction.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
}
|
||||
}else{
|
||||
holder.tvFmAction.text = "建议操作:暂无"
|
||||
// holder.tvFmAction.text = "建议操作:暂无"
|
||||
holder.tvFmAction.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
//轻度预警样式
|
||||
holder.ivFmImage.setImageDrawable(getDrawable(R.drawable.icon_fm_mild_warning))
|
||||
}
|
||||
}
|
||||
//故障策略
|
||||
holder.tvFmFault.text = "故障策略:${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
// holder.tvFmFault.text = "故障策略:${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
holder.tvFmFault.text = "${StringUtils.getString(R.string.module_core_fault_handling_strategy)}${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
//故障原因
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
holder.tvFmReason.text = "故障原因:暂无"
|
||||
// holder.tvFmReason.text = "故障原因:暂无"
|
||||
holder.tvFmReason.text = StringUtils.getString(R.string.module_core_failure_cause_not_available)
|
||||
}else{
|
||||
val fmFaultReason = StringBuilder()
|
||||
fmFaultReason.append("故障原因:")
|
||||
// fmFaultReason.append("故障原因:")
|
||||
fmFaultReason.append(StringUtils.getString(R.string.module_core_failure_cause))
|
||||
for((index,info) in fmInfoMsg.fmInfoList!!.withIndex()){
|
||||
fmFaultReason.append(info.faultName)
|
||||
if(info.faultId.isNotBlank()){
|
||||
@@ -294,10 +306,12 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
}
|
||||
//故障后果
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
holder.tvFmResult.text = "故障后果:暂无"
|
||||
// holder.tvFmResult.text = "故障后果:暂无"
|
||||
holder.tvFmResult.text = StringUtils.getString(R.string.module_core_consequences_failure_not_available)
|
||||
}else{
|
||||
val fmFaultResult = StringBuilder()
|
||||
fmFaultResult.append("故障后果:")
|
||||
// fmFaultResult.append("故障后果:")
|
||||
fmFaultResult.append(StringUtils.getString(R.string.module_core_consequences_failure))
|
||||
fmInfoMsg.fmInfoList!!.forEach { info->
|
||||
if(info.faultResultCount != 0){
|
||||
info.faultResultList.forEach { result->
|
||||
@@ -318,17 +332,20 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
if(fmFaultResult.endsWith("/")){
|
||||
holder.tvFmResult.text = fmFaultResult.deleteCharAt(fmFaultResult.lastIndex).toString()
|
||||
}else{
|
||||
holder.tvFmResult.text = "故障后果:暂无"
|
||||
// holder.tvFmResult.text = "故障后果:暂无"
|
||||
holder.tvFmResult.text = StringUtils.getString(R.string.module_core_consequences_failure_not_available)
|
||||
}
|
||||
}
|
||||
//对布局进行展开折叠操作
|
||||
if(fmInfoMsg.isShow){
|
||||
holder.tvFmShowStatus.text = "收起"
|
||||
// holder.tvFmShowStatus.text = "收起"
|
||||
holder.tvFmShowStatus.text = StringUtils.getString(R.string.module_core_pack_up)
|
||||
holder.tvFmFault.visibility = View.VISIBLE
|
||||
holder.tvFmReason.visibility = View.VISIBLE
|
||||
holder.tvFmResult.visibility = View.VISIBLE
|
||||
}else{
|
||||
holder.tvFmShowStatus.text = "展开"
|
||||
// holder.tvFmShowStatus.text = "展开"
|
||||
holder.tvFmShowStatus.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.tvFmFault.visibility = View.GONE
|
||||
holder.tvFmReason.visibility = View.GONE
|
||||
holder.tvFmResult.visibility = View.GONE
|
||||
@@ -336,13 +353,15 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
holder.tvFmShowStatus.setOnClickListener{
|
||||
if(!fmInfoMsg.isShow){
|
||||
fmInfoMsg.isShow = true
|
||||
holder.tvFmShowStatus.text = "收起"
|
||||
// holder.tvFmShowStatus.text = "收起"
|
||||
holder.tvFmShowStatus.text = StringUtils.getString(R.string.module_core_pack_up)
|
||||
holder.tvFmFault.visibility = View.VISIBLE
|
||||
holder.tvFmReason.visibility = View.VISIBLE
|
||||
holder.tvFmResult.visibility = View.VISIBLE
|
||||
}else{
|
||||
fmInfoMsg.isShow = false
|
||||
holder.tvFmShowStatus.text = "展开"
|
||||
// holder.tvFmShowStatus.text = "展开"
|
||||
holder.tvFmShowStatus.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.tvFmFault.visibility = View.GONE
|
||||
holder.tvFmReason.visibility = View.GONE
|
||||
holder.tvFmResult.visibility = View.GONE
|
||||
@@ -355,7 +374,8 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
data?.let { it ->
|
||||
val reportMsgBox = it[position]
|
||||
holder.tvReportTime.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
val reportEntity = (it[position].bean as ReportEntity)
|
||||
if (reportEntity.resultList.contains(RESULT_AUTOPILOT_DISABLE)
|
||||
|| reportEntity.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED)
|
||||
@@ -378,29 +398,36 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
}
|
||||
|
||||
holder.tvReportTime.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
var resultStr = "类型:"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// var resultStr = "类型:"
|
||||
var resultStr = StringUtils.getString(R.string.module_core_type)
|
||||
for (result in reportEntity.resultList) {
|
||||
resultStr =
|
||||
"${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}"
|
||||
}
|
||||
holder.tvReportType.text = resultStr
|
||||
holder.tvReportReason.text = "原因:${reportEntity.msg}"
|
||||
holder.tvReportSrc.text = "消息来源:${reportEntity.src}"
|
||||
// holder.tvReportReason.text = "原因:${reportEntity.msg}"
|
||||
holder.tvReportReason.text = "${StringUtils.getString(R.string.module_core_cause1)}${reportEntity.msg}"
|
||||
// holder.tvReportSrc.text = "消息来源:${reportEntity.src}"
|
||||
holder.tvReportSrc.text = "${StringUtils.getString(R.string.module_core_message_source)}${reportEntity.src}"
|
||||
var actionStr = ""
|
||||
for (action in reportEntity.actionsList) {
|
||||
actionStr =
|
||||
"${actionStr}${CallerAutoPilotControlManager.getReportActionDesc(action)}"
|
||||
}
|
||||
holder.tvReportAction.text = "建议操作:$actionStr"
|
||||
// holder.tvReportAction.text = "建议操作:$actionStr"
|
||||
holder.tvReportAction.text = "${StringUtils.getString(R.string.module_core_suggested_procedure)}$actionStr"
|
||||
holder.tvReportShowStatus.tag = reportEntity
|
||||
if(reportEntity.isShow){
|
||||
holder.tvReportShowStatus.text = "收起"
|
||||
// holder.tvReportShowStatus.text = "收起"
|
||||
holder.tvReportShowStatus.text = StringUtils.getString(R.string.module_core_pack_up)
|
||||
holder.tvReportReason.visibility = View.VISIBLE
|
||||
holder.tvReportSrc.visibility = View.VISIBLE
|
||||
holder.tvReportAction.visibility = View.VISIBLE
|
||||
}else{
|
||||
holder.tvReportShowStatus.text = "展开"
|
||||
// holder.tvReportShowStatus.text = "展开"
|
||||
holder.tvReportShowStatus.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.tvReportReason.visibility = View.GONE
|
||||
holder.tvReportSrc.visibility = View.GONE
|
||||
holder.tvReportAction.visibility = View.GONE
|
||||
@@ -408,13 +435,15 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
holder.tvReportShowStatus.setOnClickListener {
|
||||
if (!reportEntity.isShow) {
|
||||
reportEntity.isShow = true
|
||||
holder.tvReportShowStatus.text = "收起"
|
||||
// holder.tvReportShowStatus.text = "收起"
|
||||
holder.tvReportShowStatus.text = StringUtils.getString(R.string.module_core_pack_up)
|
||||
holder.tvReportReason.visibility = View.VISIBLE
|
||||
holder.tvReportSrc.visibility = View.VISIBLE
|
||||
holder.tvReportAction.visibility = View.VISIBLE
|
||||
} else {
|
||||
reportEntity.isShow = false
|
||||
holder.tvReportShowStatus.text = "展开"
|
||||
// holder.tvReportShowStatus.text = "展开"
|
||||
holder.tvReportShowStatus.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.tvReportReason.visibility = View.GONE
|
||||
holder.tvReportSrc.visibility = View.GONE
|
||||
holder.tvReportAction.visibility = View.GONE
|
||||
@@ -579,7 +608,8 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
holder.tvOTATitle.text = otaMsg.title
|
||||
holder.tvOTAContent.text = otaMsg.des
|
||||
holder.tvOTATime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
|
||||
if(otaMsg.type == "成功"){
|
||||
// if(otaMsg.type == "成功"){
|
||||
if(otaMsg.type == StringUtils.getString(R.string.module_core_succeed)){
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_success))
|
||||
}else{
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_fail))
|
||||
|
||||
@@ -44,15 +44,18 @@ class ToolDriverRomaView @JvmOverloads constructor(
|
||||
|
||||
toolDriverRomaContainer.setOnClickListener {
|
||||
if (ClickUtils.isClickTooFrequent(this, 2500)) {
|
||||
ToastUtils.showShort("不要频繁点击哦~")
|
||||
// ToastUtils.showShort("不要频繁点击哦~")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_dot_often_click)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (!click) {
|
||||
ToastUtils.showShort("漫游准备中,请等待")
|
||||
// ToastUtils.showShort("漫游准备中,请等待")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_roam_starting)
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (!MogoStatusManager.getInstance().isSocketOnLine) {
|
||||
ToastUtils.showShort("长链状态异常,请检查链接后开启漫游")
|
||||
// ToastUtils.showShort("长链状态异常,请检查链接后开启漫游")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_long_connection_state_error)
|
||||
return@setOnClickListener
|
||||
}
|
||||
click = false
|
||||
|
||||
@@ -48,7 +48,8 @@ class ToolRestartSystemView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun showRebootDialog() {
|
||||
if (!connectStatus) {
|
||||
ToastUtils.showShort("尚未连接工控机,无法重启系统")
|
||||
// ToastUtils.showShort("尚未连接工控机,无法重启系统")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_not_sent_reboot_ipc)
|
||||
return
|
||||
}
|
||||
//dialog
|
||||
@@ -58,12 +59,14 @@ class ToolRestartSystemView @JvmOverloads constructor(
|
||||
override fun confirm() {
|
||||
if (CallerAutoPilotStatusListenerManager.getState() == 2) {
|
||||
//当前处于自动驾驶状态,不可进行重启,Toast提示
|
||||
ToastUtils.showShort("请先退出自动驾驶状态")
|
||||
// ToastUtils.showShort("请先退出自动驾驶状态")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_please_exit_autopilot_state)
|
||||
} else {
|
||||
//确认重启
|
||||
CallerLogger.d("$M_HMI$TAG", "reboot confirm")
|
||||
CallerAutoPilotControlManager.sendIpcReboot()
|
||||
ToastUtils.showLong("重启命令已发送")
|
||||
// ToastUtils.showLong("重启命令已发送")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_send_reboot_success)
|
||||
//打开冷启动页面
|
||||
CallerHmiManager.showColdStartWindow()
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
import com.mogo.eagle.core.utilcode.util.ParseVersionUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo.adas.common.MessageType
|
||||
@@ -200,30 +201,36 @@ class ToolStopServiceView @JvmOverloads constructor(
|
||||
*/
|
||||
private fun powerOff() {
|
||||
if (!connectStatus) {
|
||||
ToastUtils.showShort("尚未连接工控机,无法下发一键停服命令")
|
||||
// ToastUtils.showShort("尚未连接工控机,无法下发一键停服命令")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_not_sent_shutdown_ipc)
|
||||
return
|
||||
}
|
||||
if (AppConfigInfo.dockerVersion.isEmpty()) {
|
||||
ToastUtils.showShort("尚未连接工控机,无法下发一键停服命令")
|
||||
// ToastUtils.showShort("尚未连接工控机,无法下发一键停服命令")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_not_sent_shutdown_ipc)
|
||||
return
|
||||
}
|
||||
if (ParseVersionUtils.parseVersion(true, AppConfigInfo.dockerVersion) < 40100) {
|
||||
ToastUtils.showShort("此域控版本不支持一键停服功能,最低支持版本为4.1.0")
|
||||
// ToastUtils.showShort("此域控版本不支持一键停服功能,最低支持版本为4.1.0")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_ipc_version_nonsupport_shutdown_ipc)
|
||||
return
|
||||
}
|
||||
if (CallerAutoPilotStatusListenerManager.getState() == 2) {
|
||||
//当前处于自动驾驶状态,不可进行重启,Toast提示
|
||||
ToastUtils.showShort("请先退出自动驾驶状态")
|
||||
// ToastUtils.showShort("请先退出自动驾驶状态")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_please_exit_autopilot_state)
|
||||
return
|
||||
}
|
||||
if (isExecutingPowerOff) {
|
||||
//一键停服命令下发执行中
|
||||
ToastUtils.showShort("一键停服命令下发中,请勿重复点击")
|
||||
// ToastUtils.showShort("一键停服命令下发中,请勿重复点击")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_sending_shutdown_ipc)
|
||||
return
|
||||
}
|
||||
if (isPowerOffCountDown) {
|
||||
//系统停服中
|
||||
ToastUtils.showShort("系统停服中,请勿重复点击")
|
||||
// ToastUtils.showShort("系统停服中,请勿重复点击")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_shutdowning_ipc)
|
||||
return
|
||||
}
|
||||
//将是否正在下发一键停服命令标签改为true
|
||||
@@ -378,7 +385,8 @@ class ToolStopServiceView @JvmOverloads constructor(
|
||||
if (receivedAck.status == ReceivedAck.Status.NORMAL) {
|
||||
//一键停服命令回执成功,则正常进入停服阶段中,1分钟倒计时,并且TTS和消息盒子提示
|
||||
CallerDevaToolsManager.setPowerOffStatus(2)
|
||||
AIAssist.getInstance(context).speakTTSVoice("请等待1分钟再执行车辆下电")
|
||||
// AIAssist.getInstance(context).speakTTSVoice("请等待1分钟再执行车辆下电")
|
||||
AIAssist.getInstance(context).speakTTSVoice(StringUtils.getString(R.string.module_core_one_minute_later_power_off))
|
||||
saveMsgBox(
|
||||
MsgBoxBean(
|
||||
MsgBoxType.V2X, V2XMsg(
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.mogo.eagle.core.function.hmi.notification
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
/**
|
||||
@@ -26,7 +28,8 @@ internal object WarningFloatWindowManager {
|
||||
} else {
|
||||
Log.w(TAG, "存在相同的tag,延长弹窗时间")
|
||||
// 存在相同的tag,直接创建失败
|
||||
config.callbacks?.createdResult(false, "存在相同的tag,延长弹窗时间", null)
|
||||
// config.callbacks?.createdResult(false, "存在相同的tag,延长弹窗时间", null)
|
||||
config.callbacks?.createdResult(false, StringUtils.getString(R.string.module_core_have_tag_lengthen_popup_window_time), null)
|
||||
windowMap[config.floatTag!!]?.resetDownTime()
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
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.StringUtils
|
||||
import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer
|
||||
import com.shuyu.gsyvideoplayer.GSYVideoManager
|
||||
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
|
||||
@@ -51,11 +52,13 @@ class CameraListView : FrameLayout {
|
||||
GSYVideoOptionBuilder()
|
||||
}
|
||||
private val spannableStringBuilder by lazy {
|
||||
SpannableStringBuilder("当前设备暂无信号,切换其他摄像头 3S")
|
||||
// SpannableStringBuilder("当前设备暂无信号,切换其他摄像头 3S")
|
||||
SpannableStringBuilder(StringUtils.getString(R.string.module_core_no_signal_switch_camera))
|
||||
}
|
||||
|
||||
private val spannableStringBuilder2 by lazy {
|
||||
SpannableStringBuilder("当前路口信号丢失,3S 后自动关闭")
|
||||
// SpannableStringBuilder("当前路口信号丢失,3S 后自动关闭")
|
||||
SpannableStringBuilder(StringUtils.getString(R.string.module_core_alert_intersection_signal_lost_auto_close))
|
||||
}
|
||||
private var isCloseStatus = true
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.diskcopy.adapter.DiskCopyCalendarAdapter
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
|
||||
import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import kotlinx.android.synthetic.main.view_disk_copy.view.groupDateSelect
|
||||
@@ -98,30 +99,37 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
//开始拷贝数据
|
||||
val result = CallerAutoPilotControlManager.sendCopyBagCopyDate(currentCopyDate)
|
||||
if(result){
|
||||
ToastUtils.showShort("已发起拷贝")
|
||||
// ToastUtils.showShort("已发起拷贝")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_start_copy)
|
||||
}else{
|
||||
ToastUtils.showShort("拷贝命令发送失败")
|
||||
// ToastUtils.showShort("拷贝命令发送失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_copy_cmd_error)
|
||||
}
|
||||
}
|
||||
2 -> {
|
||||
//拷贝中
|
||||
ToastUtils.showShort("正在拷贝中...")
|
||||
// ToastUtils.showShort("正在拷贝中...")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_copying)
|
||||
}
|
||||
3 -> {
|
||||
//拷贝成功
|
||||
ToastUtils.showShort("当前日期数据已拷贝成功")
|
||||
// ToastUtils.showShort("当前日期数据已拷贝成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_now_date_copy_success)
|
||||
}
|
||||
4 -> {
|
||||
//剩余空间不足
|
||||
ToastUtils.showShort("当前硬盘剩余空间不足")
|
||||
// ToastUtils.showShort("当前硬盘剩余空间不足")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_insufficient_disk_space)
|
||||
}
|
||||
5 -> {
|
||||
//所选日期无法拷贝
|
||||
ToastUtils.showShort("所选日期无法拷贝")
|
||||
// ToastUtils.showShort("所选日期无法拷贝")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_choose_date_not_copy)
|
||||
}
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_bad_case_do_no_click_continuously)
|
||||
}
|
||||
}
|
||||
//拔出硬盘
|
||||
@@ -134,13 +142,16 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
//如果处于未拷贝状态,则调用硬盘安全弹出请求
|
||||
val result = CallerAutoPilotControlManager.sendCopyBagSafeUnmount()
|
||||
if(result){
|
||||
ToastUtils.showShort("硬盘安全弹出命令已发送")
|
||||
// ToastUtils.showShort("硬盘安全弹出命令已发送")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_disk_safely_ejecting)
|
||||
}else{
|
||||
ToastUtils.showShort("硬盘安全弹出命令发送失败")
|
||||
// ToastUtils.showShort("硬盘安全弹出命令发送失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_disk_safely_ejecting_fail)
|
||||
}
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
// ToastUtils.showShort("请勿连续点击,稍后再试")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_devatools_bad_case_do_no_click_continuously)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +159,8 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
viewDiskCopyDate.setOnClickListener {
|
||||
if(copyStatus == 2){
|
||||
//数据拷贝中,不可再选择日期
|
||||
ToastUtils.showShort("数据拷贝中,不可再次选择日期,请耐心等待")
|
||||
// ToastUtils.showShort("数据拷贝中,不可再次选择日期,请耐心等待")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_data_copying)
|
||||
}else{
|
||||
//隐藏当前视图
|
||||
pbDiskCopyProgress.visibility = View.GONE
|
||||
@@ -163,52 +175,71 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
val formatIpc = SimpleDateFormat("yyyyMMdd", Locale.CHINA)
|
||||
val formatUi = SimpleDateFormat("yyyy.MM.dd",Locale.CHINA)
|
||||
//添加日历星期标题头
|
||||
calendarList.add(CopyCalendarInfo(true,"日"))
|
||||
calendarList.add(CopyCalendarInfo(true,"一"))
|
||||
calendarList.add(CopyCalendarInfo(true,"二"))
|
||||
calendarList.add(CopyCalendarInfo(true,"三"))
|
||||
calendarList.add(CopyCalendarInfo(true,"四"))
|
||||
calendarList.add(CopyCalendarInfo(true,"五"))
|
||||
calendarList.add(CopyCalendarInfo(true,"六"))
|
||||
// calendarList.add(CopyCalendarInfo(true,"日"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_sunday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"一"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_monday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"二"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_tuesday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"三"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_wednesday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"四"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_thursday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"五"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_friday)))
|
||||
// calendarList.add(CopyCalendarInfo(true,"六"))
|
||||
calendarList.add(CopyCalendarInfo(true,StringUtils.getString(R.string.module_core_saturday)))
|
||||
|
||||
val calendar: Calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"))
|
||||
val currentMonth = calendar.get(Calendar.MONTH)
|
||||
tvCurrentMonth.text = when(currentMonth){
|
||||
Calendar.JANUARY->{
|
||||
"一月"
|
||||
// "一月"
|
||||
StringUtils.getString(R.string.module_core_january)
|
||||
}
|
||||
Calendar.FEBRUARY->{
|
||||
"二月"
|
||||
// "二月"
|
||||
StringUtils.getString(R.string.module_core_february)
|
||||
}
|
||||
Calendar.MARCH->{
|
||||
"三月"
|
||||
// "三月"
|
||||
StringUtils.getString(R.string.module_core_march)
|
||||
}
|
||||
Calendar.APRIL->{
|
||||
"四月"
|
||||
// "四月"
|
||||
StringUtils.getString(R.string.module_core_april)
|
||||
}
|
||||
Calendar.MAY->{
|
||||
"五月"
|
||||
// "五月"
|
||||
StringUtils.getString(R.string.module_core_may)
|
||||
}
|
||||
Calendar.JUNE->{
|
||||
"六月"
|
||||
// "六月"
|
||||
StringUtils.getString(R.string.module_core_june)
|
||||
}
|
||||
Calendar.JULY->{
|
||||
"七月"
|
||||
// "七月"
|
||||
StringUtils.getString(R.string.module_core_july)
|
||||
}
|
||||
Calendar.AUGUST->{
|
||||
"八月"
|
||||
// "八月"
|
||||
StringUtils.getString(R.string.module_core_august)
|
||||
}
|
||||
Calendar.SEPTEMBER->{
|
||||
"九月"
|
||||
// "九月"
|
||||
StringUtils.getString(R.string.module_core_september)
|
||||
}
|
||||
Calendar.OCTOBER->{
|
||||
"十月"
|
||||
// "十月"
|
||||
StringUtils.getString(R.string.module_core_october)
|
||||
}
|
||||
Calendar.NOVEMBER->{
|
||||
"十一月"
|
||||
// "十一月"
|
||||
StringUtils.getString(R.string.module_core_november)
|
||||
}
|
||||
Calendar.DECEMBER->{
|
||||
"十二月"
|
||||
// "十二月"
|
||||
StringUtils.getString(R.string.module_core_december)
|
||||
}
|
||||
else -> {
|
||||
""
|
||||
@@ -380,31 +411,38 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
return when(currentWeek){
|
||||
//星期日
|
||||
Calendar.SUNDAY->{
|
||||
"周日"
|
||||
// "周日"
|
||||
StringUtils.getString(R.string.module_core_sunday1)
|
||||
}
|
||||
//星期一
|
||||
Calendar.MONDAY->{
|
||||
"周一"
|
||||
// "周一"
|
||||
StringUtils.getString(R.string.module_core_monday1)
|
||||
}
|
||||
//星期二
|
||||
Calendar.TUESDAY->{
|
||||
"周二"
|
||||
// "周二"
|
||||
StringUtils.getString(R.string.module_core_tuesday1)
|
||||
}
|
||||
//星期三
|
||||
Calendar.WEDNESDAY->{
|
||||
"周三"
|
||||
// "周三"
|
||||
StringUtils.getString(R.string.module_core_wednesday1)
|
||||
}
|
||||
//星期四
|
||||
Calendar.THURSDAY->{
|
||||
"周四"
|
||||
// "周四"
|
||||
StringUtils.getString(R.string.module_core_thursday1)
|
||||
}
|
||||
//星期五
|
||||
Calendar.FRIDAY->{
|
||||
"周五"
|
||||
// "周五"
|
||||
StringUtils.getString(R.string.module_core_friday1)
|
||||
}
|
||||
//星期六
|
||||
Calendar.SATURDAY->{
|
||||
"周六"
|
||||
// "周六"
|
||||
StringUtils.getString(R.string.module_core_saturday1)
|
||||
}
|
||||
else->{
|
||||
""
|
||||
@@ -556,7 +594,8 @@ class DiskCopyView @JvmOverloads constructor(
|
||||
//硬盘是否已安全弹出,是-True,否-False
|
||||
Logger.i(TAG,"硬盘是否已安全弹出,是-True,否-False="+diskCopy.diskUnmount)
|
||||
if(diskCopy.diskUnmount){
|
||||
ToastUtils.showShort("硬盘已安全弹出")
|
||||
// ToastUtils.showShort("硬盘已安全弹出")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_disk_safely_ejecting)
|
||||
//隐藏数据落盘辅助工具视图
|
||||
this@DiskCopyView.visibility = View.GONE
|
||||
}
|
||||
|
||||
@@ -30,9 +30,11 @@ class TerminateCopyDataDialog(context: Context) :
|
||||
tvCopyTerminateConfirm.setOnClickListener {
|
||||
val result = CallerAutoPilotControlManager.sendCopyBagAbortCopy()
|
||||
if(result){
|
||||
ToastUtils.showShort("终止数据拷贝命令已发送")
|
||||
// ToastUtils.showShort("终止数据拷贝命令已发送")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_stop_copy)
|
||||
}else{
|
||||
ToastUtils.showShort("终止数据拷贝命令发送失败")
|
||||
// ToastUtils.showShort("终止数据拷贝命令发送失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_stop_copy_fail)
|
||||
}
|
||||
dismiss()
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.mogo.eagle.core.function.api.autopilot.*
|
||||
import com.mogo.eagle.core.function.api.lookaround.data.*
|
||||
import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.function.call.devatools.*
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.kotlin.*
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
@@ -299,7 +300,8 @@ class M1LookAroundView: SurfaceView, SurfaceHolder.Callback, Runnable, IMoGoChas
|
||||
delay(5000)
|
||||
val d = data
|
||||
if (d == null || !d.isValid()) {
|
||||
Toast.makeText(Utils.getApp(), "当前MAP版本不支持360环视,请升级MAP版本", Toast.LENGTH_SHORT).show()
|
||||
// Toast.makeText(Utils.getApp(), "当前MAP版本不支持360环视,请升级MAP版本", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(Utils.getApp(), R.string.module_core_ipc_version_nonsupport_360_look_around, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,8 @@ class MoFangStatusView : LinearLayout, OnMoFangStatusListener, IMoGoAutopilotSta
|
||||
return
|
||||
}
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
// ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_ipc_disconnect_not_use_mofang)
|
||||
return
|
||||
}
|
||||
if (keyCode == KeyEvent.KEYCODE_A) {
|
||||
@@ -169,7 +170,8 @@ class MoFangStatusView : LinearLayout, OnMoFangStatusListener, IMoGoAutopilotSta
|
||||
return
|
||||
}
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
// ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_ipc_disconnect_not_use_mofang)
|
||||
return
|
||||
}
|
||||
if (keyCode == KeyEvent.KEYCODE_A) {
|
||||
@@ -218,7 +220,8 @@ class MoFangStatusView : LinearLayout, OnMoFangStatusListener, IMoGoAutopilotSta
|
||||
return
|
||||
}
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
// ToastUtils.showShort("工控机连接异常,无法执行魔方命令")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_ipc_disconnect_not_use_mofang)
|
||||
return
|
||||
}
|
||||
if (keyCodes.size != 2) {
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.DriverMsgBoxBubbleAdapter
|
||||
import com.mogo.eagle.core.function.msgbox.MsgBoxConfig
|
||||
import com.mogo.eagle.core.utilcode.util.SoundPoolUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo.adas.data.AdasConstants.NodeState
|
||||
@@ -219,7 +220,8 @@ class DriverMsgBoxBubbleView @JvmOverloads constructor(
|
||||
CallerHmiManager.warningV2X(
|
||||
EventTypeEnumNew.TAKE_OVER_EVENT.poiType,
|
||||
EventTypeEnumNew.TAKE_OVER_EVENT.content,
|
||||
"识别车辆故障,建议安全停车并查看操作建议",
|
||||
// "识别车辆故障,建议安全停车并查看操作建议",
|
||||
StringUtils.getString(R.string.module_core_warning_vehicle_fault_safe_park),
|
||||
object : IMoGoWarningStatusListener {
|
||||
override fun onShow() {
|
||||
CallerTakeOverManager.invokeTakeOverEvent(true)
|
||||
@@ -236,7 +238,8 @@ class DriverMsgBoxBubbleView @JvmOverloads constructor(
|
||||
//二级
|
||||
MsgFmData.LEVEL_TWO->{
|
||||
//语音提示
|
||||
AIAssist.getInstance(context).speakTTSVoice("识别车辆异常,建议尽快安全停车,查看操作建议")
|
||||
// AIAssist.getInstance(context).speakTTSVoice("识别车辆异常,建议尽快安全停车,查看操作建议")
|
||||
AIAssist.getInstance(context).speakTTSVoice(StringUtils.getString(R.string.module_core_warning_vehicle_abnormal_safe_park))
|
||||
//展示消息盒子消息
|
||||
showData(msgBoxBean)
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.MsgBoxToastAdapter
|
||||
import com.mogo.eagle.core.function.msgbox.MsgBoxConfig
|
||||
import com.mogo.eagle.core.utilcode.util.SoundPoolUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import kotlinx.android.synthetic.main.layout_msg_box_bubble.view.llMsgBubbleLayout
|
||||
import kotlinx.android.synthetic.main.layout_msg_box_bubble.view.rvBubbleList
|
||||
@@ -210,7 +211,8 @@ class MsgBoxToastView @JvmOverloads constructor(
|
||||
CallerHmiManager.warningV2X(
|
||||
EventTypeEnumNew.TAKE_OVER_EVENT.poiType,
|
||||
EventTypeEnumNew.TAKE_OVER_EVENT.content,
|
||||
"识别车辆故障,建议安全停车并查看操作建议",
|
||||
// "识别车辆故障,建议安全停车并查看操作建议",
|
||||
StringUtils.getString(R.string.module_core_warning_vehicle_fault_safe_park),
|
||||
object : IMoGoWarningStatusListener {
|
||||
override fun onShow() {
|
||||
CallerTakeOverManager.invokeTakeOverEvent(true)
|
||||
@@ -227,7 +229,8 @@ class MsgBoxToastView @JvmOverloads constructor(
|
||||
//二级
|
||||
MsgFmData.LEVEL_TWO->{
|
||||
//语音提示
|
||||
AIAssist.getInstance(context).speakTTSVoice("识别车辆异常,建议尽快安全停车,查看操作建议")
|
||||
// AIAssist.getInstance(context).speakTTSVoice("识别车辆异常,建议尽快安全停车,查看操作建议")
|
||||
AIAssist.getInstance(context).speakTTSVoice(StringUtils.getString(R.string.module_core_warning_vehicle_abnormal_safe_park))
|
||||
//展示消息盒子消息
|
||||
showData(msgBoxBean)
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat
|
||||
import com.mogo.eagle.core.widget.RoundCanClickConstraintLayout
|
||||
@@ -176,9 +177,11 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
data?.let {
|
||||
val msgBoxBean = it[position].msgBoxBean
|
||||
val reportEntity = msgBoxBean.bean as ReportEntity
|
||||
holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
// holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
holder.tvBubbleReportTime.text = "${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
holder.tvBubbleReceiveTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
|
||||
var resultStr = "类型:"
|
||||
// var resultStr = "类型:"
|
||||
var resultStr = StringUtils.getString(R.string.module_core_type)
|
||||
for (result in reportEntity.resultList){
|
||||
resultStr = "${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}"
|
||||
}
|
||||
@@ -274,7 +277,8 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
holder.tvBubbleFmTime.text = TimeUtils.millis2String(fmMsg.policyTime!!,getHourMinFormat())
|
||||
}
|
||||
if(fmMsg.fmInfoList?.size == 0){
|
||||
holder.tvBubbleFmFaultAction.text = "建议操作:暂无"
|
||||
// holder.tvBubbleFmFaultAction.text = "建议操作:暂无"
|
||||
holder.tvBubbleFmFaultAction.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
holder.tvBubbleFmFault.text = MsgFmData.getFmPolicyName(fmMsg.policyCode)
|
||||
}else{
|
||||
var curFaultLevel = 5 //默认级别,遍历数组找出级别最高的(level数越小,级别越高)
|
||||
@@ -293,7 +297,8 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
//当出现多个建议操作时,按照整车下电重启、请求人工驾驶接管、请求平行驾驶接管、系统重启、联系硬件工程师、
|
||||
// 联系运维工程师、联系软件工程师优先级递减的顺序,只展示最高优先级的内容
|
||||
if(curFaultLevel == 5){
|
||||
holder.tvBubbleFmFaultAction.text = "建议操作:暂无"
|
||||
// holder.tvBubbleFmFaultAction.text = "建议操作:暂无"
|
||||
holder.tvBubbleFmFaultAction.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
}else{
|
||||
holder.tvBubbleFmFaultAction.text = "${faultAction}(${MsgFmData.FaultAction.getFaultActionCode(curFaultLevel)})"
|
||||
}
|
||||
@@ -359,7 +364,8 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
holder.tvOTATitle.text = otaMsg.title
|
||||
holder.tvOTAContent.text = otaMsg.des
|
||||
holder.tvOTATime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
|
||||
if(otaMsg.type == "成功"){
|
||||
// if(otaMsg.type == "成功"){
|
||||
if(otaMsg.type == StringUtils.getString(R.string.module_core_succeed)){
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_success))
|
||||
}else{
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_fail))
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
@@ -172,12 +173,14 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
holder.tvBagReceiveTime.text =
|
||||
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
|
||||
holder.tvBagRecordTime.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
val msgBoxBean = it[position]
|
||||
val recordBagMsg = msgBoxBean.bean as RecordBagMsg
|
||||
holder.tvRecordCheck.setOnClickListener {
|
||||
if(recordBagMsg.isShow){
|
||||
ToastUtils.showShort("当前录包上报面板已打开,请勿重复操作")
|
||||
// ToastUtils.showShort("当前录包上报面板已打开,请勿重复操作")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_bad_case_view_opened)
|
||||
}else{
|
||||
//打开被动录包弹窗
|
||||
CallerDevaToolsManager.onReceiveBadCaseRecord(msgBoxBean, activity, false)
|
||||
@@ -192,19 +195,25 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
val fmInfoMsg = it[position].bean as FMInfoMsg
|
||||
//时间显示
|
||||
holder.tvFmTimeOpen.text =
|
||||
"时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
// "时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
holder.tvFmTimeNormal.text =
|
||||
"时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
// "时间:${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1) }}"
|
||||
holder.tvFmTime.text =
|
||||
fmInfoMsg.policyTime?.let { it1 -> TimeUtils.millis2String(it1,getHourMinFormat()) }
|
||||
//建议操作
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
//建议操作暂无
|
||||
holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
// holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionOpen.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
// holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
//Title
|
||||
holder.tvFmTitleNormal.text = "暂无建议操作"
|
||||
holder.tvFmTitleOpen.text = "暂无建议操作"
|
||||
// holder.tvFmTitleNormal.text = "暂无建议操作"
|
||||
holder.tvFmTitleNormal.text = StringUtils.getString(R.string.module_core_not_available_suggested_procedure)
|
||||
// holder.tvFmTitleOpen.text = "暂无建议操作"
|
||||
holder.tvFmTitleOpen.text = StringUtils.getString(R.string.module_core_not_available_suggested_procedure)
|
||||
}else{
|
||||
val receiveFaultLevel = ArrayList<Int>()
|
||||
fmInfoMsg.fmInfoList!!.forEach { info ->
|
||||
@@ -220,7 +229,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
//对faultLevel集合进行排序,按照顺序输出建议操作
|
||||
if(receiveFaultLevel.size > 0){
|
||||
val faultActionStr: StringBuilder = StringBuilder()
|
||||
faultActionStr.append("建议操作:")
|
||||
// faultActionStr.append("建议操作:")
|
||||
faultActionStr.append(StringUtils.getString(R.string.module_core_suggested_procedure))
|
||||
receiveFaultLevel.sort()
|
||||
// receiveFaultLevel.reverse()
|
||||
//Title
|
||||
@@ -264,25 +274,32 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
holder.tvFmActionOpen.text = faultActionStr.toString()
|
||||
holder.tvFmActionNormal.text = faultActionStr.toString()
|
||||
}else{
|
||||
holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
// holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionOpen.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
// holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
}
|
||||
}else{
|
||||
holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
// holder.tvFmActionOpen.text = "建议操作:暂无"
|
||||
holder.tvFmActionOpen.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
// holder.tvFmActionNormal.text = "建议操作:暂无"
|
||||
holder.tvFmActionNormal.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
//轻度预警样式
|
||||
holder.ivFmImageNormal.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_normal))
|
||||
holder.ivFmImageOpen.setImageDrawable(getDrawable(R.drawable.icon_fm_warning_open))
|
||||
}
|
||||
}
|
||||
//故障策略
|
||||
holder.tvFmFaultOpen.text = "故障策略:${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
// holder.tvFmFaultOpen.text = "故障策略:${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
holder.tvFmFaultOpen.text = "${StringUtils.getString(R.string.module_core_fault_handling_strategy)}${MsgFmData.getFmPolicyName(fmInfoMsg.policyCode)}(${fmInfoMsg.policyCode})"
|
||||
//故障原因
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
holder.tvFmReasonOpen.text = "故障原因:暂无"
|
||||
// holder.tvFmReasonOpen.text = "故障原因:暂无"
|
||||
holder.tvFmReasonOpen.text = StringUtils.getString(R.string.module_core_failure_cause_not_available)
|
||||
}else{
|
||||
val fmFaultReason = StringBuilder()
|
||||
fmFaultReason.append("故障原因:")
|
||||
// fmFaultReason.append("故障原因:")
|
||||
fmFaultReason.append(StringUtils.getString(R.string.module_core_failure_cause))
|
||||
for((index,info) in fmInfoMsg.fmInfoList!!.withIndex()){
|
||||
fmFaultReason.append(info.faultName)
|
||||
if(info.faultId.isNotBlank()){
|
||||
@@ -298,10 +315,12 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
}
|
||||
//故障后果
|
||||
if(fmInfoMsg.fmInfoList.isNullOrEmpty()){
|
||||
holder.tvFmResultOpen.text = "故障后果:暂无"
|
||||
// holder.tvFmResultOpen.text = "故障后果:暂无"
|
||||
holder.tvFmResultOpen.text = StringUtils.getString(R.string.module_core_consequences_failure_not_available)
|
||||
}else{
|
||||
val fmFaultResult = StringBuilder()
|
||||
fmFaultResult.append("故障后果:")
|
||||
// fmFaultResult.append("故障后果:")
|
||||
fmFaultResult.append(StringUtils.getString(R.string.module_core_consequences_failure))
|
||||
fmInfoMsg.fmInfoList!!.forEach { info->
|
||||
if(info.faultResultCount != 0){
|
||||
info.faultResultList.forEach { result->
|
||||
@@ -322,7 +341,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
if(fmFaultResult.endsWith("/")){
|
||||
holder.tvFmResultOpen.text = fmFaultResult.deleteCharAt(fmFaultResult.lastIndex).toString()
|
||||
}else{
|
||||
holder.tvFmResultOpen.text = "故障后果:暂无"
|
||||
// holder.tvFmResultOpen.text = "故障后果:暂无"
|
||||
holder.tvFmResultOpen.text = StringUtils.getString(R.string.module_core_consequences_failure_not_available)
|
||||
}
|
||||
}
|
||||
//对布局进行展开折叠操作
|
||||
@@ -333,7 +353,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvFmStatusSelect.text = "折叠"
|
||||
// holder.tvFmStatusSelect.text = "折叠"
|
||||
holder.tvFmStatusSelect.text = StringUtils.getString(R.string.module_core_fold)
|
||||
holder.ivFmImageNormal.visibility = View.GONE
|
||||
holder.tvFmTitleNormal.visibility = View.GONE
|
||||
holder.tvFmTimeNormal.visibility = View.GONE
|
||||
@@ -352,7 +373,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvFmStatusSelect.text = "展开"
|
||||
// holder.tvFmStatusSelect.text = "展开"
|
||||
holder.tvFmStatusSelect.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.ivFmImageNormal.visibility = View.VISIBLE
|
||||
holder.tvFmTitleNormal.visibility = View.VISIBLE
|
||||
holder.tvFmTimeNormal.visibility = View.VISIBLE
|
||||
@@ -374,7 +396,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvFmStatusSelect.text = "折叠"
|
||||
// holder.tvFmStatusSelect.text = "折叠"
|
||||
holder.tvFmStatusSelect.text = StringUtils.getString(R.string.module_core_fold)
|
||||
holder.ivFmImageNormal.visibility = View.GONE
|
||||
holder.tvFmTitleNormal.visibility = View.GONE
|
||||
holder.tvFmTimeNormal.visibility = View.GONE
|
||||
@@ -394,7 +417,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvFmStatusSelect.text = "展开"
|
||||
// holder.tvFmStatusSelect.text = "展开"
|
||||
holder.tvFmStatusSelect.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.ivFmImageNormal.visibility = View.VISIBLE
|
||||
holder.tvFmTitleNormal.visibility = View.VISIBLE
|
||||
holder.tvFmTimeNormal.visibility = View.VISIBLE
|
||||
@@ -415,9 +439,11 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
data?.let { it ->
|
||||
val reportMsgBox = it[position]
|
||||
holder.tvReportTimeNormal.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
holder.tvReportTimeOpen.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
val reportEntity = (it[position].bean as ReportEntity)
|
||||
if (reportEntity.resultList.contains(RESULT_AUTOPILOT_DISABLE)
|
||||
|| reportEntity.resultList.contains(RESULT_AUTOPILOT_SYSTEM_UNSTARTED)
|
||||
@@ -446,26 +472,32 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
}
|
||||
|
||||
holder.tvReportTimeNormal.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
holder.tvReportTimeOpen.text =
|
||||
"时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
// "时间:${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
"${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].timestamp)}"
|
||||
holder.tvReportTime.text =
|
||||
TimeUtils.millis2String(it[position].timestamp, getHourMinFormat())
|
||||
var resultStr = "类型:"
|
||||
// var resultStr = "类型:"
|
||||
var resultStr = StringUtils.getString(R.string.module_core_type)
|
||||
for (result in reportEntity.resultList) {
|
||||
resultStr =
|
||||
"${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}"
|
||||
}
|
||||
holder.tvReportTypeNormal.text = resultStr
|
||||
holder.tvReportTypeOpen.text = resultStr
|
||||
holder.tvReportReasonOpen.text = "原因:${reportEntity.msg}"
|
||||
holder.tvReportSrcOpen.text = "消息来源:${reportEntity.src}"
|
||||
// holder.tvReportReasonOpen.text = "原因:${reportEntity.msg}"
|
||||
holder.tvReportReasonOpen.text = "${StringUtils.getString(R.string.module_core_cause1)}${reportEntity.msg}"
|
||||
// holder.tvReportSrcOpen.text = "消息来源:${reportEntity.src}"
|
||||
holder.tvReportSrcOpen.text = "${StringUtils.getString(R.string.module_core_message_source)}${reportEntity.src}"
|
||||
var actionStr = ""
|
||||
for (action in reportEntity.actionsList) {
|
||||
actionStr =
|
||||
"${actionStr}${CallerAutoPilotControlManager.getReportActionDesc(action)}"
|
||||
}
|
||||
holder.tvReportActionOpen.text = "建议操作:$actionStr"
|
||||
// holder.tvReportActionOpen.text = "建议操作:$actionStr"
|
||||
holder.tvReportActionOpen.text = "${StringUtils.getString(R.string.module_core_suggested_procedure)}$actionStr"
|
||||
holder.tvStatusSelect.tag = reportEntity
|
||||
if(reportEntity.isShow){
|
||||
holder.tvStatusSelect.setCompoundDrawablesWithIntrinsicBounds(
|
||||
@@ -474,7 +506,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvStatusSelect.text = "折叠"
|
||||
// holder.tvStatusSelect.text = "折叠"
|
||||
holder.tvStatusSelect.text = StringUtils.getString(R.string.module_core_fold)
|
||||
holder.ivReportImageNormal.visibility = View.GONE
|
||||
holder.tvReportLevelNormal.visibility = View.GONE
|
||||
holder.tvReportTimeNormal.visibility = View.GONE
|
||||
@@ -494,7 +527,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvStatusSelect.text = "展开"
|
||||
// holder.tvStatusSelect.text = "展开"
|
||||
holder.tvStatusSelect.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.ivReportImageNormal.visibility = View.VISIBLE
|
||||
holder.tvReportLevelNormal.visibility = View.VISIBLE
|
||||
holder.tvReportTimeNormal.visibility = View.VISIBLE
|
||||
@@ -517,7 +551,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvStatusSelect.text = "折叠"
|
||||
// holder.tvStatusSelect.text = "折叠"
|
||||
holder.tvStatusSelect.text = StringUtils.getString(R.string.module_core_fold)
|
||||
holder.ivReportImageNormal.visibility = View.GONE
|
||||
holder.tvReportLevelNormal.visibility = View.GONE
|
||||
holder.tvReportTimeNormal.visibility = View.GONE
|
||||
@@ -538,7 +573,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvStatusSelect.text = "展开"
|
||||
// holder.tvStatusSelect.text = "展开"
|
||||
holder.tvStatusSelect.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.ivReportImageNormal.visibility = View.VISIBLE
|
||||
holder.tvReportLevelNormal.visibility = View.VISIBLE
|
||||
holder.tvReportTimeNormal.visibility = View.VISIBLE
|
||||
@@ -576,7 +612,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvOperationStatusSelect.text = "折叠"
|
||||
// holder.tvOperationStatusSelect.text = "折叠"
|
||||
holder.tvOperationStatusSelect.text = StringUtils.getString(R.string.module_core_fold)
|
||||
holder.ivOperationImageNormal.visibility = View.GONE
|
||||
holder.tvOperationTitleNormal.visibility = View.GONE
|
||||
holder.tvOperationContentNormal.visibility = View.GONE
|
||||
@@ -591,7 +628,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
null,
|
||||
null
|
||||
)
|
||||
holder.tvOperationStatusSelect.text = "展开"
|
||||
// holder.tvOperationStatusSelect.text = "展开"
|
||||
holder.tvOperationStatusSelect.text = StringUtils.getString(R.string.module_core_unfold)
|
||||
holder.ivOperationImageNormal.visibility = View.VISIBLE
|
||||
holder.tvOperationTitleNormal.visibility = View.VISIBLE
|
||||
holder.tvOperationContentNormal.visibility = View.VISIBLE
|
||||
@@ -745,7 +783,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
holder.tvOTATitle.text = otaMsg.title
|
||||
holder.tvOTAContent.text = otaMsg.des
|
||||
holder.tvOTATime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
|
||||
if(otaMsg.type == "成功"){
|
||||
// if(otaMsg.type == "成功"){
|
||||
if(otaMsg.type == StringUtils.getString(R.string.module_core_succeed)){
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_success))
|
||||
}else{
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_fail))
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.GlideApp
|
||||
import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.TimeUtils.getHourMinFormat
|
||||
import com.mogo.eagle.core.widget.RoundCanClickConstraintLayout
|
||||
@@ -101,9 +102,11 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
data?.let {
|
||||
val msgBoxBean = it[position].msgBoxBean
|
||||
val reportEntity = msgBoxBean.bean as ReportEntity
|
||||
holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
// holder.tvBubbleReportTime.text = "时间:${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
holder.tvBubbleReportTime.text = "${StringUtils.getString(R.string.module_core_time)}${TimeUtils.millis2String(it[position].msgBoxBean.timestamp)}"
|
||||
holder.tvBubbleReceiveTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
|
||||
var resultStr = "类型:"
|
||||
// var resultStr = "类型:"
|
||||
var resultStr = StringUtils.getString(R.string.module_core_type)
|
||||
for (result in reportEntity.resultList){
|
||||
resultStr = "${resultStr}${CallerAutoPilotControlManager.getReportResultDesc(result)}"
|
||||
}
|
||||
@@ -176,7 +179,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
val otaMsg = it[position].msgBoxBean.bean as OTAMsg
|
||||
holder.tvOTATitle.text = otaMsg.title
|
||||
holder.tvOTAContent.text = otaMsg.des
|
||||
if(otaMsg.type == "成功"){
|
||||
// if(otaMsg.type == "成功"){
|
||||
if(otaMsg.type == StringUtils.getString(R.string.module_core_succeed)){
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_success))
|
||||
}else{
|
||||
holder.ivOTAImage.setImageDrawable(getDrawable(R.drawable.icon_ota_msg_fail))
|
||||
@@ -230,7 +234,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
//FM信息
|
||||
val fmMsg = it[position].msgBoxBean.bean as FMInfoMsg
|
||||
if(fmMsg.fmInfoList?.size == 0){
|
||||
holder.tvV2XContent.text = "建议操作:暂无"
|
||||
// holder.tvV2XContent.text = "建议操作:暂无"
|
||||
holder.tvV2XContent.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
holder.tvV2XTitle.text = MsgFmData.getFmPolicyName(fmMsg.policyCode)
|
||||
}else{
|
||||
var curFaultLevel = 5 //默认级别,遍历数组找出级别最高的(level数越小,级别越高)
|
||||
@@ -249,7 +254,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
//当出现多个建议操作时,按照整车下电重启、请求人工驾驶接管、请求平行驾驶接管、系统重启、联系硬件工程师、
|
||||
// 联系运维工程师、联系软件工程师优先级递减的顺序,只展示最高优先级的内容
|
||||
if(curFaultLevel == 5){
|
||||
holder.tvV2XContent.text = "建议操作:暂无"
|
||||
// holder.tvV2XContent.text = "建议操作:暂无"
|
||||
holder.tvV2XContent.text = StringUtils.getString(R.string.module_core_suggested_procedure_not_available)
|
||||
}else{
|
||||
holder.tvV2XContent.text = "${faultAction}(${MsgFmData.FaultAction.getFaultActionCode(curFaultLevel)})"
|
||||
}
|
||||
@@ -286,7 +292,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
when(operationMsg.type){
|
||||
0->{
|
||||
//运营平台还车通知
|
||||
holder.tvV2XTitle.text = "还车通知"
|
||||
// holder.tvV2XTitle.text = "还车通知"
|
||||
holder.tvV2XTitle.text = StringUtils.getString(R.string.module_core_vehicle_return_notice)
|
||||
holder.ivV2XImage.setImageDrawable(
|
||||
ContextCompat.getDrawable(
|
||||
activity,
|
||||
@@ -295,7 +302,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
}
|
||||
1->{
|
||||
//运营平台靠边停车
|
||||
holder.tvV2XTitle.text = "运营平台"
|
||||
// holder.tvV2XTitle.text = "运营平台"
|
||||
holder.tvV2XTitle.text = StringUtils.getString(R.string.module_core_operation_platform)
|
||||
holder.ivV2XImage.setImageDrawable(
|
||||
ContextCompat.getDrawable(
|
||||
activity,
|
||||
@@ -304,7 +312,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
}
|
||||
3->{
|
||||
//车门开启关闭失败
|
||||
holder.tvV2XTitle.text = "运营平台"
|
||||
// holder.tvV2XTitle.text = "运营平台"
|
||||
holder.tvV2XTitle.text = StringUtils.getString(R.string.module_core_operation_platform)
|
||||
holder.ivV2XImage.setImageDrawable(
|
||||
ContextCompat.getDrawable(
|
||||
activity,
|
||||
@@ -313,7 +322,8 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
}
|
||||
else->{
|
||||
//普通运营平台
|
||||
holder.tvV2XTitle.text = "运营平台"
|
||||
// holder.tvV2XTitle.text = "运营平台"
|
||||
holder.tvV2XTitle.text = StringUtils.getString(R.string.module_core_operation_platform)
|
||||
holder.ivV2XImage.setImageDrawable(
|
||||
ContextCompat.getDrawable(
|
||||
activity,
|
||||
|
||||
@@ -12,6 +12,7 @@ import androidx.annotation.NonNull;
|
||||
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
|
||||
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager;
|
||||
import com.mogo.eagle.core.function.hmi.R;
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
|
||||
|
||||
public class DispatchCarsDialog extends DispatchBaseDialog {
|
||||
@@ -99,8 +100,10 @@ public class DispatchCarsDialog extends DispatchBaseDialog {
|
||||
show();
|
||||
if(dispatchContent.getType() == 2){
|
||||
//取消调度
|
||||
tvAdasDispatchTitle.setText("调度取消确认");
|
||||
tvAdasDispatchRemindContent.setText("车辆将取消到以下位置的自动驾驶");
|
||||
// tvAdasDispatchTitle.setText("调度取消确认");
|
||||
tvAdasDispatchTitle.setText(StringUtils.getString(R.string.module_core_scheduling_cancellation_confirmation));
|
||||
// tvAdasDispatchRemindContent.setText("车辆将取消到以下位置的自动驾驶");
|
||||
tvAdasDispatchRemindContent.setText(StringUtils.getString(R.string.module_core_vehicle_cancel_autopilot_target_location));
|
||||
}
|
||||
dispatchType = dispatchContent.getType();
|
||||
handler.sendEmptyMessage(MSG_TYPE_TIMER);
|
||||
|
||||
@@ -10,6 +10,8 @@ import android.content.Context;
|
||||
|
||||
import com.mogo.commons.voice.AIAssist;
|
||||
import com.mogo.eagle.core.data.biz.dispatch.DispatchAdasAutoPilotLocReceiverBean;
|
||||
import com.mogo.eagle.core.function.hmi.R;
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
|
||||
public class DispatchDialogManager {
|
||||
|
||||
@@ -108,7 +110,8 @@ public class DispatchDialogManager {
|
||||
}
|
||||
|
||||
private void voice() {
|
||||
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel("请立即停车!请立即停车!",AIAssist.LEVEL0);
|
||||
// AIAssist.getInstance(mContext).speakTTSVoiceWithLevel("请立即停车!请立即停车!",AIAssist.LEVEL0);
|
||||
AIAssist.getInstance(mContext).speakTTSVoiceWithLevel(StringUtils.getString(R.string.module_core_immediate_stop_vehicle),AIAssist.LEVEL0);
|
||||
}
|
||||
|
||||
public void releaseDialog() {
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
|
||||
|
||||
@@ -137,13 +138,20 @@ open class AutomaticExplorationView @JvmOverloads constructor(
|
||||
|
||||
private fun initData() {
|
||||
val dataList = ArrayList<AutoExplorationEntity>(7)
|
||||
dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false))
|
||||
dataList.add(AutoExplorationEntity("前方车辆",2000L,false))
|
||||
dataList.add(AutoExplorationEntity("两侧车辆",2600L,false))
|
||||
dataList.add(AutoExplorationEntity("后方车辆",3000L,false))
|
||||
dataList.add(AutoExplorationEntity("前方路口车辆流速分析",4000L,false))
|
||||
dataList.add(AutoExplorationEntity("前方路口行人/非机动车分析",4300L,false))
|
||||
dataList.add(AutoExplorationEntity("路侧视频分析",5000L,false))
|
||||
// dataList.add(AutoExplorationEntity("当前道路事件分析",2000L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_crossing_event_analyse),2000L,false))
|
||||
// dataList.add(AutoExplorationEntity("前方车辆",2000L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_ahead),2000L,false))
|
||||
// dataList.add(AutoExplorationEntity("两侧车辆",2600L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_both_sides),2600L,false))
|
||||
// dataList.add(AutoExplorationEntity("后方车辆",3000L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_vehicle_behind),3000L,false))
|
||||
// dataList.add(AutoExplorationEntity("前方路口车辆流速分析",4000L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_analysis_vehicle_flow_ahead),4000L,false))
|
||||
// dataList.add(AutoExplorationEntity("前方路口行人/非机动车分析",4300L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_pedestrians_ahead),4300L,false))
|
||||
// dataList.add(AutoExplorationEntity("路侧视频分析",5000L,false))
|
||||
dataList.add(AutoExplorationEntity(StringUtils.getString(R.string.module_och_sidewalk_video_analysis),5000L,false))
|
||||
automaticExplorationAdapter?.setListener(object: AutomaticExplorationAdapter.CompleteListener{
|
||||
override fun onComplete(entity: AutoExplorationEntity) {
|
||||
var allComplete = true //所有探查项目都探查完毕
|
||||
@@ -160,7 +168,8 @@ open class AutomaticExplorationView @JvmOverloads constructor(
|
||||
rotationAnim?.cancel()
|
||||
//语音播放,只在司机端播放
|
||||
if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){
|
||||
AIAssist.getInstance(context).speakTTSVoice("正为您探查道路情况")
|
||||
// AIAssist.getInstance(context).speakTTSVoice("正为您探查道路情况")
|
||||
AIAssist.getInstance(context).speakTTSVoice(StringUtils.getString(R.string.module_core_probing_road_condition_for_you))
|
||||
}
|
||||
//5秒后关闭弹窗
|
||||
val hideViewTimer =object: CountDownTimer(EXPLORATION_HIDE_TIME,EXPLORATION_HIDE_TIME){
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.BitmapHelper
|
||||
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.widget.media.video.NoticeSimpleSmallVideoPlayer
|
||||
import com.shuyu.gsyvideoplayer.GSYVideoManager
|
||||
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
|
||||
@@ -360,41 +361,50 @@ class NoticeTrafficDialog : BaseFloatDialog, LifecycleObserver {
|
||||
dataArrayList.clear()
|
||||
}
|
||||
val laiYuan = NoticeValue()
|
||||
laiYuan.key = "事故来源:"
|
||||
// laiYuan.key = "事故来源:"
|
||||
laiYuan.key = StringUtils.getString(R.string.module_core_accident_source)
|
||||
laiYuan.value = info!!.uploadType
|
||||
dataArrayList.add(laiYuan)
|
||||
val cTime = NoticeValue()
|
||||
cTime.key = "事故时间:"
|
||||
// cTime.key = "事故时间:"
|
||||
cTime.key = StringUtils.getString(R.string.module_core_accident_time)
|
||||
cTime.value = DateTimeUtils.getTimeText(
|
||||
info.dataCreateTime,
|
||||
DateTimeUtils.MM_Yue_dd_Ri_HH_mm
|
||||
)
|
||||
dataArrayList.add(cTime)
|
||||
val hTime = NoticeValue()
|
||||
hTime.key = "处理时间:"
|
||||
// hTime.key = "处理时间:"
|
||||
hTime.key = StringUtils.getString(R.string.module_core_processing_time)
|
||||
hTime.value = DateTimeUtils.getTimeText(
|
||||
info.dataHandleTime,
|
||||
DateTimeUtils.MM_Yue_dd_Ri_HH_mm
|
||||
)
|
||||
dataArrayList.add(hTime)
|
||||
val reason = NoticeValue()
|
||||
reason.key = "事故原因:"
|
||||
// reason.key = "事故原因:"
|
||||
reason.key = StringUtils.getString(R.string.module_core_accident_cause)
|
||||
reason.value = info.reason
|
||||
dataArrayList.add(reason)
|
||||
val status = NoticeValue()
|
||||
status.key = "处理状态:"
|
||||
// status.key = "处理状态:"
|
||||
status.key = StringUtils.getString(R.string.module_core_treatment_state)
|
||||
if (info.operaStatus == "1") {
|
||||
status.value = "待处理"
|
||||
// status.value = "待处理"
|
||||
status.value = StringUtils.getString(R.string.module_core_pending)
|
||||
} else {
|
||||
status.value = "已处理"
|
||||
// status.value = "已处理"
|
||||
status.value = StringUtils.getString(R.string.module_core_processed)
|
||||
}
|
||||
dataArrayList.add(status)
|
||||
val location = NoticeValue()
|
||||
location.key = "事故地点:"
|
||||
// location.key = "事故地点:"
|
||||
location.key = StringUtils.getString(R.string.module_core_accident_spot)
|
||||
location.value = info.uploadAddress
|
||||
dataArrayList.add(location)
|
||||
val style = NoticeValue()
|
||||
style.key = "事故等级:"
|
||||
// style.key = "事故等级:"
|
||||
style.key = StringUtils.getString(R.string.module_core_accident_grade)
|
||||
style.value = info.troubleTypeName
|
||||
dataArrayList.add(style)
|
||||
adapter!!.setData(dataArrayList)
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.TypefaceTextView
|
||||
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
|
||||
/**
|
||||
@@ -260,17 +261,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
|
||||
when (user) {
|
||||
0 -> {
|
||||
//司机端提示
|
||||
tvPromptTitle?.text = "即将绿灯"
|
||||
tvPromptContent?.text = "请准备出发"
|
||||
// tvPromptTitle?.text = "即将绿灯"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_green_light)
|
||||
// tvPromptContent?.text = "请准备出发"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_prepare_to_depart)
|
||||
}
|
||||
1 -> {
|
||||
//TAXI乘客端提示
|
||||
tvPromptContent?.text = "即将绿灯,请准备出发"
|
||||
// tvPromptContent?.text = "即将绿灯,请准备出发"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_upcoming_green_light_prepare_to_depart)
|
||||
}
|
||||
else -> {
|
||||
//BUS乘客端提示
|
||||
tvPromptTitle?.text = "即将绿灯,"
|
||||
tvPromptContent?.text = "请准备出发"
|
||||
// tvPromptTitle?.text = "即将绿灯,"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_green_light1)
|
||||
// tvPromptContent?.text = "请准备出发"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_prepare_to_depart)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -278,17 +284,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
|
||||
when (user) {
|
||||
0 -> {
|
||||
//司机端提示
|
||||
tvPromptTitle?.text = "即将红灯"
|
||||
tvPromptContent?.text = "请减速慢行"
|
||||
// tvPromptTitle?.text = "即将红灯"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_red_light)
|
||||
// tvPromptContent?.text = "请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_warning_slow_down)
|
||||
}
|
||||
1 -> {
|
||||
//TAXI乘客端提示
|
||||
tvPromptContent?.text = "即将红灯,请减速慢行"
|
||||
// tvPromptContent?.text = "即将红灯,请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_upcoming_red_light_warning_slow_down)
|
||||
}
|
||||
else -> {
|
||||
//BUS乘客端提示
|
||||
tvPromptTitle?.text = "即将红灯,"
|
||||
tvPromptContent?.text = "请减速慢行"
|
||||
// tvPromptTitle?.text = "即将红灯,"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_red_light1)
|
||||
// tvPromptContent?.text = "请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_warning_slow_down)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -296,17 +307,22 @@ class TrafficLightPromptView @JvmOverloads constructor(
|
||||
when (user) {
|
||||
0 -> {
|
||||
//司机端提示
|
||||
tvPromptTitle?.text = "即将黄灯"
|
||||
tvPromptContent?.text = "请减速慢行"
|
||||
// tvPromptTitle?.text = "即将黄灯"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_yellow_light)
|
||||
// tvPromptContent?.text = "请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_warning_slow_down)
|
||||
}
|
||||
1 -> {
|
||||
//TAXI乘客端提示
|
||||
tvPromptContent?.text = "即将红灯,请减速慢行"
|
||||
// tvPromptContent?.text = "即将红灯,请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_upcoming_yellow_light_warning_slow_down)
|
||||
}
|
||||
else -> {
|
||||
//BUS乘客端提示
|
||||
tvPromptTitle?.text = "即将黄灯,"
|
||||
tvPromptContent?.text = "请减速慢行"
|
||||
// tvPromptTitle?.text = "即将黄灯,"
|
||||
tvPromptTitle?.text = StringUtils.getString(R.string.module_core_upcoming_yellow_light1)
|
||||
// tvPromptContent?.text = "请减速慢行"
|
||||
tvPromptContent?.text = StringUtils.getString(R.string.module_core_warning_slow_down)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1227,7 +1227,8 @@ class OperatePanelLayout : LinearLayout {
|
||||
"01" -> {
|
||||
//关闭成功
|
||||
Log.d(TAG, "-- 驾驶位视频流关闭成功 --")
|
||||
ToastUtils.showShort("驾驶位视频流功能已关闭")
|
||||
// ToastUtils.showShort("驾驶位视频流功能已关闭")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_drive_seat_video_stream_close)
|
||||
FunctionBuildConfig.isDriveSeatVideoStream = false
|
||||
lastTimeOnSendDriveVideo = 0L
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_DRIVE_SEAT_VIDEO_STREAM)?.also { it.isChecked = false }
|
||||
@@ -1235,7 +1236,8 @@ class OperatePanelLayout : LinearLayout {
|
||||
"11" -> {
|
||||
//打开成功
|
||||
Log.d(TAG, "-- 驾驶位视频流打开成功 --")
|
||||
ToastUtils.showShort("驾驶位视频流功能已开启")
|
||||
// ToastUtils.showShort("驾驶位视频流功能已开启")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_drive_seat_video_stream_open)
|
||||
FunctionBuildConfig.isDriveSeatVideoStream = true
|
||||
lastTimeOnSendDriveVideo = 0L
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_DRIVE_SEAT_VIDEO_STREAM)?.also { it.isChecked = true }
|
||||
@@ -1245,7 +1247,8 @@ class OperatePanelLayout : LinearLayout {
|
||||
"0" -> {
|
||||
Log.d(TAG, "-- 设备下线 --")
|
||||
FunctionBuildConfig.isDriveSeatVideoStream = false // 设备下线
|
||||
ToastUtils.showShort("驾驶位视频流功能因设备下线已关闭")
|
||||
// ToastUtils.showShort("驾驶位视频流功能因设备下线已关闭")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_drive_seat_video_stream_device_live_close)
|
||||
preferenceScreen.findPreferenceReal<SwitchPreferenceCompat>(KEY_DRIVE_SEAT_VIDEO_STREAM)?.also {
|
||||
it.isChecked = false
|
||||
it.isEnabled = false
|
||||
@@ -1304,17 +1307,20 @@ class OperatePanelLayout : LinearLayout {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverPerformTask()||
|
||||
CallerHmiManager.isShuttleDriverPerformTask()
|
||||
) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
// ToastUtils.showLong("请先结束当前任务")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_current_task)
|
||||
return false
|
||||
}
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverTakingOrders()) {
|
||||
ToastUtils.showLong("请先结束接单状态")
|
||||
// ToastUtils.showLong("请先结束接单状态")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_receive_order_state)
|
||||
return false
|
||||
}
|
||||
CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(true)
|
||||
} else {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverLineRoutingPerformTask()) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
// ToastUtils.showLong("请先结束当前任务")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_current_task)
|
||||
return false
|
||||
}
|
||||
CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(false)
|
||||
@@ -1373,13 +1379,19 @@ class OperatePanelLayout : LinearLayout {
|
||||
val interval = SystemClock.elapsedRealtime() - lastTimeOnSendDriveVideo
|
||||
if (interval <= TimeUnit.SECONDS.toMillis(10)) {
|
||||
val seconds = TimeUnit.MILLISECONDS.toSeconds(interval)
|
||||
ToastUtils.showShort("未收到乘客屏响应,${ if (seconds >= 1) "请${seconds}秒后再试" else "请稍候再试"}")
|
||||
// ToastUtils.showShort("未收到乘客屏响应,${ if (seconds >= 1) "请${seconds}秒后再试" else "请稍候再试"}")
|
||||
if (seconds >= 1) {
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_drive_seat_video_stream_device_response_second, seconds)
|
||||
} else {
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_drive_seat_video_stream_device_response)
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
lastTimeOnSendDriveVideo = SystemClock.elapsedRealtime()
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
ToastUtils.showShort(if (isChecked) "驾驶位视频流功能开启指令已发送,等待乘客端响应" else "驾驶位视频流功能关闭指令已发送,等待乘客端响应")
|
||||
// ToastUtils.showShort(if (isChecked) "驾驶位视频流功能开启指令已发送,等待乘客端响应" else "驾驶位视频流功能关闭指令已发送,等待乘客端响应")
|
||||
ToastUtils.showShort(if (isChecked) R.string.module_mogo_core_function_hmi_send_open_drive_seat_video_stream_cmd else R.string.module_mogo_core_function_hmi_send_close_drive_seat_video_stream_cmd)
|
||||
clickEventAnalytics("视频流驾驶位开关", isChecked)
|
||||
val map = HashMap<String, String>()
|
||||
map["open"] = if (isChecked) "1" else "0"
|
||||
@@ -2135,13 +2147,16 @@ class OperatePanelLayout : LinearLayout {
|
||||
val isSuccess = CallerAutoPilotControlManager.setAutoPilotSpeed(FunctionBuildConfig.maxSpeedLimit.toInt())
|
||||
when {
|
||||
isSuccess -> {
|
||||
ToastUtils.showShort("车速设置成功,立即生效")
|
||||
// ToastUtils.showShort("车速设置成功,立即生效")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_success)
|
||||
}
|
||||
else -> {
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
// ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_fail)
|
||||
} else {
|
||||
ToastUtils.showShort("设置车速失败")
|
||||
// ToastUtils.showShort("设置车速失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_fail_disconnect)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2154,10 +2169,12 @@ class OperatePanelLayout : LinearLayout {
|
||||
hmiAction("SOP 变道绕障的目标障碍物速度阈值", FunctionBuildConfig.detouringSpeed)
|
||||
val isSuccess = CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.detouringSpeed)
|
||||
if (isSuccess == true) {
|
||||
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
|
||||
// ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_detouring_speed_success)
|
||||
hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "成功")
|
||||
} else {
|
||||
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
|
||||
// ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_detouring_speed_fail)
|
||||
hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "失败")
|
||||
}
|
||||
clickEventAnalytics("变道速度阈值", true)
|
||||
@@ -2167,10 +2184,12 @@ class OperatePanelLayout : LinearLayout {
|
||||
FunctionBuildConfig.overTakeSpeed = preference.extras.getDouble(PreferenceWithSpeedSetting.KEY_BUNDLE_CURRENT_VALUE, FunctionBuildConfig.overTakeSpeed)
|
||||
val isSuccess = CallerAutoPilotControlManager.sendOvertakeMaxSpeed(FunctionBuildConfig.overTakeSpeed)
|
||||
if (isSuccess == true) {
|
||||
ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置成功")
|
||||
// ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_sop_detouring_speed_success)
|
||||
hmiAction("SOP 超车目标障碍物速度阈值设置", "成功")
|
||||
} else {
|
||||
ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置失败")
|
||||
// ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_sop_detouring_speed_fail)
|
||||
hmiAction("SOP 超车目标障碍物速度阈值设置", "失败")
|
||||
}
|
||||
clickEventAnalytics("超车速度阈值", true)
|
||||
|
||||
@@ -84,7 +84,8 @@ class PreferenceWithSpeedSetting : Preference {
|
||||
btnOk.isEnabled = false
|
||||
holder.itemView.isEnabled = false
|
||||
ll.isSelected = false
|
||||
ToastUtils.showShort("阈值最大为${max.safeScale()}$unit")
|
||||
// ToastUtils.showShort("阈值最大为${max.safeScale()}$unit")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_limit_max_value, "${max.safeScale()}$unit")
|
||||
return@doAfterTextChanged
|
||||
}
|
||||
val temp = current.safeScale()
|
||||
@@ -118,7 +119,8 @@ class PreferenceWithSpeedSetting : Preference {
|
||||
minus.onClickWidthDuration(100) {
|
||||
val minusAfter = cur - step
|
||||
if (minusAfter < min) {
|
||||
ToastUtils.showShort("阈值最小为${min.safeScale()}$unit")
|
||||
// ToastUtils.showShort("阈值最小为${min.safeScale()}$unit")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_limit_min_value, "${min.safeScale()}$unit")
|
||||
return@onClickWidthDuration
|
||||
}
|
||||
cur = minusAfter
|
||||
@@ -140,7 +142,8 @@ class PreferenceWithSpeedSetting : Preference {
|
||||
add.onClickWidthDuration(100) {
|
||||
val addAfter = cur + step
|
||||
if (addAfter > max) {
|
||||
ToastUtils.showShort("阈值最大为${max.safeScale()}$unit")
|
||||
// ToastUtils.showShort("阈值最大为${max.safeScale()}$unit")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_limit_max_value, "${max.safeScale()}$unit")
|
||||
return@onClickWidthDuration
|
||||
}
|
||||
holder.itemView.isEnabled = false
|
||||
|
||||
@@ -1133,7 +1133,8 @@ internal class DebugSettingView @JvmOverloads constructor(
|
||||
//重启工控机所有节点
|
||||
btnIpcReboot.onClick {
|
||||
CallerAutoPilotControlManager.sendIpcReboot()
|
||||
ToastUtils.showLong("重启命令已发送")
|
||||
// ToastUtils.showLong("重启命令已发送")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_send_reboot_success)
|
||||
}
|
||||
btnAppReboot.onClick {
|
||||
killApp()
|
||||
|
||||
@@ -39,6 +39,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
@@ -646,7 +647,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
|
||||
ivSpeedReduce.setOnClickListener {
|
||||
if (FunctionBuildConfig.detouringSpeed <= 3) {
|
||||
ToastUtils.showShort("阈值最小可为3 m/s")
|
||||
// ToastUtils.showShort("阈值最小可为3 m/s")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_detouring_speed_min_value)
|
||||
} else {
|
||||
FunctionBuildConfig.detouringSpeed--
|
||||
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
|
||||
@@ -655,7 +657,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
}
|
||||
ivSpeedAdd.setOnClickListener {
|
||||
if (FunctionBuildConfig.detouringSpeed >= 7) {
|
||||
ToastUtils.showShort("阈值最大可为7 m/s")
|
||||
// ToastUtils.showShort("阈值最大可为7 m/s")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_detouring_speed_max_value)
|
||||
} else {
|
||||
FunctionBuildConfig.detouringSpeed++
|
||||
tvSpeed.text = "${FunctionBuildConfig.detouringSpeed} m/s"
|
||||
@@ -666,10 +669,12 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
val isSuccess =
|
||||
CallerAutoPilotControlManager.sendDetouringSpeed(FunctionBuildConfig.detouringSpeed.toDouble())
|
||||
if (isSuccess == true) {
|
||||
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
|
||||
// ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_detouring_speed_success)
|
||||
hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "成功")
|
||||
} else {
|
||||
ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
|
||||
// ToastUtils.showShort("变道绕障的目标障碍物速度阈值设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_detouring_speed_fail)
|
||||
hmiAction("SOP 变道绕障的目标障碍物速度阈值设置", "失败")
|
||||
}
|
||||
clickEventAnalytics("变道速度阈值",true)
|
||||
@@ -677,7 +682,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
|
||||
ivSpeedOverTakeReduce.setOnClickListener {
|
||||
if (FunctionBuildConfig.overTakeSpeed <= 3) {
|
||||
ToastUtils.showShort("阈值最小可为3 m/s")
|
||||
// ToastUtils.showShort("阈值最小可为3 m/s")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_detouring_speed_min_value)
|
||||
} else {
|
||||
FunctionBuildConfig.overTakeSpeed -= 0.5f
|
||||
tvOverTakeLimit.text = "${FunctionBuildConfig.overTakeSpeed} m/s"
|
||||
@@ -686,7 +692,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
}
|
||||
ivSpeedOverTakeAdd.setOnClickListener {
|
||||
if (FunctionBuildConfig.overTakeSpeed >= 12.5) {
|
||||
ToastUtils.showShort("阈值最大可为12.5 m/s")
|
||||
// ToastUtils.showShort("阈值最大可为12.5 m/s")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_over_take_speed_max_value)
|
||||
} else {
|
||||
FunctionBuildConfig.overTakeSpeed += 0.5f
|
||||
tvOverTakeLimit.text = "${FunctionBuildConfig.overTakeSpeed} m/s"
|
||||
@@ -697,10 +704,12 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
val isSuccess =
|
||||
CallerAutoPilotControlManager.sendOvertakeMaxSpeed(FunctionBuildConfig.overTakeSpeed.toDouble())
|
||||
if (isSuccess == true) {
|
||||
ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置成功")
|
||||
// ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置成功")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_sop_detouring_speed_success)
|
||||
hmiAction("SOP 超车目标障碍物速度阈值设置", "成功")
|
||||
} else {
|
||||
ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置失败")
|
||||
// ToastUtils.showShort("SOP 超车目标障碍物速度阈值设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_send_sop_detouring_speed_fail)
|
||||
hmiAction("SOP 超车目标障碍物速度阈值设置", "失败")
|
||||
}
|
||||
clickEventAnalytics("超车速度阈值",true)
|
||||
@@ -793,19 +802,22 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
if(!buttonView.isPressed) return@setOnCheckedChangeListener
|
||||
if (isChecked) {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverPerformTask()) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
// ToastUtils.showLong("请先结束当前任务")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_current_task)
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverTakingOrders()) {
|
||||
ToastUtils.showLong("请先结束接单状态")
|
||||
// ToastUtils.showLong("请先结束接单状态")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_receive_order_state)
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
CallerHmiManager.setTaxiUnmanedDriverLineRoutingVerifyMode(true)
|
||||
} else {
|
||||
if (CallerHmiManager.isTaxiUnmanedDriverLineRoutingPerformTask()) {
|
||||
ToastUtils.showLong("请先结束当前任务")
|
||||
// ToastUtils.showLong("请先结束当前任务")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_please_stop_current_task)
|
||||
buttonView.isChecked = !isChecked
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
@@ -929,7 +941,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
if (mf != null) {
|
||||
mfStatusLayout.setClickEnabled(true)
|
||||
mfStatusLayout.setClickedTextAndTag(
|
||||
if (mf.isConnected()) "断开魔方连接" else "开始连接魔方",
|
||||
// if (mf.isConnected()) "断开魔方连接" else "开始连接魔方",
|
||||
if (mf.isConnected()) StringUtils.getString(R.string.module_core_disconnect_mofang) else StringUtils.getString(R.string.module_core_connect_mofang),
|
||||
if (mf.isConnected()) 0 else 1
|
||||
)
|
||||
mf.registerMoFangStatusListener(TAG, this)
|
||||
@@ -938,22 +951,26 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
if (tag == 0) {
|
||||
//断开魔方连接
|
||||
if (!mf.isConnected()) {
|
||||
Toast.makeText(context, "尚未建立连接", Toast.LENGTH_SHORT).show()
|
||||
// Toast.makeText(context, "尚未建立连接", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(context, R.string.module_core_mofang_disconnect, Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickCallback
|
||||
}
|
||||
mfStatusLayout.showLoadingView()
|
||||
mfStatusLayout.setLoadingViewText("正在断开魔方连接, 请稍候...")
|
||||
// mfStatusLayout.setLoadingViewText("正在断开魔方连接, 请稍候...")
|
||||
mfStatusLayout.setLoadingViewText(StringUtils.getString(R.string.module_core_disconnecting_mofang))
|
||||
mf.disconnect()
|
||||
}
|
||||
if (tag == 1) {
|
||||
//建立魔方连接
|
||||
if (mf.isConnected()) {
|
||||
Toast.makeText(context, "已连接,不要重复连接", Toast.LENGTH_SHORT).show()
|
||||
// Toast.makeText(context, "已连接,不要重复连接", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(context, R.string.module_core_mofang_connected, Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickCallback
|
||||
}
|
||||
mf.connect()
|
||||
mfStatusLayout.showLoadingView()
|
||||
mfStatusLayout.setLoadingViewText("正在连接魔方, 请稍候")
|
||||
// mfStatusLayout.setLoadingViewText("正在连接魔方, 请稍候")
|
||||
mfStatusLayout.setLoadingViewText(StringUtils.getString(R.string.module_core_connecting_mofang))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1047,7 +1064,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
override fun onMoFangConnected() {
|
||||
mfStatusLayout?.also {
|
||||
it.hideLoadingView()
|
||||
it.setClickedTextAndTag("断开魔方连接", 0)
|
||||
// it.setClickedTextAndTag("断开魔方连接", 0)
|
||||
it.setClickedTextAndTag(StringUtils.getString(R.string.module_core_disconnect_mofang), 0)
|
||||
mfTest?.isEnabled = true
|
||||
mfTest?.isChecked = CallerDevaToolsManager.mofang()?.isEnableTest() ?: false
|
||||
}
|
||||
@@ -1056,7 +1074,8 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
override fun onMoFangDisconnected() {
|
||||
mfStatusLayout?.also {
|
||||
it.hideLoadingView()
|
||||
it.setClickedTextAndTag("开始连接魔方", 1)
|
||||
// it.setClickedTextAndTag("开始连接魔方", 1)
|
||||
it.setClickedTextAndTag(StringUtils.getString(R.string.module_core_connect_mofang), 1)
|
||||
mfTest?.isEnabled = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog
|
||||
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
|
||||
import com.mogo.eagle.core.utilcode.kotlin.PX
|
||||
import com.mogo.eagle.core.utilcode.rv.divider.CommonDividerItemDecoration
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
@@ -51,7 +52,8 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
it.add(StatusSummaryEntity(1))
|
||||
it.add(StatusSummaryEntity(2))
|
||||
it.add(StatusSummaryEntity(3))
|
||||
it.add(StatusSummaryEntity(4, "域控未连接", true))
|
||||
// it.add(StatusSummaryEntity(4, "域控未连接", true))
|
||||
it.add(StatusSummaryEntity(4, StringUtils.getString(R.string.module_core_ipc_disconnect), true))
|
||||
it.add(StatusSummaryEntity(5, CallerAutopilotCarConfigListenerManager.getCertFileResult(), CallerCloudCertManager.getRootCrtF().isNullOrEmpty()))
|
||||
}
|
||||
}
|
||||
@@ -114,7 +116,9 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
super.onServerStatusChanged(isStarted)
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 1) return@post
|
||||
data[0].desc = "司机屏Server启动${if (isStarted) "正常" else "异常"}"
|
||||
// data[0].desc = "司机屏Server启动${if (isStarted) "正常" else "异常"}"
|
||||
data[0].desc = "${StringUtils.getString(R.string.module_core_driver_server_start)}${
|
||||
if (isStarted) StringUtils.getString(R.string.module_core_normal) else StringUtils.getString(R.string.module_core_error)}"
|
||||
data[0].isException = !isStarted
|
||||
adapter?.notifyItemChanged(0)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -124,7 +128,8 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
super.gpsStatus(status)
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 2) return@post
|
||||
data[1].desc = "GPS${if (status) "正常" else "异常"}"
|
||||
// data[1].desc = "GPS${if (status) "正常" else "异常"}"
|
||||
data[1].desc = "GPS${if (status) StringUtils.getString(R.string.module_core_normal) else StringUtils.getString(R.string.module_core_error)}"
|
||||
data[1].isException = !status
|
||||
adapter?.notifyItemChanged(1)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -137,7 +142,9 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
if (StatusDescriptor.CLOUD_SOCKET == descriptor) {
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 3) return@post
|
||||
data[2].desc = "云Socket连接${if (isTrue) "正常" else "异常"}"
|
||||
// data[2].desc = "云Socket连接${if (isTrue) "正常" else "异常"}"
|
||||
data[2].desc = "${StringUtils.getString(R.string.module_core_cloud_socket_connect)}${
|
||||
if (isTrue) StringUtils.getString(R.string.module_core_normal) else StringUtils.getString(R.string.module_core_error)}"
|
||||
data[2].isException = !isTrue
|
||||
adapter?.notifyItemChanged(2)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -148,7 +155,9 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
super.tracingStatus(status) // 发送事件前限制了频率
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 4) return@post
|
||||
data[3].desc = "寻迹算路${if (status) "正常" else "异常"}"
|
||||
// data[3].desc = "寻迹算路${if (status) "正常" else "异常"}"
|
||||
data[3].desc = "${StringUtils.getString(R.string.module_core_trail_tracking_route_calculation)}${
|
||||
if (status) StringUtils.getString(R.string.module_core_normal) else StringUtils.getString(R.string.module_core_error)}"
|
||||
data[3].isException = !status
|
||||
adapter?.notifyItemChanged(3)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -159,43 +168,53 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
var pair: Pair<String, Boolean>? = null
|
||||
when (status) {
|
||||
AdasConstants.IpcConnectionStatus.DISCONNECTED -> {
|
||||
pair = Pair("域控未连接", true)
|
||||
// pair = Pair("域控未连接", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_disconnect), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.CONNECTED -> {
|
||||
pair = Pair("域控已连接", false)
|
||||
// pair = Pair("域控已连接", false)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_connected), false)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.CONNECTING -> {
|
||||
pair = Pair("域控连接中", true)
|
||||
// pair = Pair("域控连接中", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_connecting), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER, AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK -> {
|
||||
pair = Pair("域控重连中", true)
|
||||
// pair = Pair("域控重连中", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_reconnecting), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION -> {
|
||||
pair = Pair("域控连接异常", true)
|
||||
// pair = Pair("域控连接异常", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_connect_error), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS -> {
|
||||
pair = Pair("非法域控地址", true)
|
||||
// pair = Pair("非法域控地址", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_illegal_address), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS -> {
|
||||
pair = Pair("正在搜索域控地址", true)
|
||||
// pair = Pair("正在搜索域控地址", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_search_address), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS -> {
|
||||
pair = Pair("找不到可用的域控地址", true)
|
||||
// pair = Pair("找不到可用的域控地址", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_not_found_address), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT -> {
|
||||
pair = Pair("域控心跳超时", true)
|
||||
// pair = Pair("域控心跳超时", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_heartbeat_timeout), true)
|
||||
}
|
||||
|
||||
AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED -> {
|
||||
pair = Pair("域控主动断开连接", true)
|
||||
// pair = Pair("域控主动断开连接", true)
|
||||
pair = Pair(StringUtils.getString(R.string.module_core_ipc_server_disconnected), true)
|
||||
}
|
||||
|
||||
else -> {}
|
||||
@@ -211,11 +230,13 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
override fun authCrtFile(device: String, root: String) {
|
||||
super.authCrtFile(device, root)
|
||||
UiThreadHandler.post({
|
||||
if (CallerAutopilotCarConfigListenerManager.getCertFileResult() != "未开启认证") {
|
||||
// if (CallerAutopilotCarConfigListenerManager.getCertFileResult() != "未开启认证") {
|
||||
if (CallerAutopilotCarConfigListenerManager.getCertFileResult() != StringUtils.getString(R.string.module_core_authentication_not_enabled)) {
|
||||
return@post
|
||||
}
|
||||
if (data.size < 6) return@post
|
||||
data[5].desc = "本机证书已下载"
|
||||
// data[5].desc = "本机证书已下载"
|
||||
data[5].desc = StringUtils.getString(R.string.module_core_local_cert_downloaded)
|
||||
data[5].isException = false
|
||||
adapter?.notifyItemChanged(5)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -225,7 +246,8 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
super.authCrtError(errorMsg)
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 6) return@post
|
||||
data[5].desc = "本机证书下载异常:$errorMsg"
|
||||
// data[5].desc = "本机证书下载异常:$errorMsg"
|
||||
data[5].desc = "${StringUtils.getString(R.string.module_core_local_cert_download_failed)}$errorMsg"
|
||||
data[5].isException = true
|
||||
adapter?.notifyItemChanged(5)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
@@ -240,7 +262,8 @@ class StatusSummaryView @JvmOverloads constructor(context: Context, attrs: Attri
|
||||
UiThreadHandler.post({
|
||||
if (data.size < 6) return@post
|
||||
data[5].desc = msg
|
||||
data[5].isException = !msg.contains("成功校验")
|
||||
// data[5].isException = !msg.contains("成功校验")
|
||||
data[5].isException = !msg.contains(StringUtils.getString(R.string.module_core_check_success))
|
||||
adapter?.notifyItemChanged(5)
|
||||
}, UiThreadHandler.MODE.QUEUE)
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.mogo.eagle.core.data.deva.bindingcar.IPCUpgradeStateInfo
|
||||
import com.mogo.eagle.core.data.enums.SidePattern
|
||||
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
|
||||
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
|
||||
import com.mogo.eagle.core.function.hmi.ui.setting.SopView.Companion.sopView
|
||||
@@ -117,7 +118,8 @@ class ToolsView private constructor() {
|
||||
toolsView?.showAdUpgradeStatus(ipcUpgradeStateInfo)
|
||||
ipcUpgradeStateInfo.status.let {
|
||||
if (AdUpgradeStateHelper.isUpgradeSuccess(it)) {
|
||||
ToastUtils.showLong("升级成功")
|
||||
// ToastUtils.showLong("升级成功")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_ipc_upgrade_success)
|
||||
AdUpgradeStateHelper.setConfirmUpgrade(false)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,8 @@ class AdUpgradeDialog(context: Context, images: List<String>, padSn: String, rel
|
||||
//确认升级
|
||||
CallerDevaToolsManager.upgradeConfirm(images, padSn, releaseId)
|
||||
AdUpgradeStateHelper.setConfirmUpgrade(true)
|
||||
ToastUtils.showLong("最新版本下载中...")
|
||||
// ToastUtils.showLong("最新版本下载中...")
|
||||
ToastUtils.showLong(R.string.module_mogo_core_function_hmi_ipc_upgrade_dow)
|
||||
dismiss()
|
||||
}
|
||||
upgradeCancel?.setOnClickListener {
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.mogo.eagle.core.function.msgbox.MsgBoxConfig
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.zhjt.service_biz.BizConfig
|
||||
@@ -82,7 +83,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
when {
|
||||
speed > 60 -> {
|
||||
// 设置失败键盘不消失,让用户直接修改
|
||||
ToastUtils.showShort("超过最大限速值60,设置失败")
|
||||
// ToastUtils.showShort("超过最大限速值60,设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_beyond_max_value)
|
||||
}
|
||||
else -> {
|
||||
keyBoardUtil?.hideKeyboard()
|
||||
@@ -93,10 +95,12 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
when {
|
||||
isSuccess -> {
|
||||
etInputSpeed.setText(speedLimit.toString())
|
||||
ToastUtils.showShort("车速设置成功,立即生效")
|
||||
// ToastUtils.showShort("车速设置成功,立即生效")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_success)
|
||||
}
|
||||
else -> {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
// ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_fail)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,11 +117,13 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
speedLimit = inputContent.toInt()
|
||||
if(speedLimit>60){
|
||||
speedLimit = 60
|
||||
ToastUtils.showShort("最大限速60")
|
||||
// ToastUtils.showShort("最大限速60")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_max_value)
|
||||
}
|
||||
}
|
||||
}catch (t: Exception){
|
||||
ToastUtils.showShort("最大限速60")
|
||||
// ToastUtils.showShort("最大限速60")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_max_value)
|
||||
speedLimit = 60
|
||||
|
||||
}
|
||||
@@ -175,7 +181,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
// tvAcceleration.text = "加速度 $maxAcceleration m/s²"
|
||||
// }
|
||||
clSpeedSet.visibility = View.VISIBLE
|
||||
tvAcceleration.text = "每次调整车速±5km/h,点击确定生效"
|
||||
// tvAcceleration.text = "每次调整车速±5km/h,点击确定生效"
|
||||
tvAcceleration.text = StringUtils.getString(R.string.module_core_speed_adjust_step_5km)
|
||||
if (speedLimit > 0) {
|
||||
etInputSpeed.setText(speedLimit.toString())
|
||||
}else{
|
||||
@@ -200,7 +207,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
svLayout.fullScroll(View.FOCUS_DOWN)
|
||||
}
|
||||
if (!CallerAutoPilotStatusListenerManager.isConnect()) {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
// ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_fail)
|
||||
keyBoardUtil?.hideKeyboard()
|
||||
return@setOnTouchListener true
|
||||
} else {
|
||||
@@ -216,7 +224,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
speedLimit = 0
|
||||
etInputSpeed.setText(speedLimit.toString())
|
||||
} else{
|
||||
ToastUtils.showShort("车速不能再减了")
|
||||
// ToastUtils.showShort("车速不能再减了")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_not_minus)
|
||||
}
|
||||
try{
|
||||
etInputSpeed.setSelection(speedLimit.toString().length)
|
||||
@@ -231,7 +240,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
speedLimit = 60
|
||||
etInputSpeed.setText(speedLimit.toString())
|
||||
} else{
|
||||
ToastUtils.showShort("车速不能再加了")
|
||||
// ToastUtils.showShort("车速不能再加了")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_not_add)
|
||||
}
|
||||
try{
|
||||
etInputSpeed.setSelection(speedLimit.toString().length)
|
||||
@@ -242,7 +252,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
tvSureModify.setOnClickListener {
|
||||
if(speedLimit>60){
|
||||
// 设置失败键盘不消失,让用户直接修改
|
||||
ToastUtils.showShort("超过最大限速值60,设置失败")
|
||||
// ToastUtils.showShort("超过最大限速值60,设置失败")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_speed_beyond_max_value)
|
||||
return@setOnClickListener
|
||||
}
|
||||
val isSuccess = CallerAutoPilotControlManager.setAutoPilotSpeed(speedLimit)
|
||||
@@ -250,10 +261,12 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
isSuccess -> {
|
||||
//速度显示
|
||||
etInputSpeed.setText(speedLimit.toString())
|
||||
ToastUtils.showShort("车速设置成功,立即生效")
|
||||
// ToastUtils.showShort("车速设置成功,立即生效")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_success)
|
||||
}
|
||||
else -> {
|
||||
ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
// ToastUtils.showShort("设置车速失败,请启动域控制器")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_set_auto_pilot_speed_fail)
|
||||
}
|
||||
}
|
||||
try {
|
||||
@@ -267,7 +280,8 @@ internal class AutoPilotAndCheckView @JvmOverloads constructor(
|
||||
if (CallerAutoPilotStatusListenerManager.getState() == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING
|
||||
|| CallerAutoPilotStatusListenerManager.getState() == IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING
|
||||
) {
|
||||
ToastUtils.showShort("请稍后退出")
|
||||
// ToastUtils.showShort("请稍后退出")
|
||||
ToastUtils.showShort(R.string.module_mogo_core_function_hmi_please_out_later)
|
||||
return@onClick
|
||||
}
|
||||
EventBus.getDefault().post(EventLogout(EventLogout.LOGOUT_TYPE))
|
||||
|
||||
@@ -76,9 +76,11 @@ class ModifyBindingCarDialog(context: Context) : BaseFloatDialog(context, TAG),
|
||||
private fun modifyBindingCar() {
|
||||
CallerDevaToolsManager.modifyCarInfo {
|
||||
if (it.code == 200) {
|
||||
TipToast.shortTip("修改绑定成功")
|
||||
// TipToast.shortTip("修改绑定成功")
|
||||
TipToast.shortTip(R.string.module_core_change_bind_success)
|
||||
} else {
|
||||
TipToast.shortTip("修改绑定失败")
|
||||
// TipToast.shortTip("修改绑定失败")
|
||||
TipToast.shortTip(R.string.module_core_change_bind_failed)
|
||||
}
|
||||
}
|
||||
dismiss()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user