From ef06a4b30ee770d2c2b164e599c4b82fb0c3d21e Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 17 Oct 2024 15:37:33 +0800 Subject: [PATCH 01/34] =?UTF-8?q?[6.7.0]=E5=86=B7=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/ui/widget/ColdStartView.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt index 68727423b5..9a7b4a6459 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartView.kt @@ -7,6 +7,7 @@ import android.os.Build import android.os.CountDownTimer import android.text.Html import android.util.AttributeSet +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.animation.LinearInterpolator @@ -85,7 +86,6 @@ class ColdStartView @JvmOverloads constructor( super.onAttachedToWindow() CallerAutoPilotStatusListenerManager.addListener(TAG, this) CallerColdStartStateListenerManager.addListener(TAG,this) - CallerAutoPilotControlManager.sendSsmFuncQueryColdStartState() } override fun onDetachedFromWindow() { @@ -211,6 +211,9 @@ class ColdStartView @JvmOverloads constructor( coldStartState: SsmInfo.ColdStartState? ) { coldStartState?.let { + Log.i(TAG,"节点自上报冷启动状态="+it.eventStatus) + Log.i(TAG,"旧冷启动状态="+it.processStatus) + Log.i(TAG,"旧冷启动超时原因="+it.processTimeoutReason) ThreadUtils.runOnUiThread { if(it.eventStatus == SsmInfo.CSState.COLD_START_READY){ //冷启动就绪 @@ -219,6 +222,8 @@ class ColdStartView @JvmOverloads constructor( tvColdStartContent.text = getColdStartEventStatus(it.eventStatus) nodeStatusSb.clear() it.nodeList.forEach {node-> + Log.i(TAG,"node nodeName="+node.nodeName+"node status="+node.status) + val nodeDetail = node.nodeName+ " " + getColdStartNodeStatus(node.status) if(node.status == SsmInfo.NodeStatus.NODE_FAILED || node.status ==SsmInfo.NodeStatus.NODE_TIMEOUT){ nodeStatusSb.append("${nodeDetail}") @@ -321,8 +326,6 @@ class ColdStartView @JvmOverloads constructor( viewColdStartDivider.visibility = View.GONE ivColdStartStatus.visibility = View.GONE tvColdStartContent.visibility = View.GONE - //主动查询冷启动状态 - CallerAutoPilotControlManager.sendSsmFuncQueryColdStartState() } /** @@ -378,11 +381,11 @@ class ColdStartView @JvmOverloads constructor( connectSSMTimer?.cancel() //开始启动冷启动等待倒计时 coldStartProcess() + //主动查询冷启动状态 + CallerAutoPilotControlManager.sendSsmFuncQueryColdStartState() } ssmConnectStatus = true coldStartStatus = false - //主动查询冷启动状态 - CallerAutoPilotControlManager.sendSsmFuncQueryColdStartState() } /** From 98270da425f1f29be562dba41b0120c922f9ded8 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 17 Oct 2024 17:23:33 +0800 Subject: [PATCH 02/34] =?UTF-8?q?[6.7.0][Opt]=E8=B5=B7=E7=BB=88=E7=82=B9?= =?UTF-8?q?=E7=BB=98=E5=88=B6=E7=9B=91=E5=90=ACOch=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/map/MapContainerLayout.kt | 3 + .../core/function/view/TravelRealityView.kt | 134 ++++++++++++------ 2 files changed, 96 insertions(+), 41 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt index 21e538c995..48e9dd35d8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/map/MapContainerLayout.kt @@ -179,12 +179,14 @@ class MapContainerLayout @JvmOverloads constructor( override fun onAnimationStart(animation: Animator) { super.onAnimationStart(animation) isPlayingAnim = true + overMapView.setIsPlaying(true) overMapView.setMapFlag(isScaled) } override fun onAnimationCancel(animation: Animator) { super.onAnimationCancel(animation) isPlayingAnim = false + overMapView.setIsPlaying(false) overMapView.swapSettings() updateShadowBg(isScaled) isScaled = !isScaled @@ -199,6 +201,7 @@ class MapContainerLayout @JvmOverloads constructor( override fun onAnimationEnd(animation: Animator) { super.onAnimationEnd(animation) isPlayingAnim = false + overMapView.setIsPlaying(false) overMapView.swapSettings() updateShadowBg(isScaled) isScaled = !isScaled diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index ad7e07a6b5..b18f4b5686 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -33,9 +33,11 @@ import com.amap.api.maps.model.PolylineOptions import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.data.och.OchInfo 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.IMoGoPlanningRottingListener +import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener import com.mogo.eagle.core.function.business.travelreality.CrossDeviceBean import com.mogo.eagle.core.function.business.travelreality.DeviceInfoBean import com.mogo.eagle.core.function.business.travelreality.EventBean @@ -48,6 +50,7 @@ import com.mogo.eagle.core.function.business.travelreality.view.VideoMarkerEntit import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager +import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.map.R import com.mogo.eagle.core.function.smp.view.SmallMapView @@ -74,7 +77,8 @@ class TravelRealityView @JvmOverloads constructor( attrs: AttributeSet? = null, defStyleAttr: Int = 0 ) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoChassisLocationGCJ02Listener, - IMoGoPlanningRottingListener, IMoGoAutopilotStatusListener { + IMoGoPlanningRottingListener, IMoGoAutopilotStatusListener, + IDataCenterBizListener { companion object { private const val TAG = "TravelRealityView" @@ -227,6 +231,9 @@ class TravelRealityView @JvmOverloads constructor( */ @Volatile private var isSmallMap: Boolean = true + + @Volatile + private var isPlayingAnim = false private var iconRes = R.drawable.small_map_car @Volatile @@ -236,6 +243,8 @@ class TravelRealityView @JvmOverloads constructor( private var mPolyline: Polyline? = null private var mSmallStartMarker: Marker? = null private var mSmallEndMarker: Marker? = null + private var mStartLatLng: LatLng? = null + private var mEndLatLng: LatLng? = null init { try { @@ -321,6 +330,10 @@ class TravelRealityView @JvmOverloads constructor( this.isSmallMap = isSmallMap } + fun setIsPlaying(isPlaying: Boolean) { + isPlayingAnim = isPlaying + } + fun swapSettings() { if (isSmallMap) { Message.obtain().apply { @@ -329,6 +342,7 @@ class TravelRealityView @JvmOverloads constructor( } // 显示小地图样式 changeMapSettings(true) + resumeStartEndMarker() globalPathResp?.let { if (it.wayPointsList.size > 0) { drawRotting() @@ -339,6 +353,7 @@ class TravelRealityView @JvmOverloads constructor( hideSmallCarMarker() // 显示行程总览地图样式 changeMapSettings(false) + resumeStartEndMarker() // 绘制自车 mLocation?.let { drawCarMarker(it) } val globalPath = reqData @@ -595,6 +610,7 @@ class TravelRealityView @JvmOverloads constructor( // 注册定位监听 CallerChassisLocationGCJ02ListenerManager.addListener("${TAG}${this.hashCode()}", this) CallerAutoPilotStatusListenerManager.addListener("${TAG}${this.hashCode()}", this) + CallerDataCenterBizListener.addListener("${TAG}${this.hashCode()}", this) } override fun onDetachedFromWindow() { @@ -606,6 +622,7 @@ class TravelRealityView @JvmOverloads constructor( CallerChassisLocationGCJ02ListenerManager.removeListener("${TAG}${this.hashCode()}") CallerPlanningRottingListenerManager.removeListener("${TAG}${this.hashCode()}") CallerAutoPilotStatusListenerManager.removeListener("${TAG}${this.hashCode()}") + CallerDataCenterBizListener.removeListener("${TAG}${this.hashCode()}") nonFrequentHandler?.looper?.quitSafely() nonFrequentHandler = null travelNetWorkModel.cancelAllRequest() @@ -684,38 +701,6 @@ class TravelRealityView @JvmOverloads constructor( globalData[0].lon ) CallerLogger.w("$M_MAP$TAG", "起终点距离为:$distance") -// if (distance < 2000) { -// roadRange = maxRoadRange -// roadWidth = minRoadWidth -// globalWidth = minGlobalWidth -// } else { -// roadRange = minRoadRange -// roadWidth = maxRoadWidth -// globalWidth = maxGlobalWidth -// } - val optionList = ArrayList() - optionList.add( - MarkerOptions().apply { - icon(BitmapDescriptorFactory.fromResource(startPointDrawable)) - position( - coordinateConverterWgsToGcj( - globalData[0].lat, - globalData[0].lon - ) - ) - } - ) - val endOption = MarkerOptions() - endOption.icon(BitmapDescriptorFactory.fromResource(endPointDrawable)) - endOption.position( - coordinateConverterWgsToGcj( - globalData[globalData.size - 1].lat, - globalData[globalData.size - 1].lon - ) - ) - optionList.add(endOption) - // 绘制起终点 - drawStartEndMarker(optionList) // 绘制全局轨迹 drawPolyline(DRAW_POLY_LINE, globalOptions) } @@ -1523,14 +1508,6 @@ class TravelRealityView @JvmOverloads constructor( clearPolyline() if (mAMap != null) { if (mCoordinatesLatLng.size >= 2) { - // 设置开始结束Marker位置 - mSmallStartMarker!!.position = mCoordinatesLatLng[0] - mSmallEndMarker!!.position = mCoordinatesLatLng[mCoordinatesLatLng.size - 1] - mSmallStartMarker!!.setToTop() - mSmallStartMarker!!.isVisible = true - mSmallEndMarker!!.isVisible = true - mSmallEndMarker!!.setToTop() - //存放所有点的经纬度 val boundsBuilder = LatLngBounds.Builder() for (i in mCoordinatesLatLng.indices) { @@ -1571,6 +1548,15 @@ class TravelRealityView @JvmOverloads constructor( } } + private fun hideStartEndMarker() { + if (mSmallStartMarker != null) { + mSmallStartMarker!!.isVisible = false + } + if (mSmallEndMarker != null) { + mSmallEndMarker!!.isVisible = false + } + } + private fun hideSmallCarMarker() { mSmallCarMarker?.isVisible = false } @@ -1702,6 +1688,72 @@ class TravelRealityView @JvmOverloads constructor( return latLngList } + override fun invokeOchInfo(ochInfo: OchInfo) { + super.invokeOchInfo(ochInfo) + Log.d(TAG, "invokeOchInfo:$ochInfo") + if (ochInfo.type == 0) { + val locList = ochInfo.latLonList + if (locList.isEmpty() || locList.size < 2) { + mStartLatLng = null + mEndLatLng = null + UiThreadHandler.post { + hideStartEndMarker() + } + } else { + // 设置开始结束Marker位置 + mStartLatLng = coordinateConverterWgsToGcj( + locList[0].latitude, + locList[0].longitude + ) + mEndLatLng = coordinateConverterWgsToGcj( + locList[1].latitude, + locList[1].longitude + ) + } + if (!isPlayingAnim) { + drawStartAndEnd() + } + } + } + + private fun resumeStartEndMarker() { + if (mStartLatLng != null && mEndLatLng != null) { + drawStartAndEnd() + } else { + if (isSmallMap) { + UiThreadHandler.post { + hideStartEndMarker() + } + } else { + drawStartEndMarker(emptyList()) + } + } + } + + private fun drawStartAndEnd() { + if (isSmallMap) { + UiThreadHandler.post { + mSmallStartMarker!!.position = mStartLatLng + mSmallEndMarker!!.position = mEndLatLng + mSmallStartMarker!!.setToTop() + mSmallStartMarker!!.isVisible = true + mSmallEndMarker!!.isVisible = true + mSmallEndMarker!!.setToTop() + } + } else { + val options = ArrayList() + options.add(MarkerOptions().also { option -> + option.icon(BitmapDescriptorFactory.fromResource(startPointDrawable)) + option.position(mStartLatLng) + }) + options.add(MarkerOptions().also { option -> + option.icon(BitmapDescriptorFactory.fromResource(endPointDrawable)) + option.position(mEndLatLng) + }) + drawStartEndMarker(options) + } + } + interface OnDrawListener { // isEvent为true表示是事件,反之则表示全息路口 fun onDraw(eventList: List, isEvent: Boolean) From 12bb81f8e061dfc494265d7cb5589568bf4aef0c Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 17 Oct 2024 17:27:17 +0800 Subject: [PATCH 03/34] =?UTF-8?q?[6.7.0][=E8=BF=90=E8=90=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF]=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91(=E5=85=88=E8=AE=BE=E7=BD=AE=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC=EF=BC=8C=E5=86=8D=E8=AE=BE=E7=BD=AE=E7=9B=91=E5=90=AC?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 2d5e45b4c1..123205064d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -196,9 +196,9 @@ class OperatePanelLayout : LinearLayout { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + setDefaultVal(preferenceScreen) setPreferenceChangeListener(preferenceScreen) setPreferenceClickListener(preferenceScreen) - setDefaultVal(preferenceScreen) } protected open fun getDefaultVal(pref: Preference): Any? { From ad249ec6f0864b39dadde3a82d9e51c987194ac0 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 17 Oct 2024 17:41:16 +0800 Subject: [PATCH 04/34] =?UTF-8?q?[6.7.0]=20[fea]=20[=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wigets/dialog/CommonDialogView.kt | 58 +++++++++++++++++++ .../errorpoint/ReportErrorPointDialog.kt | 36 ------------ .../errorpoint/ReportErrorPointView.kt | 36 +++++++----- .../routingrunning/RoutingRunningView.kt | 5 +- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 6 +- .../taxi/ui/task/TaxiNextTaskFragment.kt | 8 ++- .../TaxiOrderCancelDialog.java | 2 +- .../itinerarycurrent/ItineraryCurrentView.kt | 5 +- .../task/itinerarynext/ItineraryNextView.kt | 9 ++- 9 files changed, 101 insertions(+), 64 deletions(-) create mode 100644 OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt delete mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt rename OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/{ => cancleorder}/TaxiOrderCancelDialog.java (99%) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt new file mode 100644 index 0000000000..0f04d30f14 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt @@ -0,0 +1,58 @@ +package com.mogo.och.common.module.wigets.dialog + +import android.content.Context +import android.view.Gravity +import android.view.View +import android.view.WindowManager +import androidx.lifecycle.LifecycleObserver +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import me.jessyan.autosize.utils.AutoSizeUtils + + +class CommonDialogView(context: Context,val view:View,val width:Float,val height:Float,cancleOnTouchOutside:Boolean=false) : BaseFloatDialog(context), + LifecycleObserver { + + private val TAG = "CommonDialogView" + + init { + setContentView(view) + setCanceledOnTouchOutside(cancleOnTouchOutside) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + // 获取Dialog的Window对象 + val window = getWindow() + // 设置布局参数,确保Dialog居中显示 + if (window != null) { + val layoutParams = WindowManager.LayoutParams() + layoutParams.copyFrom(window.attributes) + // 设置Dialog的宽度和高度 + layoutParams.width = AutoSizeUtils.dp2px(context,width) + layoutParams.height = AutoSizeUtils.dp2px(context,height) + + + // 设置gravity为CENTER,使Dialog居中 + layoutParams.gravity = Gravity.CENTER + // 应用新的布局参数 + window.attributes = layoutParams + } + + } + + fun showDialog() { + if (isShowing) { + return + } + show() + } + + fun hideDialog() { + if (isShowing) { + dismiss() + } + } + + +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt deleted file mode 100644 index 6435cf166d..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointDialog.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.mogo.och.unmanned.taxi.ui.routing.errorpoint - -import android.content.Context -import androidx.lifecycle.LifecycleObserver -import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog -import com.mogo.och.unmanned.taxi.R -import kotlinx.android.synthetic.main.dialog_taxt_report_error.repvErrorPointReason - -class ReportErrorPointDialog(context: Context,grayId: Long?) : BaseFloatDialog(context), LifecycleObserver { - - init { - setContentView(R.layout.dialog_taxt_report_error) - setCanceledOnTouchOutside(true) - repvErrorPointReason.setGrayId(grayId) - repvErrorPointReason.setDismiss(object : ReportErrorPointView.CloseCallback { - override fun close() { - dismiss() - } - }) - } - - fun showDialog() { - if (isShowing) { - return - } - show() - } - - fun hideDialog() { - if (isShowing) { - dismiss() - } - } - - -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt index bdbbb74ab2..31d6cb45e8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.wigets.WindowRelativeLayout +import com.mogo.och.common.module.wigets.dialog.CommonDialogView import com.mogo.och.common.module.wigets.dialog.CommonFeedbackDialog import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.PointError @@ -33,6 +34,21 @@ import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.tv_work class ReportErrorPointView : WindowRelativeLayout, ReportErrorPointViewModel.ReportErrorPointViewCallback { + companion object { + const val TAG = "TaxiPassengerArrivedView" + fun showDialog(context: Context, grayId: Long) { + val view = ReportErrorPointView(context) + val dialog = CommonDialogView(context, view,900f,730f,true) + view.setGrayId(grayId) + view.setDismiss(object : CloseCallback { + override fun close() { + dialog.hideDialog() + } + }) + dialog.showDialog() + } + } + constructor(context: Context) : super(context) constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) @@ -57,19 +73,14 @@ class ReportErrorPointView : WindowRelativeLayout, private var closeCallback: CloseCallback? = null - private var grayId: Long?=-1L + private var grayId: Long? = -1L - private var occurrenceTime:Long = System.currentTimeMillis() + private var occurrenceTime: Long = System.currentTimeMillis() private fun initView() { d(SceneConstant.M_TAXI_P + TAG, "initView") LayoutInflater.from(context).inflate(R.layout.taxt_report_error_point_panel, this, true) - val flexboxLayoutManager = FlexboxLayoutManager(context) - flexboxLayoutManager.flexDirection = FlexDirection.ROW; - flexboxLayoutManager.alignItems = AlignItems.CENTER - flexboxLayoutManager.flexWrap = FlexWrap.WRAP - rvErrorPointReason?.layoutManager = GridLayoutManager(context, 2) rvErrorPointReason?.setHasFixedSize(true) errorPointItemAdapter = ErrorPointItemAdapter( @@ -84,13 +95,13 @@ class ReportErrorPointView : WindowRelativeLayout, } tv_report_error_point_reason.onClick { val checkDataList = errorPointItemAdapter.getCheckDataList() - if(checkDataList.isEmpty()){ + if (checkDataList.isEmpty()) { ToastUtils.showShort("请选择问题类型") return@onClick } tv_report_error_point_reason_cancel.isEnabled = false lvs_loding.visibility = VISIBLE - this.viewModel?.submitErrorPointReasons(checkDataList,occurrenceTime) + this.viewModel?.submitErrorPointReasons(checkDataList, occurrenceTime) } } @@ -99,7 +110,8 @@ class ReportErrorPointView : WindowRelativeLayout, d(SceneConstant.M_TAXI_P + TAG, "展示---:${isVisible}") if (isVisible) { occurrenceTime = System.currentTimeMillis() - tv_work_order_time.text = TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat()) + tv_work_order_time.text = + TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat()) viewModel?.getPointErrorReasons() } else { @@ -114,10 +126,6 @@ class ReportErrorPointView : WindowRelativeLayout, viewModel?.setGrayId(grayId) } - companion object { - const val TAG = "TaxiPassengerArrivedView" - } - init { try { initView() diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt index 8b2dc893db..15aba2445a 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingrunning/RoutingRunningView.kt @@ -8,7 +8,6 @@ import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.amap.api.navi.model.NaviLatLng -import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -21,12 +20,12 @@ import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.EndGrayTaskFeedbackType import com.mogo.och.unmanned.taxi.bean.StartGrayAndQueryContrailRsp import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst -import com.mogo.och.unmanned.taxi.ui.routing.errorpoint.ReportErrorPointDialog import com.mogo.och.unmanned.taxi.ui.routing.RoutingSwitchModel import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingFeedbackDialog import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingModel import com.mogo.och.common.module.map.MapMakerManager import com.mogo.och.common.module.wigets.dialog.CommonDialogStatus +import com.mogo.och.unmanned.taxi.ui.routing.errorpoint.ReportErrorPointView import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_routing_running.view.actv_current_itinerary_end_name import kotlinx.android.synthetic.main.unmanned_routing_running.view.actv_current_itinerary_start_name @@ -77,7 +76,7 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal } actv_submit_task.onClick { viewModel?.data?.taskId?.let { - ReportErrorPointDialog(context,it).showDialog() + ReportErrorPointView.showDialog(context,it) } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt index c38147ef76..0437cb98b8 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -42,6 +42,7 @@ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_END_ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_START_MAP_MAKER import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TYPE_MARKER_TAXI_ORDER import com.mogo.och.common.module.map.MapMakerManager +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endPoint @@ -723,7 +724,10 @@ class TaxiCurrentTaskFragment : BaseFragment(), if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog(it, order!!.orderStatus) { type -> + TaxiOrderCancelDialog( + it, + order!!.orderStatus + ) { type -> mViewModel.sendUiIntent(TaskUiIntent.CancelOrder(type)) }.show() } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt index 39d198aacd..7d1a99d75e 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt @@ -14,6 +14,7 @@ import com.mogo.och.unmanned.taxi.bean.OrderDetail import com.mogo.och.unmanned.taxi.bean.QueryCurrentTaskRespBean import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endStationName @@ -56,8 +57,11 @@ class TaxiNextTaskFragment : BaseFragment() { if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog(it, order!!.orderStatus) { type -> - TaxiTaskModel.cancelOrder(order.orderNo,type) + TaxiOrderCancelDialog( + it, + order!!.orderStatus + ) { type -> + TaxiTaskModel.cancelOrder(order.orderNo, type) }.show() } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java similarity index 99% rename from OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java rename to OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java index ddd170a5f3..3c44d5ae7d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiOrderCancelDialog.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/TaxiOrderCancelDialog.java @@ -1,4 +1,4 @@ -package com.mogo.och.unmanned.taxi.ui.task; +package com.mogo.och.unmanned.taxi.ui.task.cancleorder; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt index c86f05350e..ece18addaa 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt @@ -1,14 +1,12 @@ package com.mogo.och.unmanned.taxi.ui.task.itinerarycurrent import android.content.Context -import android.graphics.Color import android.os.CountDownTimer import android.text.TextUtils import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.ContextCompat import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner @@ -17,7 +15,6 @@ import com.amap.api.navi.model.NaviLatLng import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getState import com.mogo.eagle.core.function.hmi.ui.widget.ItinerarySummaryDialog -import com.mogo.eagle.core.function.main.MainMoGoApplication import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d @@ -51,7 +48,7 @@ import com.mogo.och.unmanned.taxi.ui.debug.DebugView import com.mogo.och.unmanned.taxi.ui.itinerarycurrent.ItineraryCurrentModel import com.mogo.och.unmanned.taxi.ui.task.TaskUiIntent import com.mogo.och.unmanned.taxi.ui.task.TaskWithOrderUIState -import com.mogo.och.unmanned.taxi.ui.task.TaxiOrderCancelDialog +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_exercise diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt index 84faaa5f93..a35d6db30d 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt @@ -18,7 +18,7 @@ import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst import com.mogo.och.unmanned.taxi.ui.itinerarynext.ItineraryNextModel -import com.mogo.och.unmanned.taxi.ui.task.TaxiOrderCancelDialog +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.aciv_order_close import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_end_station_name @@ -61,8 +61,11 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() if (currentWithOrder?.order != null) { val order = currentWithOrder.order - TaxiOrderCancelDialog(context, order!!.orderStatus) { type -> - TaxiTaskModel.cancelOrder(order.orderNo,type) + TaxiOrderCancelDialog( + context, + order!!.orderStatus + ) { type -> + TaxiTaskModel.cancelOrder(order.orderNo, type) }.show() } } From f0a5adac29011ef6c5fec4af811def502428e074 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 12 Sep 2024 12:11:55 +0800 Subject: [PATCH 05/34] =?UTF-8?q?[6.6.2]=20=E9=BB=98=E8=AE=A4=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=B7=A5=E6=8E=A7=E6=89=93=E5=BC=80=E5=85=A8=E8=9E=8D?= =?UTF-8?q?=E5=90=88=EF=BC=8Cv2i=E9=BB=98=E8=AE=A4=E5=BC=80=E5=90=AF?= =?UTF-8?q?=EF=BC=8Cv2i->pnc=E6=89=93=E5=BC=80fusion=E8=9E=8D=E5=90=88?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MoGoAdasMsgConnectStatusListenerImpl.kt | 2 ++ .../eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 2 ++ .../function/business/roadcross/RoadCrossCameraManager.kt | 3 --- .../com/mogo/eagle/core/function/view/RoadCrossRoamView.kt | 7 +++++-- .../java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt | 1 + 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index 827b95f475..be3b0611bc 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -137,6 +137,8 @@ class MoGoAdasMsgConnectStatusListenerImpl : } //每次工控机连接成功后,需同步当前设置的雨天模式状态 CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode) + // 6.6.2 版本默认开启 + CallerAutoPilotControlManager.sendFusionMode(FunctionBuildConfig.fusionMode) connectToast("域控已连接") } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index b4646a4443..5807548bcc 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -250,6 +250,7 @@ internal class SOPSettingView @JvmOverloads constructor( if (isChecked) { //V2I场景进PNC scV2iPnc.isChecked = FunctionBuildConfig.v2iToPNC + FunctionBuildConfig.isFusionColor = true //6.6.2版本基于运营需求-产品设计-开启v2i进pnc,开启感知目标颜色替换 hmiAction("SOP V2I场景进PNC, ", FunctionBuildConfig.v2iToPNC) CallerAutoPilotControlManager.sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC) //闯红灯预警 @@ -265,6 +266,7 @@ internal class SOPSettingView @JvmOverloads constructor( } else { //V2I场景进PNC scV2iPnc.isChecked = false + FunctionBuildConfig.isFusionColor = false //6.6.2版本基于运营需求-产品设计-关闭v2i进pnc,关闭感知目标颜色替换 CallerAutoPilotControlManager.sendV2iToPncCmd(false) hmiAction("SOP V2I场景进PNC, ", false) //闯红灯预警 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt index ff4eb251f4..007f9dc927 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt @@ -81,9 +81,6 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { ) } - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ - AIAssist.getInstance(mContext).speakTTSVoice("蘑菇检测到前方${distance.toInt()}米您将通过路口,已为您切换展示路口全息影像") - } if (roadCrossEnd != null) { ndeRoadCameraNetWorkModel.getRoadCrossInfo(roadCrossEnd, onSuccess = { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index b684118d87..1dede72e9c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -211,8 +211,11 @@ class RoadCrossRoamView @JvmOverloads constructor( //播放语音 val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { - AIAssist.getInstance(context) - .speakTTSVoice("前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行") + var disStr = "前方即将通过路口,蘑菇为您提供路口全息影像,助力出行" + if(dis >= 80){ + disStr = "前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行" + } + AIAssist.getInstance(context).speakTTSVoice(disStr) } CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) bringToFront() diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt index 75b890726b..30abf04f9c 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt @@ -70,6 +70,7 @@ object HmiBuildConfig { /** * 是否展示obu的v2i + * //6.6.2版本根据运营需求-产品设计默认开启 */ @JvmField @Volatile From ec6b4d67980c492e057daa6c9dd2996d125ff4d0 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Fri, 13 Sep 2024 23:49:30 +0800 Subject: [PATCH 06/34] [6.6.2] fix ui bug --- .../adapter/MoGoAdasMsgConnectStatusListenerImpl.kt | 2 +- .../core/function/hmi/ui/setting/DebugSettingView.kt | 9 ++++++++- .../eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 8 +++++++- .../core/function/api/hmi/view/IViewControlListener.kt | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index be3b0611bc..fbb42ea0b2 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -138,7 +138,7 @@ class MoGoAdasMsgConnectStatusListenerImpl : //每次工控机连接成功后,需同步当前设置的雨天模式状态 CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode) // 6.6.2 版本默认开启 - CallerAutoPilotControlManager.sendFusionMode(FunctionBuildConfig.fusionMode) + CallerAutoPilotControlManager.sendFusionMode(1) connectToast("域控已连接") } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index cf835a8f2e..02fbbe3363 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -69,6 +69,7 @@ import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuInfoListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_FUSION_COLOR import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.api.setting.ISopSettingListener @@ -453,6 +454,8 @@ internal class DebugSettingView @JvmOverloads constructor( //雨天、美化、点云设置同步 CallerSopSettingManager.addListener(TAG, this) + CallerHmiViewControlListenerManager.addListener(TAG, this) + //添加 业务配置监听 CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( FuncBizConfig.FOUNDATION, TAG, true, this @@ -495,6 +498,7 @@ internal class DebugSettingView @JvmOverloads constructor( //雨天、美化、点云设置同步 CallerSopSettingManager.removeListener(TAG) + CallerHmiViewControlListenerManager.removeListener(TAG) // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener( @@ -2668,7 +2672,10 @@ internal class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode } if (tag == FUNC_MODE_RAIN) { - tbIsDemoMode.isChecked = FunctionBuildConfig.isRainMode + tbIsRainMode.isChecked = FunctionBuildConfig.isRainMode + } + if(tag == FUNC_FUSION_COLOR){ + btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 5807548bcc..dbd0dfac7a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoGetParamResponseListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangProvider import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_FUSION_COLOR import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_DEMO import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.FUNC_MODE_RAIN import com.mogo.eagle.core.function.api.setting.ISopSettingListener @@ -250,7 +251,9 @@ internal class SOPSettingView @JvmOverloads constructor( if (isChecked) { //V2I场景进PNC scV2iPnc.isChecked = FunctionBuildConfig.v2iToPNC - FunctionBuildConfig.isFusionColor = true //6.6.2版本基于运营需求-产品设计-开启v2i进pnc,开启感知目标颜色替换 + if(FunctionBuildConfig.isV2IPnc){ + FunctionBuildConfig.isFusionColor = true //6.6.2版本基于运营需求-产品设计-开启v2i进pnc,开启感知目标颜色替换 + } hmiAction("SOP V2I场景进PNC, ", FunctionBuildConfig.v2iToPNC) CallerAutoPilotControlManager.sendV2iToPncCmd(FunctionBuildConfig.v2iToPNC) //闯红灯预警 @@ -347,6 +350,8 @@ internal class SOPSettingView @JvmOverloads constructor( } clickEventAnalytics("V2I场景进PNC",isChecked) hmiAction("SOP V2I场景进PNC, ", isChecked) + FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 + CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_FUSION_COLOR,isChecked) CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) FunctionBuildConfig.v2iToPNC = isChecked } @@ -602,6 +607,7 @@ internal class SOPSettingView @JvmOverloads constructor( clickEventAnalytics("考试功能面板",isChecked) } + CallerAutoPilotControlManager.sendFusionMode(1) //融合模式 rgFusionMode.setOnCheckedChangeListener { _, p1 -> when (p1) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt index 0f7d59feba..f89f3db92e 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/view/IViewControlListener.kt @@ -10,6 +10,7 @@ interface IViewControlListener { const val V2X_EVENT_TAG = "V2X_EVENT_TAG" const val FUNC_MODE_DEMO = "demoMode" const val FUNC_MODE_RAIN = "rainMode" + const val FUNC_FUSION_COLOR = "fusionColor" } /** --------- View --------- **/ From dec0ce50095a1d16982e71fb4f751ff65d6c7645 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 18 Sep 2024 11:06:55 +0800 Subject: [PATCH 07/34] =?UTF-8?q?[6.6.2]=20default=20to=20send=20funsion?= =?UTF-8?q?=20mode=20to=202,=20=E7=9B=B2=E5=8C=BA=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt | 4 ++-- .../mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt index fbb42ea0b2..f0a623775c 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasMsgConnectStatusListenerImpl.kt @@ -137,8 +137,8 @@ class MoGoAdasMsgConnectStatusListenerImpl : } //每次工控机连接成功后,需同步当前设置的雨天模式状态 CallerAutoPilotControlManager.setRainMode(FunctionBuildConfig.isRainMode) - // 6.6.2 版本默认开启 - CallerAutoPilotControlManager.sendFusionMode(1) + // 6.6.2 版本默认开启,与海江确认过,默认发盲区模式 + CallerAutoPilotControlManager.sendFusionMode(2) connectToast("域控已连接") } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index dbd0dfac7a..8d26abe38d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -351,6 +351,7 @@ internal class SOPSettingView @JvmOverloads constructor( clickEventAnalytics("V2I场景进PNC",isChecked) hmiAction("SOP V2I场景进PNC, ", isChecked) FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 + FunctionBuildConfig.fusionMode = 2 CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_FUSION_COLOR,isChecked) CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) FunctionBuildConfig.v2iToPNC = isChecked @@ -607,7 +608,8 @@ internal class SOPSettingView @JvmOverloads constructor( clickEventAnalytics("考试功能面板",isChecked) } - CallerAutoPilotControlManager.sendFusionMode(1) + // 6.6.2 与海江确认,默认发盲区模式 + CallerAutoPilotControlManager.sendFusionMode(2) //融合模式 rgFusionMode.setOnCheckedChangeListener { _, p1 -> when (p1) { From 044e696f40c838d19aaffbd7ed7f8788625be477 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 18 Sep 2024 15:34:54 +0800 Subject: [PATCH 08/34] [6.6.2] fix bug of sop fusionMode --- .../autopilot/adapter/MoGoAdasListenerImpl.kt | 2 + .../function/hmi/ui/setting/SOPSettingView.kt | 51 ++++++++++--------- .../core/data/config/FunctionBuildConfig.kt | 2 +- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt index 851ea1c280..5c0b7daf04 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -5,6 +5,7 @@ import chassis.Chassis import chassis.ChassisStatesOuterClass import chassis.VehicleStateOuterClass import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_CODE_ADAS_ARRIVE @@ -1116,6 +1117,7 @@ class MoGoAdasListenerImpl : OnAdasListener { getParamResp: MessagePad.SetParamReq, adasParam: AdasParam ) { + FunctionBuildConfig.fusionMode = adasParam.fusionMode CallerAutopilotGetParamResponseDispatcher.dispatchResponse(header, getParamResp, adasParam) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 8d26abe38d..4117a06ef9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -610,6 +610,7 @@ internal class SOPSettingView @JvmOverloads constructor( // 6.6.2 与海江确认,默认发盲区模式 CallerAutoPilotControlManager.sendFusionMode(2) + updateFusionModeUI() //融合模式 rgFusionMode.setOnCheckedChangeListener { _, p1 -> when (p1) { @@ -1111,32 +1112,34 @@ internal class SOPSettingView @JvmOverloads constructor( ) { //融合模式 ThreadUtils.runOnUiThread { - FunctionBuildConfig.fusionMode = adasParam.fusionMode - when (FunctionBuildConfig.fusionMode) { - 1 -> { - //全融合模式 - rgFusionMode.check(R.id.rbFullIntegration) - } - 2 -> { - //盲区模式 - rgFusionMode.check(R.id.rbBlind) - } - 3 -> { - //超视距模式 - rgFusionMode.check(R.id.rbBeyondSight) - } - 4 -> { - //透传模式 - rgFusionMode.check(R.id.rbTransparent) - } - 5 -> { - //纯路侧模式 - rgFusionMode.check(R.id.rbPureRoad) - } - } - + updateFusionModeUI() val overTakeSpeed = adasParam.overtakeMaxSpeed tvOverTakeLimit.text = "$overTakeSpeed m/s" } } + + private fun updateFusionModeUI(){ + when (FunctionBuildConfig.fusionMode) { + 1 -> { + //全融合模式 + rgFusionMode.check(R.id.rbFullIntegration) + } + 2 -> { + //盲区模式 + rgFusionMode.check(R.id.rbBlind) + } + 3 -> { + //超视距模式 + rgFusionMode.check(R.id.rbBeyondSight) + } + 4 -> { + //透传模式 + rgFusionMode.check(R.id.rbTransparent) + } + 5 -> { + //纯路侧模式 + rgFusionMode.check(R.id.rbPureRoad) + } + } + } } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index 721d6477c3..efd731f3ce 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -304,7 +304,7 @@ object FunctionBuildConfig { */ @Volatile @JvmField - var fusionMode = 1 + var fusionMode = 2 /** * V2X总开关 From 39011c7866698331e1b709ebbb8844b5316f487e Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 18 Sep 2024 15:38:51 +0800 Subject: [PATCH 09/34] [6.6.2]ui --- .../mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 4117a06ef9..757449289e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -352,6 +352,8 @@ internal class SOPSettingView @JvmOverloads constructor( hmiAction("SOP V2I场景进PNC, ", isChecked) FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 FunctionBuildConfig.fusionMode = 2 + CallerAutoPilotControlManager.sendFusionMode(2) + updateFusionModeUI() CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_FUSION_COLOR,isChecked) CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) FunctionBuildConfig.v2iToPNC = isChecked From 93a033b2c2d43ff5dce49665c6c44ebf855ebf49 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 18 Sep 2024 15:40:31 +0800 Subject: [PATCH 10/34] [6.6.2] --- .../autopilot/adapter/MoGoAdasListenerImpl.kt | 31 ++++++++++++++++--- .../core/data/config/FunctionBuildConfig.kt | 2 +- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt index 5c0b7daf04..5d041b5468 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -68,6 +68,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerColdStartStateListenerM import com.mogo.eagle.core.function.call.autopilot.CallerFaultManagementStateListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerFsm2024ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerLocalizationStateListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerNodeStateListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerPlanningActionsListenerManager.invokePNCActions @@ -79,7 +80,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StitchedV import com.mogo.eagle.core.function.call.autopilot.CallerStartAutopilotFailedListenerManager.invokeStartAutopilotFailed import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCloudTaskListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerNodeStateListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerTakeoverListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager @@ -992,8 +992,19 @@ class MoGoAdasListenerImpl : OnAdasListener { * @param sysTime 当前时间戳 * @param bigTaskActionPush 数据 */ - override fun onSweeperFutianCloudTaskCloudSuspendResume(header: MessagePad.Header, messageType: AiCloudTask.MessageType, reqNo: String?, sysTime: Long, bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush?) { - CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskCloudSuspendResume(messageType, reqNo, sysTime, bigTaskActionPush) + override fun onSweeperFutianCloudTaskCloudSuspendResume( + header: MessagePad.Header, + messageType: AiCloudTask.MessageType, + reqNo: String?, + sysTime: Long, + bigTaskActionPush: SweeperTaskCloudSuspendResume.BigTaskActionPush? + ) { + CallerSweeperFutianCloudTaskListenerManager.invokeSweeperFutianCloudTaskCloudSuspendResume( + messageType, + reqNo, + sysTime, + bigTaskActionPush + ) } /** @@ -1251,9 +1262,19 @@ class MoGoAdasListenerImpl : OnAdasListener { if (stateInfo.nodeName == AdasConstants.NodeName.SSM) { //域控SSM接口接收是否超时 if (stateInfo.existState == NodeExistState.NODE_EXIST_TIMEOUT) { - CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.SSMINFO, SSMMsg(0, "连接超时", "SSM超时无响应", System.currentTimeMillis()))) + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.SSMINFO, + SSMMsg(0, "连接超时", "SSM超时无响应", System.currentTimeMillis()) + ) + ) } else { - CallerMsgBoxManager.saveMsgBox(MsgBoxBean(MsgBoxType.SSMINFO, SSMMsg(0, "连接恢复", "SSM连接恢复", System.currentTimeMillis()))) + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.SSMINFO, + SSMMsg(0, "连接恢复", "SSM连接恢复", System.currentTimeMillis()) + ) + ) } } else if (stateInfo.nodeName == AdasConstants.NodeName.FSM2024) { //域控FSM接口接收是否超时 diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index efd731f3ce..eeb2a7d44b 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -299,7 +299,7 @@ object FunctionBuildConfig { var isShowBagRecordWindow = true /** - * 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认1 + * 融合模式(int) 1:全融合模式 2:盲区模式 3:超视距模式 4:透传模式 5:纯路侧模式,默认2 * /telematics/fusion/fusion_mode */ @Volatile From 901a5f00360e98974f7334a2f820c2b40c1ade06 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 18 Sep 2024 15:42:13 +0800 Subject: [PATCH 11/34] [6.6.2] ui --- .../mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 757449289e..48189f2db3 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -1142,6 +1142,7 @@ internal class SOPSettingView @JvmOverloads constructor( //纯路侧模式 rgFusionMode.check(R.id.rbPureRoad) } + else -> rgFusionMode.clearCheck() } } } \ No newline at end of file From 404edc319af346f0d1e3e156444cb45c5181d6c4 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Fri, 20 Sep 2024 20:10:21 +0800 Subject: [PATCH 12/34] [6.6.2] close the obu default connect func --- .../datacenter/obu/MoGoObuProvider.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt index cdea63d8d8..cf26e10807 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MoGoObuProvider.kt @@ -31,16 +31,16 @@ class MoGoObuProvider : IMoGoObuProvider { //bus乘客版本obu功能去掉,大理项目需要全部车辆接收,不再限制 mContext = context - mContext?.let { - val ipAddress = - SharedPrefsMgr.getInstance().getString(MoGoConfig.OBU_IP, MogoObuConst.OBU_DEFAULT_IP) - //mogo obu - MogoPrivateObuNewManager.INSTANCE.connectObu( - it, - ipAddress, - CommonUtils.getIpAddressString() - ) - } +// mContext?.let { +// val ipAddress = +// SharedPrefsMgr.getInstance().getString(MoGoConfig.OBU_IP, MogoObuConst.OBU_DEFAULT_IP) +// //mogo obu +// MogoPrivateObuNewManager.INSTANCE.connectObu( +// it, +// ipAddress, +// CommonUtils.getIpAddressString() +// ) +// } //监听obu版本数据 MogoPrivateObuNewManager.INSTANCE.readSystemConfig() From 4505246a944132fcd595c1b929642bd852ef317f Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 30 Sep 2024 19:03:30 +0800 Subject: [PATCH 13/34] =?UTF-8?q?[6.6.2]=E8=A1=8C=E7=A8=8B=E6=80=BB?= =?UTF-8?q?=E7=BB=93=E6=8A=A5=E5=91=8A=E4=BC=98=E5=8C=96-=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E6=80=BB=E7=BB=93=E6=8A=A5=E5=91=8A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/v2x/RoadLineEventManager.kt | 3 +- .../exploration/AutomaticExplorationView.kt | 9 - .../hmi/ui/widget/FusionTrafficLightView.kt | 3 +- .../hmi/ui/widget/ItinerarySummaryDialog.kt | 32 ++- .../hmi/ui/widget/SingleTrafficLightView.kt | 2 + .../data/autopilot/AutopilotSummaryInfo.kt | 53 +++- .../autopilot/CallerServicesEventManager.kt | 242 ++++++++++++++++++ 7 files changed, 308 insertions(+), 36 deletions(-) create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt index 59581f6bd2..2d2689a594 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.datacenter.v2x import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.zhidaoauto.map.data.road.RoadCross @@ -40,7 +41,7 @@ class RoadLineEventManager : IMoGoMapRoadListener, IMoGoAutopilotStatusListener return } if(cross){ - CallerAutoPilotStatusListenerManager.updateRoadCount() + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt index 74b91d1a30..192d239945 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/exploration/AutomaticExplorationView.kt @@ -186,15 +186,6 @@ open class AutomaticExplorationView @JvmOverloads constructor( }) automaticExplorationAdapter?.setData(dataList) - //每出现一次自动探查,增加相应的服务次数 - //道路信息提醒次数 - AutopilotSummaryInfo.infoTipNum += 9 - //车辆行为提醒次数 - AutopilotSummaryInfo.vehicleTipNum += 13 - //弱势参与者提醒次数 - AutopilotSummaryInfo.vulnerableTipNum += 4 - //消除安全风险隐患次数 - AutopilotSummaryInfo.dangerNum += 24 //启动扫描 ivScan?.let { rotationAnim = ObjectAnimator.ofFloat(it, "rotation", 0f, 360f) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt index e323c30796..5788b466b9 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/FusionTrafficLightView.kt @@ -11,6 +11,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo import com.mogo.eagle.core.data.enums.DataSourceType import com.mogo.eagle.core.data.enums.TrafficLightEnum import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListener +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.hmi.R @@ -205,7 +206,7 @@ class FusionTrafficLightView @JvmOverloads constructor( if(this@FusionTrafficLightView.visibility == View.GONE){ this@FusionTrafficLightView.visibility = View.VISIBLE CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) - AutopilotSummaryInfo.lightServicesNum++ + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) } val colorList = ArrayList() diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ItinerarySummaryDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ItinerarySummaryDialog.kt index b1c1bcd84b..55a0d76a28 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ItinerarySummaryDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ItinerarySummaryDialog.kt @@ -7,6 +7,7 @@ import android.widget.ImageView import android.widget.TextView import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.view.TravelRealityView import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -70,26 +71,23 @@ open class ItinerarySummaryDialog(context: Context, isDriver: Boolean, theme: In } //全息路口服务次数 tvIntersectionServicesNum = findViewById(R.id.tvIntersectionServicesNum) - tvIntersectionServicesNum?.text = CallerAutoPilotStatusListenerManager.getRoadCount().toString() + tvIntersectionServicesNum?.text = CallerServicesEventManager.getRoadNum().toString() //路口灯态服务次数 tvLightServicesNum = findViewById(R.id.tvLightServicesNum) - tvLightServicesNum?.text = AutopilotSummaryInfo.lightServicesNum.toString() + tvLightServicesNum?.text = CallerServicesEventManager.getLightServicesNum().toString() //道路信息提醒次数 tvInfoTipNum = findViewById(R.id.tvInfoTipNum) - AutopilotSummaryInfo.infoTipNum += random.nextInt(7) +2 - tvInfoTipNum?.text = AutopilotSummaryInfo.infoTipNum.toString() + tvInfoTipNum?.text = CallerServicesEventManager.getInfoTipNum().toString() //车辆行为提醒次数 tvVehicleTipNum = findViewById(R.id.tvVehicleTipNum) - AutopilotSummaryInfo.vehicleTipNum += random.nextInt(7) +2 - tvVehicleTipNum?.text = AutopilotSummaryInfo.vehicleTipNum.toString() + tvVehicleTipNum?.text = CallerServicesEventManager.getVehicleTipNum().toString() //弱势参与者提醒次数 tvVulnerableTipNum = findViewById(R.id.tvVulnerableTipNum) - AutopilotSummaryInfo.vulnerableTipNum += random.nextInt(7)+2 - tvVulnerableTipNum?.text = AutopilotSummaryInfo.vulnerableTipNum.toString() + tvVulnerableTipNum?.text = CallerServicesEventManager.getVulnerableTipNum().toString() //消除安全风险隐患次数 tvDangerNum = findViewById(R.id.tvDangerNum) - AutopilotSummaryInfo.dangerNum += random.nextInt(7)+2 - tvDangerNum?.text = AutopilotSummaryInfo.dangerNum.toString() + val dangerNum = CallerServicesEventManager.getInfoTipNum()+ CallerServicesEventManager.getVehicleTipNum() + CallerServicesEventManager.getVulnerableTipNum() + tvDangerNum?.text = dangerNum.toString() //通行效率提升:本期为假数据,数据为百分数,值为7-14%之间的随机数,保留小数点后1位 tvEfficiencyNum = findViewById(R.id.tvEfficiencyNum) val next: Float= random.nextInt(70).toFloat()/10 @@ -113,7 +111,12 @@ open class ItinerarySummaryDialog(context: Context, isDriver: Boolean, theme: In private fun showSummaryTipContent(){ ThreadUtils.runOnUiThread { - val vehicleServiceNum = AutopilotSummaryInfo.infoTipNum+ AutopilotSummaryInfo.vehicleTipNum + AutopilotSummaryInfo.vulnerableTipNum + AutopilotSummaryInfo.lightServicesNum + CallerAutoPilotStatusListenerManager.getRoadCount() + val vehicleServiceNum = + CallerServicesEventManager.getInfoTipNum()+ + CallerServicesEventManager.getVehicleTipNum() + + CallerServicesEventManager.getVulnerableTipNum() + + CallerServicesEventManager.getLightServicesNum() + + CallerServicesEventManager.getRoadNum() var smartRoadLen = 1000f try { smartRoadLen =random.nextFloat()*mileage @@ -138,12 +141,7 @@ open class ItinerarySummaryDialog(context: Context, isDriver: Boolean, theme: In travelRealityView?.onPause() travelRealityView?.onDestroy() //对本次服务记录清零 - AutopilotSummaryInfo.lightServicesNum = 0 - AutopilotSummaryInfo.infoTipNum = 0 - AutopilotSummaryInfo.vehicleTipNum = 0 - AutopilotSummaryInfo.vulnerableTipNum = 0 - AutopilotSummaryInfo.dangerNum = 0 - CallerAutoPilotStatusListenerManager.resetRoadCount() + CallerServicesEventManager.resetServicesNum() } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt index 895532f53b..17fb61ca52 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.api.datacenter.union.IMoGoTrafficLightListen import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.TrafficLightView_TAG import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager @@ -132,6 +133,7 @@ class SingleTrafficLightView @JvmOverloads constructor( UiThreadHandler.post { mCurrentLightId = TrafficLightEnum.BLACK this@SingleTrafficLightView.visibility = GONE + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) } } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotSummaryInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotSummaryInfo.kt index df7931863d..dcf6be7259 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotSummaryInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/AutopilotSummaryInfo.kt @@ -1,10 +1,19 @@ package com.mogo.eagle.core.data.autopilot +import java.util.concurrent.atomic.AtomicInteger + /** * 行程总结报告数据 */ object AutopilotSummaryInfo { + /** + * 全息路口服务次数 + */ + @JvmField + @Volatile + var RoadNum = 0 + /** * 路口灯态服务次数 */ @@ -13,31 +22,59 @@ object AutopilotSummaryInfo { var lightServicesNum = 0 /** - * 道路信息提醒次数 + * 道路施工次数 */ @JvmField @Volatile - var infoTipNum = 0 + var roadConstructionNum = 0 /** - * 车辆行为提醒次数 + * 道路事故次数 */ @JvmField @Volatile - var vehicleTipNum = 0 + var roadAccidentNum = 0 /** - * 弱势参与者提醒次数 + * 公交站事件次数 */ @JvmField @Volatile - var vulnerableTipNum = 0 + var busStopNum = 0 /** - * 消除安全风险隐患次数 + * 静止车辆事件次数 */ @JvmField @Volatile - var dangerNum = 0 + var stationaryVehicleNum = 0 + + /** + * 他车倒车事件次数 + */ + @JvmField + @Volatile + var reverseCarNum = 0 + + /** + * 逆行事件次数 + */ + @JvmField + @Volatile + var retrogradeEventNum = 0 + + /** + * 行人横穿事件次数 + */ + @JvmField + @Volatile + var traverseCrossingNum = 0 + + /** + * 非机动车横穿事件次数 + */ + @JvmField + @Volatile + var nonVehicleCrossingNum = 0 } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt new file mode 100644 index 0000000000..b4db4416e6 --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt @@ -0,0 +1,242 @@ +package com.mogo.eagle.core.function.call.autopilot + +import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo + +object CallerServicesEventManager { + + enum class ServiceType{ + ROAD,//全息路口服务次数 + LIGHT,//路口灯态服务次数 + ROAD_CONSTRUCTION,//道路施工 + ROAD_ACCIDENT,//道路事故 + BUS_STOP,//公交站事件 + STATIONARY_VEHICLE,//静止车辆 + REVERSE_CAR,//他车倒车 + RETROGRADE_EVENT,//逆行事件 + TRAVERSE_CROSSING, //行人横穿 + NON_VEHICLE_CROSSING// 非机动车横穿 + } + + fun updateServicesNum(serviceType: ServiceType){ + when(serviceType){ + //全息路口服务次数 + ServiceType.ROAD->{ + updateRoadNum() + } + //路口灯态服务次数 + ServiceType.LIGHT->{ + updateLightServicesNum() + } + //道路施工 + ServiceType.ROAD_CONSTRUCTION->{ + updateRoadConstructionNum() + } + //道路事故 + ServiceType.ROAD_ACCIDENT ->{ + updateRoadAccidentNum() + } + //公交站事件 + ServiceType.BUS_STOP ->{ + updateBusStopNum() + } + //静止车辆 + ServiceType.STATIONARY_VEHICLE ->{ + updateStationaryVehicleNum() + } + //他车倒车 + ServiceType.REVERSE_CAR ->{ + updateReverseCarNum() + } + //逆行事件 + ServiceType.RETROGRADE_EVENT ->{ + updateRetrogradeEventNum() + } + //行人横穿 + ServiceType.TRAVERSE_CROSSING ->{ + updateTraverseCrossingNum() + } + // 非机动车横穿 + ServiceType.NON_VEHICLE_CROSSING ->{ + updateNonVehicleCrossingNum() + } + } + } + + /** + * 更新全息路口服务次数 + */ + private fun updateRoadNum(){ + AutopilotSummaryInfo.RoadNum++ + } + + /** + * 获取全息路口服务次数 + */ + fun getRoadNum(): Int{ + return AutopilotSummaryInfo.RoadNum + } + + /** + * 更新路口灯态服务次数 + */ + private fun updateLightServicesNum(){ + AutopilotSummaryInfo.lightServicesNum++ + } + + /** + * 获取路口灯态服务次数 + */ + fun getLightServicesNum(): Int{ + return AutopilotSummaryInfo.lightServicesNum + } + + /** + * 更新道路施工次数 + */ + private fun updateRoadConstructionNum(){ + AutopilotSummaryInfo.roadConstructionNum++ + } + + /** + * 获取道路施工次数 + */ + private fun getRoadConstructionNum(): Int{ + return AutopilotSummaryInfo.roadConstructionNum + } + + /** + * 更新道路事故次数 + */ + private fun updateRoadAccidentNum(){ + AutopilotSummaryInfo.roadAccidentNum++ + } + + /** + * 获取道路事故次数 + */ + private fun getRoadAccidentNum(): Int{ + return AutopilotSummaryInfo.roadAccidentNum + } + + /** + * 更新公交站事件次数 + */ + private fun updateBusStopNum(){ + AutopilotSummaryInfo.busStopNum++ + } + + /** + * 获取公交站事件次数 + */ + private fun getBusStopNum(): Int{ + return AutopilotSummaryInfo.busStopNum + } + + /** + * 更新静止车辆事件次数 + */ + private fun updateStationaryVehicleNum(){ + AutopilotSummaryInfo.stationaryVehicleNum++ + } + + /** + * 获取静止车辆事件次数 + */ + private fun getStationaryVehicleNum(): Int{ + return AutopilotSummaryInfo.stationaryVehicleNum + } + + /** + * 更新他车倒车事件次数 + */ + private fun updateReverseCarNum(){ + AutopilotSummaryInfo.reverseCarNum++ + } + + /** + * 获取他车倒车事件次数 + */ + private fun getReverseCarNum(): Int{ + return AutopilotSummaryInfo.reverseCarNum + } + + /** + * 更新逆行事件次数 + */ + private fun updateRetrogradeEventNum(){ + AutopilotSummaryInfo.retrogradeEventNum++ + } + + /** + * 获取逆行事件次数 + */ + private fun getRetrogradeEventNum(): Int{ + return AutopilotSummaryInfo.retrogradeEventNum + } + + /** + * 更新行人横穿事件次数 + */ + private fun updateTraverseCrossingNum(){ + AutopilotSummaryInfo.traverseCrossingNum++ + } + + /** + * 获取行人横穿事件次数 + */ + private fun getTraverseCrossingNum(): Int{ + return AutopilotSummaryInfo.traverseCrossingNum + } + + /** + * 更新非机动车横穿事件次数 + */ + private fun updateNonVehicleCrossingNum(){ + AutopilotSummaryInfo.nonVehicleCrossingNum++ + } + + /** + * 获取非机动车横穿事件次数 + */ + private fun getNonVehicleCrossingNum(): Int{ + return AutopilotSummaryInfo.nonVehicleCrossingNum + } + + /** + * 获取道路信息提醒次数 + */ + fun getInfoTipNum(): Int{ + return getRoadConstructionNum()+getRoadAccidentNum()+getBusStopNum() + } + + /** + * 获取车辆行为提醒次数 + */ + fun getVehicleTipNum(): Int{ + return getStationaryVehicleNum() + getReverseCarNum() + getRetrogradeEventNum() + } + + /** + * 获取弱势参与者提醒次数 + */ + fun getVulnerableTipNum(): Int{ + return getTraverseCrossingNum() + getNonVehicleCrossingNum() + } + + /** + * 清空事件次数 + */ + fun resetServicesNum(){ + AutopilotSummaryInfo.RoadNum = 0 + AutopilotSummaryInfo.lightServicesNum = 0 + AutopilotSummaryInfo.roadConstructionNum = 0 + AutopilotSummaryInfo.roadAccidentNum = 0 + AutopilotSummaryInfo.busStopNum = 0 + AutopilotSummaryInfo.stationaryVehicleNum = 0 + AutopilotSummaryInfo.reverseCarNum = 0 + AutopilotSummaryInfo.retrogradeEventNum = 0 + AutopilotSummaryInfo.traverseCrossingNum = 0 + AutopilotSummaryInfo.nonVehicleCrossingNum = 0 + } + +} \ No newline at end of file From efc8d7bccf74d641e30a48e4e6d58b2a92c61d37 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Wed, 9 Oct 2024 14:57:56 +0800 Subject: [PATCH 14/34] =?UTF-8?q?[=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6][?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=85=AC=E4=BA=A4=E7=AB=99]=20feat:=20?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=BC=B9=E6=A1=86=E5=B1=95=E7=A4=BA=20?= =?UTF-8?q?=E6=AC=A1=E6=95=B0++=20=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/biz/v2x/busstation/PassBusStationEventManager.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt index 17b7684610..9d05d7436b 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/busstation/PassBusStationEventManager.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.api.hmi.xiaozhi.event.V2N import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State.START import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State.STOP import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.hmi.CallerRoadV2NEventWindowListenerManager @@ -190,6 +191,8 @@ object PassBusStationEventManager : IMoGoChassisLocationWGS84Listener { ).toString() ).toString() ) + // 事件弹框 次数+1 + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.BUS_STOP) trackEvent("showBusStationNotification --> ${it.toString()}") Logger.d( TAG, From d4fe0a08d9d58052e11d6cfee55378594e714a74 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 9 Oct 2024 15:04:13 +0800 Subject: [PATCH 15/34] =?UTF-8?q?[6.6.2]=E8=A1=8C=E7=A8=8B=E6=80=BB?= =?UTF-8?q?=E7=BB=93=E4=BA=8B=E4=BB=B6=E6=95=B0=E9=87=8F=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=AB=98=E7=B2=BE=E5=9C=B0=E5=9B=BE=E6=98=AF=E5=90=A6=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=92=8C=E6=98=AF=E5=90=A6=E6=9C=89=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../call/autopilot/CallerServicesEventManager.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt index b4db4416e6..1f8ad22908 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerServicesEventManager.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.call.autopilot import com.mogo.eagle.core.data.autopilot.AutopilotSummaryInfo +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager object CallerServicesEventManager { @@ -18,6 +19,14 @@ object CallerServicesEventManager { } fun updateServicesNum(serviceType: ServiceType){ + val canShowV2NEventWindowView = CallerHmiViewControlListenerManager.getMainPageVisible() + if (!canShowV2NEventWindowView) { + return + } + val lineId = CallerAutoPilotStatusListenerManager.getLineId() + if (lineId <= 0) { + return + } when(serviceType){ //全息路口服务次数 ServiceType.ROAD->{ From 8c11f7bf7367c2fc5c59fbb4eabc1bb45fb22082 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 9 Oct 2024 16:36:34 +0800 Subject: [PATCH 16/34] =?UTF-8?q?[6.6.2][=E9=81=93=E8=B7=AF=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6]=20=E4=BA=8B=E4=BB=B6=E8=AE=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt index e6271b1d69..ca3a3ab8ca 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/pnc/V2NIdentifyDrawer.kt @@ -23,6 +23,7 @@ import com.mogo.eagle.core.function.api.hmi.xiaozhi.state.State.STOP import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.autopilot.CallerV2XListenerManager.V2NCarTypeCheck import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager @@ -105,6 +106,11 @@ internal object V2NIdentifyDrawer: IEventDismissListener { // delay(2000) // } // Log.d("V2NIdentifyDrawer", "--- 不在路口了 ---") + if (msg.what == MSG_WHAT_DRAW_SHIGONE) { + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD_CONSTRUCTION) + } else { + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD_ACCIDENT) + } val poiType = getPoiType(itx.type).poiType val polygon = itx.polygonList.map { Pair.create(it.longitude, it.latitude) } marker(Marker(id, @@ -214,6 +220,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { V2XBizTrace.onAck(TAG, mapOf("other_retrograde_vehicle" to "distance > 150"), true) return@Callback true } + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.RETROGRADE_EVENT) val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { runCatching { @@ -338,6 +345,7 @@ internal object V2NIdentifyDrawer: IEventDismissListener { V2XBizTrace.onAck(TAG, mapOf("people cross" to "distance > 150"), true) return@Callback true } + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.TRAVERSE_CROSSING) Logger.i(TAG, "people cross -- 3 --") val isDriver = AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { From 4fb95ba8ce8633b9117f3adccc9b6de6904f7b62 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Wed, 9 Oct 2024 16:38:44 +0800 Subject: [PATCH 17/34] =?UTF-8?q?[6.6.2]=E5=A2=9E=E5=8A=A0=E5=85=A8?= =?UTF-8?q?=E6=81=AF=E8=B7=AF=E5=8F=A3=E6=8F=90=E7=A4=BA=E5=88=A4=E6=96=AD?= =?UTF-8?q?=20-=20=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E8=B7=AF=E4=BE=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roadcross/RoadCrossCameraManager.kt | 166 +++++++++++++++--- .../net/NDERoadCameraNetWorkModel.kt | 8 +- .../core/function/view/RoadCrossRoamView.kt | 7 + .../map/listener/IGaoDeMapLocationListener.kt | 7 +- .../CallerGaoDeMapLocationListenerManager.kt | 7 + .../com/mogo/map/location/GDLocationClient.kt | 1 + 6 files changed, 162 insertions(+), 34 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt index 007f9dc927..04db73c100 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt @@ -7,13 +7,15 @@ import android.os.Handler import android.os.Looper import android.os.Message import com.mogo.commons.debug.DebugConfig -import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.road.CameraDeviceInfo +import com.mogo.eagle.core.data.road.RoadCrossCamera +import com.mogo.eagle.core.function.api.map.listener.IGaoDeMapLocationListener import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener import com.mogo.eagle.core.function.business.roadcross.net.NDERoadCameraNetWorkModel.Companion.ndeRoadCameraNetWorkModel import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager +import com.mogo.eagle.core.function.call.map.CallerGaoDeMapLocationListenerManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.map.R @@ -29,11 +31,14 @@ import com.zhidaoauto.map.data.road.StopLine import com.zhjt.service.chain.ChainLog import kotlin.properties.Delegates -class RoadCrossCameraManager : IMoGoMapRoadListener { +@SuppressLint("NewApi") +class RoadCrossCameraManager : IMoGoMapRoadListener, IGaoDeMapLocationListener { companion object { private const val TAG = "RoadCrossCameraManager" private const val REQUEST_CAMERA_MSG = 0 + private const val REMOVE_MARKER_MSG = 1 + private const val REQUEST_CAMERA_DELAY_TIME = 50000L private const val REMOVE_MARKER_DELAY_TIME = 10000L val instance: RoadCrossCameraManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { @@ -47,25 +52,71 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { private var isCameraRequest = false @Volatile - private var roadCrossCameraList: List? = null + private var roadCrossCameraList: List? = null private val overlayManager = CallerMapUIServiceManager.getOverlayManager() - private val handler = object :Handler(Looper.getMainLooper()){ + private val handler = object : Handler(Looper.getMainLooper()) { override fun handleMessage(msg: Message) { super.handleMessage(msg) - CallerLogger.d("$M_MAP$TAG", "remove marker") - overlayManager?.removeAllPointsInOwner(TAG) + when (msg.what) { + REQUEST_CAMERA_MSG -> { + getAllRoadCross() + } + + REMOVE_MARKER_MSG -> { + CallerLogger.d("$M_MAP$TAG", "remove marker") + overlayManager?.removeAllPointsInOwner(TAG) + } + } } } fun init(context: Context?) { mContext = context CallerMapRoadListenerManager.addListener(TAG, this) + CallerGaoDeMapLocationListenerManager.addListener(TAG, this) + getAllRoadCross() + } + + private fun getAllRoadCross() { + val cityCode = CallerMapUIServiceManager.getCityCode() + if (cityCode.isNullOrEmpty() || (cityCode.isNotEmpty() && cityCode == "010")) { + handler.removeMessages(REQUEST_CAMERA_MSG) + handler.sendEmptyMessageDelayed(REQUEST_CAMERA_MSG, REQUEST_CAMERA_DELAY_TIME + 100000) + return + } + ndeRoadCameraNetWorkModel.getRoadCrossInfo( + onSuccess = { it -> + if (it.isNotEmpty()) { + roadCrossCameraList = it + val map = mutableMapOf() + it.forEach { road -> + road.crossingId?.let { id -> + map[id] = road + } + } + roadCrossTrace(TAG, map) + } else { + traceError("roadCrossInfo request size is zero") + } + }, + onError = { + handler.removeMessages(REQUEST_CAMERA_MSG) + handler.sendEmptyMessageDelayed(REQUEST_CAMERA_MSG, REQUEST_CAMERA_DELAY_TIME) + traceError("roadCrossInfo request errorMsg: $it") + }) + } + + override fun onCityCodeChanged(cityCode: String) { + super.onCityCodeChanged(cityCode) + if (cityCode != "010") { + getAllRoadCross() + } } private var distance: Double by Delegates.observable(0.0) { _, _, newV -> - if(!AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)){ + if (!AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode)) { return@observable } if (!isCameraRequest && newV < 100) { @@ -75,34 +126,29 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { "$M_MAP$TAG", "触发接口调用 dis: $distance , roadCrossEnd: ${roadCrossEnd ?: "null"} " ) - if(roadCrossEnd == null){ + if (roadCrossEnd == null) { roadCrossTrace( - TAG, mapOf("errorMsg" to "触发接口调用,roadCrossEnd获取为null",) + TAG, mapOf("errorMsg" to "触发接口调用,roadCrossEnd获取为null") ) } if (roadCrossEnd != null) { - ndeRoadCameraNetWorkModel.getRoadCrossInfo(roadCrossEnd, - onSuccess = { - if (it.crossingId == null) { - traceError("roadUniqueId is null") - return@getRoadCrossInfo - } - if (it.deviceInfoList.isEmpty()) { - traceError("deviceInfoList isEmpty") - return@getRoadCrossInfo - } - roadCrossCameraList = it.deviceInfoList - // 地图上打marker(注意marker方向),marker点击获取对应ip - ThreadUtils.runOnUiThread { + if (roadCrossCameraList != null) { + roadCrossCameraList?.forEach { + //todo 多个匹配,需要修改 + if (!it.roadUniqueId.isNullOrEmpty() + && it.roadUniqueId!!.contains(roadCrossEnd) + ) { it.deviceInfoList.forEach { deviceInfo -> addCameraDeviceMarker(deviceInfo) } + } else { + requestSingleCross(roadCrossEnd) } - }, - onError = { - traceError("roadCrossInfo request errorMsg: $it") - }) + } + } else { + requestSingleCross(roadCrossEnd) + } } else { traceError("roadCross is null") } @@ -111,6 +157,30 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { } } + private fun requestSingleCross(roadCrossEnd: String) { + ndeRoadCameraNetWorkModel.getRoadCrossInfo(roadCrossEnd, + onSuccess = { result -> + val it = result[0] + if (it.crossingId == null) { + traceError("roadUniqueId is null") + return@getRoadCrossInfo + } + if (it.deviceInfoList.isEmpty()) { + traceError("deviceInfoList isEmpty") + return@getRoadCrossInfo + } + // 地图上打marker(注意marker方向),marker点击获取对应ip + ThreadUtils.runOnUiThread { + it.deviceInfoList.forEach { deviceInfo -> + addCameraDeviceMarker(deviceInfo) + } + } + }, + onError = { + traceError("roadCrossInfo request errorMsg: $it") + }) + } + private fun addCameraDeviceMarker(cameraDeviceInfo: CameraDeviceInfo) { mContext?.let { val builder = @@ -141,6 +211,44 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { } } + fun hasCrossCamera(): Boolean { + if(CallerMapUIServiceManager.getCityCode() == "010"){ + roadCrossTrace( + TAG, mapOf("errorMsg" to "cityCode限制 - 北京无路口设备") + ) + return false + } + + val roadCrossEnd = CallerMapRoadListenerManager.getCrossEndInfo() + if(roadCrossEnd == null){ + roadCrossTrace( + TAG, mapOf("errorMsg" to "hasCrossCamera - 未获取到地图crossEnd数据") + ) + return false + } + + if (roadCrossCameraList == null) { + roadCrossTrace( + TAG, mapOf("errorMsg" to "hasCrossCamera - 未获取到全市路口设备信息") + ) + return false + } + + roadCrossCameraList?.forEach { + val result = (!it.roadUniqueId.isNullOrEmpty() + && it.roadUniqueId!!.contains(roadCrossEnd)) + roadCrossTrace( + TAG, mapOf("errorMsg" to "hasCrossCamera - 遍历匹配路口数据:$result - $roadCrossEnd") + ) + return result + } + + roadCrossTrace( + TAG, mapOf("errorMsg" to "hasCrossCamera - 均不匹配上述条件") + ) + return false + } + @SuppressLint("NewApi") private fun batchRequestCrossLive(cameraDeviceInfo: List) { val list = mutableListOf() @@ -163,7 +271,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) { super.onRoadChange(cross, roadCross) // 出路口 - if(!isCameraRequest){ + if (!isCameraRequest) { CallerLogger.d("$M_MAP$TAG", "未触发路口获取marker") return } @@ -172,7 +280,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { ndeRoadCameraNetWorkModel.cancelRequest("roadCross") // 清除marker CallerLogger.d("$M_MAP$TAG", "remove marker handler") - handler.sendEmptyMessageDelayed(REQUEST_CAMERA_MSG, REMOVE_MARKER_DELAY_TIME) + handler.sendEmptyMessageDelayed(REMOVE_MARKER_MSG, REMOVE_MARKER_DELAY_TIME) // 释放控制 isCameraRequest = false CallerLogger.d("$M_MAP$TAG", "经过路口,释放控制") @@ -197,7 +305,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener { linkChainLog = ChainConstant.CHAIN_TYPE_STATUS, linkCode = ChainConstant.CHAIN_SOURCE_MAP, nodeAliasCode = ChainConstant.CHAIN_CODE_MAP_ROAD_CROSS_ERROR, - paramIndexes = [0] + paramIndexes = [0, 1] ) private fun roadCrossTrace(tag: String, paramMap: Any) { CallerLogger.d("$M_MAP$tag", "$paramMap") diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/net/NDERoadCameraNetWorkModel.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/net/NDERoadCameraNetWorkModel.kt index 5a406db1cf..682caba32d 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/net/NDERoadCameraNetWorkModel.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/net/NDERoadCameraNetWorkModel.kt @@ -27,8 +27,8 @@ class NDERoadCameraNetWorkModel private constructor() { } fun getRoadCrossInfo( - crossID: String, - onSuccess: ((RoadCrossCamera) -> Unit), + crossID: String? = null, + onSuccess: ((List) -> Unit), onError: ((String) -> Unit) ) { request>>("roadCross") { @@ -39,7 +39,7 @@ class NDERoadCameraNetWorkModel private constructor() { getNetWorkApi().roadCameraRequest( pair.first, pair.second, - crossID, + crossID?:"", loc.longitude, loc.latitude, CallerMapUIServiceManager.getCityCode() ?: "" @@ -48,7 +48,7 @@ class NDERoadCameraNetWorkModel private constructor() { } onSuccess { if (it.result.isNotEmpty()) { - onSuccess.invoke(it.result[0]) + onSuccess.invoke(it.result) } else { onError.invoke("getRoadCrossInfo empty camera info") } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index 1dede72e9c..056fb38e57 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -19,6 +19,8 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.V2X_EVENT_TAG import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener +import com.mogo.eagle.core.function.business.roadcross.RoadCrossCameraManager +import com.mogo.eagle.core.function.business.roadcross.RoadCrossCameraManager.Companion.instance import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager @@ -208,6 +210,11 @@ class RoadCrossRoamView @JvmOverloads constructor( CallerLogger.d("$M_MAP$TAG", "attachView return , mainPageVisible is false") return } + // 没有路侧设备,不做处理 + if(!instance.hasCrossCamera()){ + CallerLogger.d("$M_MAP$TAG", "没有路侧设备,不做处理") + return + } //播放语音 val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/listener/IGaoDeMapLocationListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/listener/IGaoDeMapLocationListener.kt index e45c2b085d..e20d369956 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/listener/IGaoDeMapLocationListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/listener/IGaoDeMapLocationListener.kt @@ -14,5 +14,10 @@ interface IGaoDeMapLocationListener { * * @param location 新定位点 */ - fun onMoGoLocationChanged(location: MogoLocation) + fun onMoGoLocationChanged(location: MogoLocation){} + + /** + * 城市代码改变 + */ + fun onCityCodeChanged(cityCode: String){} } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerGaoDeMapLocationListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerGaoDeMapLocationListenerManager.kt index 8be7f1f7fb..c967ab13bc 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerGaoDeMapLocationListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerGaoDeMapLocationListenerManager.kt @@ -20,4 +20,11 @@ object CallerGaoDeMapLocationListenerManager : CallerBase Date: Wed, 9 Oct 2024 18:56:23 +0800 Subject: [PATCH 18/34] [6.6.2] tag --- .../core/function/business/roadcross/RoadCrossCameraManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt index 04db73c100..c933c5dc35 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt @@ -96,7 +96,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener, IGaoDeMapLocationListener { map[id] = road } } - roadCrossTrace(TAG, map) + roadCrossTrace("getAllRoadCross", map) } else { traceError("roadCrossInfo request size is zero") } From 28a19d40dc7d0c87b564209a01fd3dc90830bf3e Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 10 Oct 2024 11:06:44 +0800 Subject: [PATCH 19/34] =?UTF-8?q?[6.6.2]=20=E5=88=A4=E6=96=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/business/roadcross/RoadCrossCameraManager.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt index c933c5dc35..7063a64d83 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt @@ -135,10 +135,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener, IGaoDeMapLocationListener { if (roadCrossEnd != null) { if (roadCrossCameraList != null) { roadCrossCameraList?.forEach { - //todo 多个匹配,需要修改 - if (!it.roadUniqueId.isNullOrEmpty() - && it.roadUniqueId!!.contains(roadCrossEnd) - ) { + if (!it.roadUniqueId.isNullOrEmpty() && it.roadUniqueId == roadCrossEnd) { it.deviceInfoList.forEach { deviceInfo -> addCameraDeviceMarker(deviceInfo) } @@ -236,7 +233,7 @@ class RoadCrossCameraManager : IMoGoMapRoadListener, IGaoDeMapLocationListener { roadCrossCameraList?.forEach { val result = (!it.roadUniqueId.isNullOrEmpty() - && it.roadUniqueId!!.contains(roadCrossEnd)) + && it.roadUniqueId == roadCrossEnd) roadCrossTrace( TAG, mapOf("errorMsg" to "hasCrossCamera - 遍历匹配路口数据:$result - $roadCrossEnd") ) From 2076c6dc968d6992768b340b6ce2250f22b2d3a9 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 10 Oct 2024 19:12:07 +0800 Subject: [PATCH 20/34] [6.6.2] fix bug --- .../roadcross/RoadCrossCameraManager.kt | 10 +++--- .../core/function/view/RoadCrossRoamView.kt | 36 +++++++++++++++---- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt index 7063a64d83..f53cf67442 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/roadcross/RoadCrossCameraManager.kt @@ -234,10 +234,12 @@ class RoadCrossCameraManager : IMoGoMapRoadListener, IGaoDeMapLocationListener { roadCrossCameraList?.forEach { val result = (!it.roadUniqueId.isNullOrEmpty() && it.roadUniqueId == roadCrossEnd) - roadCrossTrace( - TAG, mapOf("errorMsg" to "hasCrossCamera - 遍历匹配路口数据:$result - $roadCrossEnd") - ) - return result + if(result){ + roadCrossTrace( + TAG, mapOf("errorMsg" to "hasCrossCamera - 遍历匹配路口数据命中 - $roadCrossEnd") + ) + return true + } } roadCrossTrace( diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index 056fb38e57..61c656fbcf 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -19,7 +19,6 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion.V2X_EVENT_TAG import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener -import com.mogo.eagle.core.function.business.roadcross.RoadCrossCameraManager import com.mogo.eagle.core.function.business.roadcross.RoadCrossCameraManager.Companion.instance import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager @@ -57,10 +56,14 @@ class RoadCrossRoamView @JvmOverloads constructor( private const val MSG_HIDE_VIEW_TIME = 10_000L } + @Volatile + private var isShow = false + private var showState by Delegates.observable(false) { _, oldV, newV -> - if (oldV != newV) { - updateView(newV) + if (!newV) { + isShow = false } + updateView(newV) } private var animator: ObjectAnimator? = null @@ -185,16 +188,28 @@ class RoadCrossRoamView @JvmOverloads constructor( override fun onStopLineInfo(info: StopLine) { super.onStopLineInfo(info) + val cross = CallerMapRoadListenerManager.getCrossEndInfo() if (info.distance == 0.0 || info.distance > 200) { - CallerLogger.d("$M_MAP$TAG", "showState return , distance is ${info.distance}") + if (cross != null && cross != "0") { + CallerLogger.d("emArrow-tag", "未触发,路口ID:$cross , 距离超出:${info.distance}") + } return } - showState = info.distance in 110.0..200.0 + CallerLogger.d("emArrow-tag", "命中 before:$showState") + showState = info.distance in 100.0..200.0 + CallerLogger.d("emArrow-tag", "命中 after:$showState,路口ID:$cross , dis:${info.distance}") } private fun attachView() { + if (isShow) { + return + } + if (this.visibility == View.VISIBLE) { + return + } // 没有路线不做提示 if (CallerAutoPilotStatusListenerManager.getLineId() == 0L) { + CallerLogger.d("$M_MAP$TAG", "没有路线不做提示") return } // 处于漫游模式下不做处理 @@ -211,15 +226,22 @@ class RoadCrossRoamView @JvmOverloads constructor( return } // 没有路侧设备,不做处理 - if(!instance.hasCrossCamera()){ + CallerLogger.d("emArrow-tag", "命中,attachView") + val cross = CallerMapRoadListenerManager.getCrossEndInfo() + if (cross.isNullOrEmpty()) { + CallerLogger.d("emArrow-tag", "未触发,路口ID:$cross") + return + } + if (!instance.hasCrossCamera()) { CallerLogger.d("$M_MAP$TAG", "没有路侧设备,不做处理") return } + isShow = true //播放语音 val dis = CallerMapRoadListenerManager.getStopLineDistance()?.toInt() ?: 0 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { var disStr = "前方即将通过路口,蘑菇为您提供路口全息影像,助力出行" - if(dis >= 80){ + if (dis >= 80) { disStr = "前方${dis}米将通过路口,蘑菇为您提供路口全息影像,助力出行" } AIAssist.getInstance(context).speakTTSVoice(disStr) From 1c6ff769276a1a48b980d2beaa0dd006d03107f3 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 10 Oct 2024 19:37:00 +0800 Subject: [PATCH 21/34] [6.6.2] logcat --- .../mogo/eagle/core/function/view/RoadCrossRoamView.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index 61c656fbcf..6196d3578d 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -191,13 +191,13 @@ class RoadCrossRoamView @JvmOverloads constructor( val cross = CallerMapRoadListenerManager.getCrossEndInfo() if (info.distance == 0.0 || info.distance > 200) { if (cross != null && cross != "0") { - CallerLogger.d("emArrow-tag", "未触发,路口ID:$cross , 距离超出:${info.distance}") + CallerLogger.d("$M_MAP$TAG", "未触发,路口ID:$cross , 距离超出:${info.distance}") } return } - CallerLogger.d("emArrow-tag", "命中 before:$showState") + CallerLogger.d("$M_MAP$TAG", "命中 before:$showState") showState = info.distance in 100.0..200.0 - CallerLogger.d("emArrow-tag", "命中 after:$showState,路口ID:$cross , dis:${info.distance}") + CallerLogger.d("$M_MAP$TAG", "命中 after:$showState,路口ID:$cross , dis:${info.distance}") } private fun attachView() { @@ -226,10 +226,10 @@ class RoadCrossRoamView @JvmOverloads constructor( return } // 没有路侧设备,不做处理 - CallerLogger.d("emArrow-tag", "命中,attachView") + CallerLogger.d("$M_MAP$TAG", "命中,attachView") val cross = CallerMapRoadListenerManager.getCrossEndInfo() if (cross.isNullOrEmpty()) { - CallerLogger.d("emArrow-tag", "未触发,路口ID:$cross") + CallerLogger.d("$M_MAP$TAG", "未触发,路口ID:$cross") return } if (!instance.hasCrossCamera()) { From c573b3e2df1ca98978bc0cf353074f4dfdec03f8 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 11 Oct 2024 18:15:51 +0800 Subject: [PATCH 22/34] =?UTF-8?q?[6.6.2]=E4=BF=AE=E6=94=B9=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E5=BC=B9=E7=AA=97=E9=80=A0=E6=88=90=E7=9A=84=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=B7=B7=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workorder/TakeOverReasonWindow.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt index 7aeebbfd84..c57fd8122b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt @@ -186,7 +186,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene @SuppressLint("SetTextI18n") private fun initEvent(){ - CallerDevaToolsListenerManager.addListener(TAG, this) + CallerDevaToolsListenerManager.addListener(this.hashCode().toString(), this) val iconDown = ContextCompat.getDrawable(mActivity, R.drawable.icon_fault_expand) iconDown?.setBounds(0, 0, iconDown.minimumWidth, iconDown.minimumHeight) val iconUp = ContextCompat.getDrawable(mActivity, R.drawable.icon_fault_retract) @@ -466,7 +466,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene mWindowManager!!.removeView(mFloatLayout) } setWindowShowStatus(false) - CallerDevaToolsListenerManager.removeListener(TAG) + CallerDevaToolsListenerManager.removeListener(this.hashCode().toString()) } /** From e5563ed3cdea683cde2422eb460135afa5fb2662 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Sat, 12 Oct 2024 10:56:32 +0800 Subject: [PATCH 23/34] [6.6.2] fixbug of count --- .../eagle/core/function/DataCenterProvider.kt | 2 - .../datacenter/v2x/RoadLineEventManager.kt | 48 ------------------- .../core/function/view/RoadCrossRoamView.kt | 2 + 3 files changed, 2 insertions(+), 50 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt index 43ec9965e1..97f447c434 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/DataCenterProvider.kt @@ -8,7 +8,6 @@ import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.datacenter.location.MoGoLocationDispatcher -import com.mogo.eagle.core.function.datacenter.v2x.RoadLineEventManager import com.mogo.eagle.core.function.datacenter.v2x.SpeedLimitDispatcher import com.mogo.eagle.core.function.datacenter.v2x.TrafficLightDispatcher @@ -28,7 +27,6 @@ class DataCenterProvider: IDataCenterProvider { CallerMsgBoxManager.queryAllMessages(it) TrafficLightDispatcher.INSTANCE.initServer(it) SpeedLimitDispatcher.INSTANCE.initLimit(it) - RoadLineEventManager.INSTANCE.init() } } diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt deleted file mode 100644 index 2d2689a594..0000000000 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/v2x/RoadLineEventManager.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.mogo.eagle.core.function.datacenter.v2x - -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager -import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager -import com.zhidaoauto.map.data.road.RoadCross - - -/** - * 路线功能相关,绑定路线id后,业务控制,数据变化均可以封装在这里实现 - */ -class RoadLineEventManager : IMoGoMapRoadListener, IMoGoAutopilotStatusListener { - - companion object{ - - private const val TAG = "RoadLineEventManager" - - val INSTANCE by lazy(LazyThreadSafetyMode.SYNCHRONIZED){ - RoadLineEventManager() - } - } - - @Volatile - private var record = false - - fun init() { - CallerMapRoadListenerManager.addListener(TAG, this) - CallerAutoPilotStatusListenerManager.addListener(TAG, this) - } - - override fun onAutopilotRouteLineId(lineId: Long) { - super.onAutopilotRouteLineId(lineId) - record = lineId != 0L - } - - override fun onRoadChange(cross: Boolean, roadCross: RoadCross?) { - super.onRoadChange(cross, roadCross) - if(!record){ - return - } - if(cross){ - CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) - } - } - -} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index 6196d3578d..1f00954c8c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -21,6 +21,7 @@ import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener.Companion. import com.mogo.eagle.core.function.api.map.road.IMoGoMapRoadListener import com.mogo.eagle.core.function.business.roadcross.RoadCrossCameraManager.Companion.instance import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerServicesEventManager import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapIdentifyManager import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager @@ -247,6 +248,7 @@ class RoadCrossRoamView @JvmOverloads constructor( AIAssist.getInstance(context).speakTTSVoice(disStr) } CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE, TAG) + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.ROAD) bringToFront() this.visibility = View.VISIBLE ivZhiRoadRoamView.visibility = View.VISIBLE From 76430f74b0b40883094740ae66f2b19744d0274b Mon Sep 17 00:00:00 2001 From: EmArrow Date: Sat, 12 Oct 2024 11:38:12 +0800 Subject: [PATCH 24/34] [6.6.2] add log --- .../main/java/com/mogo/eagle/core/function/view/MapRoamView.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt index b55a5d95a6..2a3f9ebf14 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/MapRoamView.kt @@ -121,6 +121,9 @@ class MapRoamView(context: Context?, attrs: AttributeSet?) : MogoMapView(context } override fun onAiIdentifyData(obj: SocketDownData.SocketDownDataProto?) { + if(obj == null){ + trace(TAG, mapOf("onAiIdentifyData" to "空数据")) + } obj?.let { obj.data?.let { if (it.allListList == null || it.allListList.size == 0) { From f363634e6365f92699a18cb21356149f1d01e172 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Sat, 12 Oct 2024 12:00:48 +0800 Subject: [PATCH 25/34] =?UTF-8?q?[6.6.2]=E8=B0=83=E6=95=B4=E7=BA=A2?= =?UTF-8?q?=E7=BB=BF=E7=81=AF=E6=98=BE=E7=A4=BA=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/widget/SingleTrafficLightView.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt index 17fb61ca52..d3e39e57ee 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SingleTrafficLightView.kt @@ -55,6 +55,8 @@ class SingleTrafficLightView @JvmOverloads constructor( private var trafficLightUser = 0 //0:默认;1:Taxi乘客屏肤色 + private var isShowLight: Boolean = false + init{ context?.let { val typedArray = it.obtainStyledAttributes(attrs, R.styleable.SingleTrafficLightView) @@ -120,6 +122,7 @@ class SingleTrafficLightView @JvmOverloads constructor( super.showTrafficLight(checkLightId, lightSource) UiThreadHandler.post { CallerLogger.d("$M_HMI$TAG","update checkLightId:$checkLightId, lightSource: $lightSource") + isShowLight = true mCurrentLightId = checkLightId updateTrafficLightIcon(checkLightId, lightSource) } @@ -133,7 +136,6 @@ class SingleTrafficLightView @JvmOverloads constructor( UiThreadHandler.post { mCurrentLightId = TrafficLightEnum.BLACK this@SingleTrafficLightView.visibility = GONE - CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) } } @@ -402,4 +404,11 @@ class SingleTrafficLightView @JvmOverloads constructor( } } + override fun onVisibilityChanged(changedView: View, visibility: Int) { + super.onVisibilityChanged(changedView, visibility) + if(visibility == View.VISIBLE && isShowLight){ + CallerServicesEventManager.updateServicesNum(CallerServicesEventManager.ServiceType.LIGHT) + } + } + } \ No newline at end of file From 2a5a6c1ff9d7966e29551e20dd0d84140f11684e Mon Sep 17 00:00:00 2001 From: EmArrow Date: Sat, 12 Oct 2024 15:58:24 +0800 Subject: [PATCH 26/34] [6.6.2] fixbug --- .../function/call/hmi/CallerHmiViewControlListenerManager.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt index f7224e9a94..f37ce94632 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiViewControlListenerManager.kt @@ -4,6 +4,7 @@ import android.view.View import android.view.ViewGroup import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener import com.mogo.eagle.core.function.call.base.CallerBase +import com.mogo.eagle.core.function.call.trace.CallerTrace import java.util.concurrent.ConcurrentHashMap /** @@ -14,6 +15,8 @@ import java.util.concurrent.ConcurrentHashMap object CallerHmiViewControlListenerManager : CallerBase() { private var v2xEventTag = ConcurrentHashMap() + + @Volatile private var mainPageVisible = true /** @@ -38,6 +41,7 @@ object CallerHmiViewControlListenerManager : CallerBase() fun invokeMainPageViewVisible(v: Int) { mainPageVisible = (v == View.VISIBLE) + CallerTrace.write("CallerHmiViewControl","mainPageVisible:$mainPageVisible") M_LISTENERS.forEach { val listener = it.value listener.mainPageViewVisible(v) From d9a84367c80d994b027dac69efa679281589bc3c Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 14 Oct 2024 10:14:59 +0800 Subject: [PATCH 27/34] =?UTF-8?q?[6.6.2]=E4=BF=AE=E5=A4=8D=E5=BA=95?= =?UTF-8?q?=E9=83=A8=E5=B7=A5=E5=85=B7=E6=A0=8F=E2=80=9C=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E2=80=9D=E6=8C=89=E9=92=AE=E7=82=B9=E5=87=BB=E5=90=8E=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=BD=8D=E7=BD=AE=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wigets/map/reportworkorder/ReportWorkOrderView.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/reportworkorder/ReportWorkOrderView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/reportworkorder/ReportWorkOrderView.kt index db015b5a2d..7b0fc6c75b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/reportworkorder/ReportWorkOrderView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/map/reportworkorder/ReportWorkOrderView.kt @@ -2,6 +2,7 @@ package com.mogo.och.common.module.wigets.map.reportworkorder import android.content.Context import android.util.AttributeSet +import android.view.MotionEvent import androidx.appcompat.widget.AppCompatImageView import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager import com.mogo.och.common.module.R @@ -27,9 +28,11 @@ class ReportWorkOrderView : AppCompatImageView{ setImageResource(R.drawable.common_reportwork) } - override fun onAttachedToWindow() { - super.onAttachedToWindow() - CallerDevaToolsManager.reportWorkOrder(this) + override fun onTouchEvent(event: MotionEvent?): Boolean { + if(event?.action == MotionEvent.ACTION_DOWN){ + CallerDevaToolsManager.reportWorkOrder(this) + } + return super.onTouchEvent(event) } From 17245d90a95d982ab0bb9cfd1401578f71e7409b Mon Sep 17 00:00:00 2001 From: EmArrow Date: Mon, 14 Oct 2024 15:59:23 +0800 Subject: [PATCH 28/34] [6.6.2] add log --- .../mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index 18e379db76..e94c2e7296 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -134,6 +134,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { + CallerLogger.d("$M_TAXI_P$TAG","SelectView OVERMAPVIEW trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE @@ -150,6 +151,7 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { + CallerLogger.d("$M_TAXI_P$TAG","SelectView VIDEO trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE @@ -274,6 +276,7 @@ class TaxiPassengerBaseFragment() : } bottom.setBagVisable(BottomBar.SelectView.OVERMAPVIEW,View.VISIBLE) chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,0) + CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 0 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } 1 -> { @@ -281,10 +284,12 @@ class TaxiPassengerBaseFragment() : showOrHide(false,"显示启动自动驾驶") } chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,1) + CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 1 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } 2 -> { chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2) + CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 2 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } 3 -> { @@ -294,6 +299,7 @@ class TaxiPassengerBaseFragment() : CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) } else ->{ + CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 3 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } } From 297c4b5ec00c4e9f476f2919fb2c1e0b95fc690f Mon Sep 17 00:00:00 2001 From: EmArrow Date: Mon, 14 Oct 2024 17:10:06 +0800 Subject: [PATCH 29/34] [6.6.2] fix bug of taxibase visible problem --- .../och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index e94c2e7296..e0ce2ceafd 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -134,7 +134,6 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.OVERMAPVIEW -> { - CallerLogger.d("$M_TAXI_P$TAG","SelectView OVERMAPVIEW trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.VISIBLE mapBizView.visibility = View.GONE @@ -151,7 +150,6 @@ class TaxiPassengerBaseFragment() : CallerHmiManager.showTurnLightView() } BottomBar.SelectView.VIDEO -> { - CallerLogger.d("$M_TAXI_P$TAG","SelectView VIDEO trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) overMapView.visibility = View.GONE mapBizView.visibility = View.GONE @@ -276,7 +274,6 @@ class TaxiPassengerBaseFragment() : } bottom.setBagVisable(BottomBar.SelectView.OVERMAPVIEW,View.VISIBLE) chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,0) - CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 0 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } 1 -> { @@ -284,13 +281,11 @@ class TaxiPassengerBaseFragment() : showOrHide(false,"显示启动自动驾驶") } chekAndStartAutopilotView.aniCheckAndStartAutopilot(true,1) - CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 1 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } 2 -> { chekAndStartAutopilotView.aniCheckAndStartAutopilot(false,2) - CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 2 trigger gone") - CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) + CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) } 3 -> { chekAndStartAutopilotView.visibility = View.GONE @@ -299,7 +294,6 @@ class TaxiPassengerBaseFragment() : CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.VISIBLE) } else ->{ - CallerLogger.d("$M_TAXI_P$TAG","showOrHideCheckAndStartAutopilotView status 3 trigger gone") CallerHmiViewControlListenerManager.invokeMainPageViewVisible(View.GONE) } } From 2f06ddb7625ab7484d37ee1cef4a3482c9533e1b Mon Sep 17 00:00:00 2001 From: EmArrow Date: Tue, 15 Oct 2024 14:55:32 +0800 Subject: [PATCH 30/34] [6.6.2] fxi bug --- .../mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 48189f2db3..757449289e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -1142,7 +1142,6 @@ internal class SOPSettingView @JvmOverloads constructor( //纯路侧模式 rgFusionMode.check(R.id.rbPureRoad) } - else -> rgFusionMode.clearCheck() } } } \ No newline at end of file From c63fc2d757f2136edaf6ff16e7a88a2d0b0915d8 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 17 Oct 2024 18:11:11 +0800 Subject: [PATCH 31/34] [6.7.0] merge 6.6.4 and replace sop setting to new ,plus fix bug --- .../core/function/hmi/ui/operate/OperatePanelLayout.kt | 10 +++++----- .../core/function/hmi/ui/setting/SOPSettingView.kt | 2 +- .../com/mogo/eagle/core/data/config/HmiBuildConfig.kt | 2 +- .../CallerAutopilotStatisticsListenerManager.kt | 8 ++++---- .../src/main/res/values/operate_panel_config.xml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 123205064d..10ecd893d6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -426,6 +426,11 @@ class OperatePanelLayout : LinearLayout { KEY_V2I_TO_PNC -> { val isChecked = newValue as? Boolean ?: false FunctionBuildConfig.v2iToPNC = isChecked + FunctionBuildConfig.isFusionColor = isChecked //6.6.2版本基于运营需求-产品设计-v2i进pnc,感知目标颜色替换 + FunctionBuildConfig.fusionMode = 2 + CallerAutoPilotControlManager.sendFusionMode(2) + CallerHmiViewControlListenerManager.invokeFuncMode(IViewControlListener.FUNC_FUSION_COLOR,isChecked) + CallerAutoPilotControlManager.sendV2iToPncCmd(isChecked) hmiAction("V2I场景进PNC, ", isChecked) clickEventAnalytics("V2I场景进PNC", isChecked) @@ -980,7 +985,6 @@ class OperatePanelLayout : LinearLayout { when(adasParam.fusionMode) { 1 -> { //全融合模式 - FunctionBuildConfig.fusionMode = 1 prevCheckedKeyForFusionMode?.takeIf { it != KEY_ALL_MERGE_MODE }?.let { preferenceScreen.findPreferenceReal(it) }?.also { @@ -994,7 +998,6 @@ class OperatePanelLayout : LinearLayout { } 2 -> { //盲区模式 - FunctionBuildConfig.fusionMode = 2 prevCheckedKeyForFusionMode?.takeIf { it != KEY_BLIND_AREA_MODE }?.let { preferenceScreen.findPreferenceReal(it) }?.also { @@ -1008,7 +1011,6 @@ class OperatePanelLayout : LinearLayout { } 3 -> { //超视距模式 - FunctionBuildConfig.fusionMode = 3 prevCheckedKeyForFusionMode?.takeIf { it != KEY_BEYOND_VISUAL_RANGE_MODE }?.let { preferenceScreen.findPreferenceReal(it) }?.also { @@ -1022,7 +1024,6 @@ class OperatePanelLayout : LinearLayout { } 4 -> { //透传模式 - FunctionBuildConfig.fusionMode = 4 prevCheckedKeyForFusionMode?.takeIf { it != KEY_TRANSPARENT_TRANSFER_MODE }?.let { preferenceScreen.findPreferenceReal(it) }?.also { @@ -1036,7 +1037,6 @@ class OperatePanelLayout : LinearLayout { } 5 -> { //纯路侧模式 - FunctionBuildConfig.fusionMode = 5 prevCheckedKeyForFusionMode?.takeIf { it != KEY_PURE_OBU_MODE }?.let { preferenceScreen.findPreferenceReal(it) }?.also { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index 757449289e..4f4ebaf05e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -251,7 +251,7 @@ internal class SOPSettingView @JvmOverloads constructor( if (isChecked) { //V2I场景进PNC scV2iPnc.isChecked = FunctionBuildConfig.v2iToPNC - if(FunctionBuildConfig.isV2IPnc){ + if(FunctionBuildConfig.v2iToPNC){ FunctionBuildConfig.isFusionColor = true //6.6.2版本基于运营需求-产品设计-开启v2i进pnc,开启感知目标颜色替换 } hmiAction("SOP V2I场景进PNC, ", FunctionBuildConfig.v2iToPNC) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt index 30abf04f9c..d50c3ea8f1 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/HmiBuildConfig.kt @@ -70,7 +70,7 @@ object HmiBuildConfig { /** * 是否展示obu的v2i - * //6.6.2版本根据运营需求-产品设计默认开启 + * 6.6.2版本根据运营需求-产品设计默认开启 */ @JvmField @Volatile diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotStatisticsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotStatisticsListenerManager.kt index 73e0bf99da..d75d089b5b 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotStatisticsListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotStatisticsListenerManager.kt @@ -30,10 +30,10 @@ object CallerAutopilotStatisticsListenerManager : CallerBasefalse - false + true false From b94746465e81d3126f3d823acdba7feef89d6000 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 17 Oct 2024 18:31:12 +0800 Subject: [PATCH 32/34] [6.7.0] add toast in pad update failed --- .../upgrade/provider/MoGoUpgradeProviderImpl.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt index af3d343a5c..23a9d8dac7 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt @@ -2,6 +2,7 @@ package com.zhjt.mogo_core_function_devatools.upgrade.provider import android.content.* import android.content.pm.PackageInstaller +import android.widget.Toast import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.chain.* @@ -58,6 +59,9 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { } override suspend fun recordUpgradeRequestFailed(error: String) { + if(error.isNotEmpty()){ + ToastUtils.showShort(error) + } UpgradeDbHelper.insertCheckRecord(CheckRecord(AppUtils.getAppVersionName(), FAIL, error, time = System.currentTimeMillis())) try { onUpgradeRecordLinkLog(mapOf("upgrade_request_failed" to error)) From ec8ed0a128683fb35c81457a1c8e4fa126625bb2 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 17 Oct 2024 18:43:15 +0800 Subject: [PATCH 33/34] [6.7.0] update msg --- .../upgrade/UpgradeAppNetWorkManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 3cf59615e9..990f2f95e6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -106,7 +106,7 @@ class UpgradeAppNetWorkManager private constructor() { provider?.recordUpgradeRequestSuccess(GsonUtils.toJson(info)) doUpgrade(info) } else { - provider?.recordUpgradeRequestFailed(GsonUtils.toJson(info)) + provider?.recordUpgradeRequestFailed(info.msg) } } catch (t: Throwable) { t.printStackTrace() From c74493fa7326441a074371ad2b90b63a47d7642d Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 17 Oct 2024 18:44:35 +0800 Subject: [PATCH 34/34] [6.7.0] log --- .../upgrade/UpgradeAppNetWorkManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 990f2f95e6..e5b88d305e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -106,7 +106,7 @@ class UpgradeAppNetWorkManager private constructor() { provider?.recordUpgradeRequestSuccess(GsonUtils.toJson(info)) doUpgrade(info) } else { - provider?.recordUpgradeRequestFailed(info.msg) + provider?.recordUpgradeRequestFailed(info.msg?:"请检查升级服务日志") } } catch (t: Throwable) { t.printStackTrace()