Merge branch 'dev_robotaxi-d_240912_6.7.2_local' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_240912_6.7.2_local
This commit is contained in:
@@ -59,7 +59,7 @@ object ColdStartAnalyticsManager {
|
||||
coldStartParams[eventParamLatitude] = latitude
|
||||
coldStartParams[eventParamLongitude] = longitude
|
||||
coldStartParams[eventParamStep] = step
|
||||
coldStartParams[eventParamReason] =
|
||||
coldStartParams[eventParamReason] = reason
|
||||
MogoAnalyticUtils.track(coldStartStep,coldStartParams)
|
||||
}
|
||||
|
||||
|
||||
@@ -544,6 +544,7 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
override fun onVisibilityAggregated(isVisible: Boolean) {
|
||||
super.onVisibilityAggregated(isVisible)
|
||||
if(visibility == View.VISIBLE){
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
//获取一级分类
|
||||
CallerDevaToolsManager.getCategories(BadCaseConfig.tenantId, 1, 0, type, 0)
|
||||
//弹窗展示时间
|
||||
@@ -585,4 +586,14 @@ class FaultReasonView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerDevaToolsListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -344,6 +344,7 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
override fun onVisibilityChanged(changedView: View, visibility: Int) {
|
||||
super.onVisibilityChanged(changedView, visibility)
|
||||
if(visibility == View.VISIBLE){
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
//弹窗展示时间
|
||||
tv_work_order_time.text =
|
||||
millis2String(System.currentTimeMillis(), TimeUtils.getHourMinSecondFormat())
|
||||
@@ -364,7 +365,16 @@ class WorkOrderView @JvmOverloads constructor(
|
||||
//重置工单问题类型
|
||||
workOrderType = ""
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerDevaToolsListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerDevaToolsListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -486,6 +486,10 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
||||
ToolKitDataManager.addListener(TAG, listener)
|
||||
}
|
||||
|
||||
override fun removeToolKitDefaultItemClickListener(tag: String) {
|
||||
ToolKitDataManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加单个默认样式的工具箱item
|
||||
* @param toolTag 唯一标识tag,和前面toolTag重复的,默认不添加,跳过
|
||||
|
||||
@@ -534,7 +534,7 @@ class OperatePanelLayout : LinearLayout {
|
||||
val isPressed = preference.extras.getBoolean("is_pressed", true)
|
||||
if (!isPressed) {
|
||||
preference.extras.remove("is_pressed")
|
||||
return true
|
||||
return false
|
||||
}
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
hmiAction("SOP 演示模式开关, ", !FunctionBuildConfig.isDemoMode)
|
||||
@@ -545,18 +545,21 @@ class OperatePanelLayout : LinearLayout {
|
||||
if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机
|
||||
CallerAutoPilotControlManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode)
|
||||
}
|
||||
return true
|
||||
}
|
||||
KEY_RECORD_BAG_DIALOG -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.isShowBagRecordWindow = isChecked
|
||||
hmiAction("SOP 是否展示录包弹窗, ", isChecked)
|
||||
clickEventAnalytics("录包弹窗", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_TAKE_OVER_WAKE -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
FunctionBuildConfig.isTakeoverRemind = isChecked
|
||||
hmiAction("SOP 是否展示接管提醒, ", isChecked)
|
||||
clickEventAnalytics("接管提醒", isChecked)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return super.onPreferenceChange(preference, newValue)
|
||||
@@ -810,6 +813,7 @@ class OperatePanelLayout : LinearLayout {
|
||||
CallerLogger.d(TAG, "发送开关数据:${isChecked}到乘客屏")
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.WEATHER_SWITCH_STATUS, (if (isChecked) "1" else "0").toByteArray())
|
||||
clickEventAnalytics("天气效果开关", isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_SYSTEM_BOOT_STATUS_SHOW -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
@@ -817,6 +821,7 @@ class OperatePanelLayout : LinearLayout {
|
||||
clickEventAnalytics("系统启动状态展示", isChecked)
|
||||
HmiBuildConfig.isShowConnectionProgressView = isChecked
|
||||
CallerHmiViewControlListenerManager.updateConnectionProgressView(isChecked)
|
||||
return true
|
||||
}
|
||||
KEY_SWEEPER_CLOUD_CONTROL -> {
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
@@ -836,6 +841,7 @@ class OperatePanelLayout : LinearLayout {
|
||||
confirmDialog.showSweeperModeChangeConfirmDialog()
|
||||
}
|
||||
clickEventAnalytics("清扫云控业务", isChecked)
|
||||
return true
|
||||
}
|
||||
}
|
||||
return super.onPreferenceChange(preference, newValue)
|
||||
@@ -1217,7 +1223,7 @@ class OperatePanelLayout : LinearLayout {
|
||||
val isPressed = preference.extras.getBoolean("is_pressed", true)
|
||||
if (!isPressed) {
|
||||
preference.extras.remove("is_pressed")
|
||||
return true
|
||||
return false
|
||||
}
|
||||
val isChecked = newValue as? Boolean ?: false
|
||||
hmiAction("SOP 雨天模式开关, ", isChecked)
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.zhjt.mogo_core_function_devatools.coldstart.ColdStartNodeAdapter
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartNow
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivColdStartStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivIpcConnectStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivNodeListMask
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.ivSsmConnectStatus
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.rvNodeList
|
||||
import kotlinx.android.synthetic.main.view_cold_start.view.tvColdStartContent
|
||||
@@ -110,7 +111,6 @@ class ColdStartView @JvmOverloads constructor(
|
||||
//保存点击时间
|
||||
ColdStartConfig.setColdStartNowState(System.currentTimeMillis())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
@@ -123,6 +123,11 @@ class ColdStartView @JvmOverloads constructor(
|
||||
super.onDetachedFromWindow()
|
||||
CallerAutoPilotStatusListenerManager.removeListener(TAG)
|
||||
CallerColdStartStateListenerManager.removeListener(TAG)
|
||||
ipcRotationAnim?.cancel()
|
||||
ssmRotationAnim?.cancel()
|
||||
connectSSMTimer?.cancel()
|
||||
coldStartRotationAnim?.cancel()
|
||||
connectColdStartTimer?.cancel()
|
||||
}
|
||||
|
||||
override fun onAutopilotIpcConnectStatusChanged(
|
||||
@@ -285,6 +290,13 @@ class ColdStartView @JvmOverloads constructor(
|
||||
//记录冷启动成功时间
|
||||
ColdStartConfig.setColdStartSuccessTime(System.currentTimeMillis())
|
||||
}
|
||||
if(it.eventStatus == SsmInfo.CSState.COLD_START_UNREADY || it.eventStatus == SsmInfo.CSState.COLD_START_TIMEOUT){
|
||||
//展示冷启动失败视图
|
||||
showColdStartFailView()
|
||||
//冷启动失败埋点统计
|
||||
reason = "SSM返回冷启动失败"
|
||||
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.coldStartFail,reason)
|
||||
}
|
||||
tvColdStartContent.text = getColdStartEventStatus(it.eventStatus)
|
||||
nodeList.clear()
|
||||
it.nodeList.forEach {node->
|
||||
@@ -335,7 +347,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
}
|
||||
// 超时
|
||||
SsmInfo.CSState.COLD_START_TIMEOUT->{
|
||||
"系统启动异常,建议重启车辆并上报问题"
|
||||
"系统启动超时,建议重启车辆并上报问题"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -399,9 +411,14 @@ class ColdStartView @JvmOverloads constructor(
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
//域控连接成功埋点统计
|
||||
reason = "域控连接成功"
|
||||
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectSuccess,reason)
|
||||
ssmConnectStatus = false
|
||||
coldStartStatus = false
|
||||
newColdStart = false
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -426,6 +443,8 @@ class ColdStartView @JvmOverloads constructor(
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
//域控连接失败埋点统计
|
||||
this.reason = "域控连接失败:$failReason"
|
||||
ColdStartAnalyticsManager.coldStartStepAnalytics(ColdStartAnalyticsManager.ipcConnectFail,reason)
|
||||
@@ -451,6 +470,8 @@ class ColdStartView @JvmOverloads constructor(
|
||||
viewColdStartDivider.visibility = View.GONE
|
||||
ivColdStartStatus.visibility = View.GONE
|
||||
tvColdStartContent.visibility = View.GONE
|
||||
rvNodeList.visibility = View.GONE
|
||||
ivNodeListMask.visibility = View.GONE
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -488,6 +509,8 @@ class ColdStartView @JvmOverloads constructor(
|
||||
viewColdStartDivider.visibility = View.VISIBLE
|
||||
ivColdStartStatus.visibility = View.VISIBLE
|
||||
tvColdStartContent.visibility = View.VISIBLE
|
||||
rvNodeList.visibility = View.VISIBLE
|
||||
ivNodeListMask.visibility = View.VISIBLE
|
||||
tvColdStartContent.text = "启动中…"
|
||||
ivColdStartStatus.setImageDrawable(ResourceUtils.getDrawable(R.drawable.icon_cold_start_process))
|
||||
//开启冷启动连接状态动画
|
||||
@@ -610,7 +633,7 @@ class ColdStartView @JvmOverloads constructor(
|
||||
fun coldStartFail()
|
||||
}
|
||||
|
||||
fun setColdStartResultListener(listener: ColdStartResultListener){
|
||||
fun setColdStartResultListener(listener: ColdStartResultListener?){
|
||||
coldStartResultListener = listener
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#00000000"
|
||||
android:endColor="#68696B"
|
||||
android:angle="270"
|
||||
/>
|
||||
<corners
|
||||
android:radius="@dimen/dp_8"/>
|
||||
</shape>
|
||||
@@ -110,17 +110,6 @@
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvColdStartNodeState"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvColdStartContent"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvColdStartContent"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:textColor="#B2FFFFFF"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rvNodeList"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -130,17 +119,41 @@
|
||||
android:layout_marginTop="@dimen/dp_26"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivNodeListMask"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="@dimen/dp_40"
|
||||
app:layout_constraintBottom_toBottomOf="@id/rvNodeList"
|
||||
app:layout_constraintLeft_toLeftOf="@id/rvNodeList"
|
||||
app:layout_constraintRight_toRightOf="@id/rvNodeList"
|
||||
android:src="@drawable/bg_cold_start_list_mask"
|
||||
android:contentDescription="@string/cold_start_list_mask"
|
||||
android:elevation="@dimen/dp_10"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvColdStartTip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/tvColdStartNow"
|
||||
android:text="@string/cold_start_now_tip"
|
||||
android:textSize="@dimen/sp_28"
|
||||
android:textColor="#82FFFFFF"
|
||||
android:layout_marginBottom="@dimen/dp_124"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvColdStartNow"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="@id/tvSystemStartupTitle"
|
||||
app:layout_constraintTop_toBottomOf="@id/rvNodeList"
|
||||
app:layout_constraintBottom_toTopOf="@id/tvColdStartTip"
|
||||
android:text="@string/cold_start_now"
|
||||
android:textSize="@dimen/sp_40"
|
||||
android:textColor="@color/white"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_154"
|
||||
android:layout_marginBottom="@dimen/dp_16"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
@@ -156,16 +169,5 @@
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvColdStartNow"
|
||||
app:layout_constraintStart_toStartOf="@id/tvColdStartNow"
|
||||
android:text="@string/cold_start_now_tip"
|
||||
android:textSize="@dimen/sp_28"
|
||||
android:textColor="#82FFFFFF"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -141,20 +141,20 @@ class TravelRealityModel private constructor() {
|
||||
|
||||
fun cancelAllRequest() {
|
||||
if (eventKey.isNotEmpty()) {
|
||||
eventKey = ""
|
||||
cancel(eventKey)
|
||||
eventKey = ""
|
||||
}
|
||||
if (deviceKey.isNotEmpty()) {
|
||||
deviceKey = ""
|
||||
cancel(deviceKey)
|
||||
deviceKey = ""
|
||||
}
|
||||
if (trackKey.isNotEmpty()) {
|
||||
trackKey = ""
|
||||
cancel(trackKey)
|
||||
trackKey = ""
|
||||
}
|
||||
if (liveKey.isNotEmpty()) {
|
||||
liveKey = ""
|
||||
cancel(liveKey)
|
||||
liveKey = ""
|
||||
}
|
||||
clearDownload()
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Liste
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisStatesListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisStatesListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.map.MogoMap
|
||||
import com.mogo.map.MogoMapView
|
||||
import com.mogo.map.overlay.line.Polyline
|
||||
@@ -137,6 +138,10 @@ class MapBizView(context: Context?, attrs: AttributeSet?) : MogoMapView(context,
|
||||
// 先取消注册数据,再onDestroy
|
||||
CallerChassisLocationWGS84ListenerManager.removeListener(TAG)
|
||||
CallerChassisStatesListenerManager.removeListener(TAG)
|
||||
CallerMapUIServiceManager.getOverlayManager()?.let {
|
||||
it.removeAllLines()
|
||||
it.removeAllPoints()
|
||||
}
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
||||
@@ -146,6 +146,11 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context
|
||||
getUI()?.setVisible(false)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerMapAiCloudDataManager.removeListener(RoadCrossRoamView.TAG)
|
||||
}
|
||||
|
||||
@ChainLog(
|
||||
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
|
||||
linkCode = ChainConstant.CHAIN_SOURCE_ADAS,
|
||||
|
||||
Reference in New Issue
Block a user