From 610b42344978e0a81d80093b68ca869b57e224d9 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 20 Sep 2023 11:49:12 +0800 Subject: [PATCH 01/10] =?UTF-8?q?[6.1.0]=20[charter]=20[=E5=8C=85=E8=BD=A6?= =?UTF-8?q?=E6=8E=89=E5=A4=B4=E6=8F=90=E7=A4=BA+=E6=B3=A8=E9=87=8A]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/charter/manager/CharterTrajectoryManager.kt | 12 +++++++++++- .../charter/passenger/model/CharterPassengerModel.kt | 9 +++++++++ .../charter/passenger/ui/itinerary/ItineraryView.kt | 3 +++ .../charter/passenger/ui/orderinfo/OrderInfoView.kt | 3 +++ .../passenger/ui/selectline/SelectLineView.kt | 3 +++ .../passenger/ui/softcontrol/SoftControlView.kt | 3 +++ .../src/main/res/layout/m1_main_fragment.xml | 10 +++++++++- 7 files changed, 41 insertions(+), 2 deletions(-) diff --git a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt index 0d13cced28..125fa0cf16 100644 --- a/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt +++ b/OCH/charter/driver/src/driverm1/java/com/magic/mogo/och/charter/manager/CharterTrajectoryManager.kt @@ -87,7 +87,17 @@ object CharterTrajectoryManager { // 5. 轨迹管理_轨迹下载超时 d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() 轨迹下载超时") // ToastUtils.showShort("轨迹下载超时"); - } else if ("ISSM_FUNC_AUTO_PILOT_READY" == guardianInfo.getCode()) { + } else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) { + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.OPERATION, + OperationMsg( + System.currentTimeMillis(), "请尽快操作车辆至适当位置掉头!", -1 + ) + ) + ) + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.startautopilot) + } else if ("EMAP_ATTITUDE_INIT_FAILED" == guardianInfo.getCode()) { // 收到ssm的自动驾驶变为ready,再次下发轨迹下载.解决:域控重启,或者102域控启动太早,107节点初始化未完成导致的轨迹未进行下载。 d(SceneConstant.M_CHARTER_D + TAG, "onAutopilotGuardian() ssm ready,再次发起下载") syncTrajectoryInfo(get().getBusOrderResult()?.lineId!!, diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt index ab2d27edf2..4af2a9cfb8 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/model/CharterPassengerModel.kt @@ -53,6 +53,7 @@ import io.reactivex.Observable import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers import mogo.telematics.pad.MessagePad +import mogo_msg.MogoReportMsg import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.TimeUnit @@ -197,6 +198,14 @@ object CharterPassengerModel { d(M_BUS_P + TAG, "底盘给到站信息") arriveDest() } + override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { + super.onAutopilotGuardian(guardianInfo) + guardianInfo?.let { + if (it.code=="IMAP_TRA_LOADED") { + ToastCharterUtils.showToastShort("请等待车辆完成掉头后再出发吧~") + } + } + } } /** diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt index 26238e72e9..e362613f11 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/itinerary/ItineraryView.kt @@ -13,6 +13,9 @@ import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_distance_surplus import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_distance_unit import kotlinx.android.synthetic.main.m1_itinerary_info.view.tv_speed +/** + * 速度、剩余时间、剩余距离和到达时间 + */ class ItineraryView : ConstraintLayout, ItineraryViewModel.ItineraryViewCallback { private val TAG = "ItineraryView" diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt index 78b4af73ff..a9816bf408 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/orderinfo/OrderInfoView.kt @@ -19,6 +19,9 @@ import kotlinx.android.synthetic.main.m1_devices_fragment.view.actv_order_times import kotlinx.android.synthetic.main.m1_devices_fragment.view.cl_order_info import kotlinx.android.synthetic.main.m1_devices_fragment.view.cl_order_info_endorder_comfit +/** + * 剩余时间和结束订单入口 + */ class OrderInfoView : ConstraintLayout, OrderInfoViewModel.ItineraryViewCallback { private val TAG = "OrderInfoView" diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt index d9fa7178c1..5620c12797 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/selectline/SelectLineView.kt @@ -41,6 +41,9 @@ import kotlinx.android.synthetic.main.m1_order_loading.view.iv_loading_wait_ent import me.jessyan.autosize.utils.AutoSizeUtils import org.greenrobot.eventbus.EventBus +/** + * 选择线路 + */ class SelectLineView : ConstraintLayout, SelectLineViewModel.SelectLineViewCallback { private val TAG = "OrderInfoView" diff --git a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt index c071ba0680..46acd5e9fe 100644 --- a/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt +++ b/OCH/charter/passenger/src/main/java/com/mogo/och/charter/passenger/ui/softcontrol/SoftControlView.kt @@ -72,6 +72,9 @@ import kotlinx.android.synthetic.main.m1_soft_fragment.view.tv_temperature_title import me.jessyan.autosize.utils.AutoSizeUtils import java.util.concurrent.TimeUnit +/** + * 空调、暖风机、声音控制 + */ class SoftControlView : ConstraintLayout, SoftControlViewModel.SoftControlCallback { private val TAG = "OrderInfoView" diff --git a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml index 3515c4025c..61b135e866 100644 --- a/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml +++ b/OCH/charter/passenger/src/main/res/layout/m1_main_fragment.xml @@ -90,12 +90,14 @@ app:layout_constraintEnd_toEndOf="@+id/viewBusPM1MsgBoxButton" app:layout_constraintTop_toBottomOf="@+id/viewBusPM1MsgBoxButton" /> + + + + + - + + + + Date: Wed, 20 Sep 2023 11:52:19 +0800 Subject: [PATCH 02/10] =?UTF-8?q?[6.1.0][Opt=E6=96=B0=E5=A2=9E=E5=B9=B3?= =?UTF-8?q?=E8=A1=8C=E9=A9=BE=E9=A9=B6=E8=AF=B7=E6=B1=82=E4=B8=AD=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/widget/ParallelDriveView.kt | 46 ++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt index 0d5c9d93b4..79b85ef6d7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ParallelDriveView.kt @@ -1,16 +1,18 @@ package com.mogo.eagle.core.function.hmi.ui.widget +import android.animation.ObjectAnimator +import android.animation.ValueAnimator import android.annotation.SuppressLint import android.content.Context import android.graphics.Color import android.util.AttributeSet import android.view.LayoutInflater +import android.view.animation.LinearInterpolator import android.widget.ImageView import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.commons.voice.AIAssist -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingActionsListener import com.mogo.eagle.core.function.api.autopilot.IMoGoParallelDrivingStatusListener @@ -22,7 +24,6 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.zhjt.mogo.adas.data.bean.UnableLaunchReason -import com.zhjt.mogo.adas.data.bean.UnableLaunchReason.SourceType import mogo.yycp.paralleldriving.protocol.ParallelDrivingRequest.ParallelRequest import mogo.yycp.paralleldriving.protocol.ParallelTaskProcessNoticeOuterClass @@ -50,6 +51,7 @@ class ParallelDriveView @JvmOverloads constructor( //1:ready, 2:自动驾驶中, 7:平行驾驶中 @Volatile private var autopilotState: Int = 1 + @Volatile private var isAutoDriving: Boolean = false @@ -60,6 +62,7 @@ class ParallelDriveView @JvmOverloads constructor( private lateinit var statusIcon: ImageView private lateinit var statusTitle: TextView private var listener: ClickEventListener? = null + private var animator: ObjectAnimator? = null init { LayoutInflater.from(context).inflate(R.layout.view_parallel_drive, this, true) @@ -115,11 +118,13 @@ class ParallelDriveView @JvmOverloads constructor( }, ThreadUtils.MODE.QUEUE) } } + 2 -> { if (this.autopilotState != state) { isAutoDriving = true } } + else -> { if (this.autopilotState != state) { isAutoDriving = false @@ -161,30 +166,37 @@ class ParallelDriveView @JvmOverloads constructor( state = SYNCHRONIZING updateUI(SYNCHRONIZING) } + "EXCEPTION_EXIT_SYNC" -> {// 同步异常结束 state = ONE_EXCEPTION updateUI(ONE_EXCEPTION) } + "TASK_REJECTED" -> {// 任务已被拒绝 state = FAILURE updateUI(FAILURE) AIAssist.getInstance(context).speakTTSVoice("请求已被拒绝") } + "PARALLEL_EXCEPTION_MANUAL_DRIVING" -> {// 异常请人工驾驶 state = TWO_EXCEPTION updateUI(TWO_EXCEPTION) } + "EXCEPTION_EXIT_PARALLEL_DRIVING" -> {// 平行驾驶异常结束 state = ONE_EXCEPTION updateUI(ONE_EXCEPTION) } + "EXIT_SYNC" -> {// 同步结束 checkAvailableAndUpdateUI() } + "UNABLE_TAKEOVER" -> {// 无法接管 state = ONE_EXCEPTION updateUI(ONE_EXCEPTION) } + "VEHICLE_IN_TROUBLE_PARALLEL_REQUESTED" -> {// 车辆遇困请求平行驾驶 state = AD_REQUESTING updateUI(AD_REQUESTING) @@ -198,6 +210,7 @@ class ParallelDriveView @JvmOverloads constructor( private fun updateUI(state: Int) { when (state) { 0 -> { + stopRotateAnimation() rootLayout.isEnabled = true rootLayout.alpha = 1f statusIcon.background = @@ -215,6 +228,7 @@ class ParallelDriveView @JvmOverloads constructor( resources.getDrawable(R.drawable.icon_para_requesting, null) statusTitle.setTextColor(Color.parseColor("#FFFFFF")) statusIcon.alpha = 1f + startRotateAnimation() statusTitle.text = context.getString(R.string.parallel_drive_requesting) rootLayout.background = resources.getDrawable(R.drawable.bg_auto_pilot, null) } @@ -226,11 +240,13 @@ class ParallelDriveView @JvmOverloads constructor( resources.getDrawable(R.drawable.icon_para_requesting, null) statusTitle.setTextColor(Color.parseColor("#FFFFFF")) statusIcon.alpha = 1f + startRotateAnimation() statusTitle.text = context.getString(R.string.parallel_drive_requesting) rootLayout.background = resources.getDrawable(R.drawable.bg_auto_pilot, null) } SYNCHRONIZING -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 1f statusIcon.background = @@ -242,6 +258,7 @@ class ParallelDriveView @JvmOverloads constructor( } PARALLEL_DRIVING -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 1f statusIcon.background = @@ -254,6 +271,7 @@ class ParallelDriveView @JvmOverloads constructor( } FAILURE -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 1f rootLayout.postDelayed({ @@ -268,6 +286,7 @@ class ParallelDriveView @JvmOverloads constructor( } ONE_EXCEPTION -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 1f rootLayout.postDelayed({ @@ -282,6 +301,7 @@ class ParallelDriveView @JvmOverloads constructor( } TWO_EXCEPTION -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 1f rootLayout.postDelayed({ @@ -296,6 +316,7 @@ class ParallelDriveView @JvmOverloads constructor( } UNAVAILABLE -> { + stopRotateAnimation() rootLayout.isEnabled = false rootLayout.alpha = 0.4f statusIcon.background = @@ -351,6 +372,27 @@ class ParallelDriveView @JvmOverloads constructor( } } + @SuppressLint("Recycle") + private fun startRotateAnimation() { + if (animator == null) { + animator = ObjectAnimator.ofFloat(statusIcon, "rotation", 0f, 360f).apply { + duration = 1500 + repeatMode = ValueAnimator.RESTART + repeatCount = ValueAnimator.INFINITE + interpolator = LinearInterpolator() + } + } + animator?.start() + } + + private fun stopRotateAnimation() { + animator?.let { + if (it.isRunning) { + it.cancel() + } + } + } + override fun onDetachedFromWindow() { super.onDetachedFromWindow() CallerAutoPilotStatusListenerManager.removeListener(TAG) From d694732689d3e668261110e1544c454764d50f5a Mon Sep 17 00:00:00 2001 From: aibingbing Date: Wed, 20 Sep 2023 12:49:25 +0800 Subject: [PATCH 03/10] =?UTF-8?q?[6.1.0]=20fix:=20=E4=BF=AE=E5=A4=8DSweepe?= =?UTF-8?q?rCloud=E7=9A=84=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/sweepercloud/fragment/BaseSweeperTabFragment.java | 4 ++-- .../com/mogo/och/sweepercloud/fragment/SweeperFragment.kt | 6 +++--- .../mogo/och/sweepercloud/presenter/SweeperPresenter.java | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java index b7cdb653fd..360cc70e59 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java +++ b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java @@ -48,7 +48,7 @@ import com.mogo.och.sweepercloud.util.AutopilotModeConfigManager; import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils; import com.mogo.och.sweepercloud.view.SweeperTrafficDataView; import com.mogo.och.sweepercloud.view.WeltSmallMapView; -import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask; +import com.zhjt.mogo.adas.data.AiCloudTask; import java.math.BigDecimal; import java.math.RoundingMode; @@ -183,7 +183,7 @@ public abstract class BaseSweeperTabFragment { - SweeperCloudTaskUtils.mockSendCloudTaskInfo(SweeperCloudTask.MessageType.CloudPushTask); + SweeperCloudTaskUtils.mockSendCloudTaskInfo(AiCloudTask.MessageType.CloudPushTask); UiThreadHandler.postDelayed(() -> { debugEndSubTask(); }, 5000); diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt index 361c88dcbe..a1449db700 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt +++ b/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/SweeperFragment.kt @@ -34,7 +34,7 @@ import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskRes import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.createSweeperTaskSuspendDialog import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils.printMessage import com.mogo.och.sweepercloud.view.SweeperCurrentTaskInfoView -import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask +import com.zhjt.mogo.adas.data.AiCloudTask import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.TaskStatus @@ -204,7 +204,7 @@ class SweeperFragment : BaseSweeperTabFragment } @Override - public void onSweeperCloudTask(@NonNull SweeperCloudTask.MessageType messageType, SweeperTask.TaskInfo taskInfo) { + public void onSweeperCloudTask(@NonNull AiCloudTask.MessageType messageType, SweeperTask.TaskInfo taskInfo) { ThreadUtils.runOnUiThread(() -> mView.onSweeperCloudTask(messageType, taskInfo)); } @@ -210,7 +210,7 @@ public class SweeperPresenter extends Presenter } @Override - public void onSweeperCloudTaskSuspendResume(@NonNull SweeperCloudTask.MessageType messageType, @NonNull String taskId, + public void onSweeperCloudTaskSuspendResume(@NonNull AiCloudTask.MessageType messageType, @NonNull String taskId, @NonNull String subTaskId, SweeperCommon.Code code) { } From 9b9d01bac9704bcf267e250387a976a2dbc54fc5 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Wed, 20 Sep 2023 14:33:18 +0800 Subject: [PATCH 04/10] =?UTF-8?q?[610]=E4=B8=B4=E6=97=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=9F=A5=E6=89=BE=E5=88=B9=E8=BD=A6=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datacenter/autopilot/adapter/MoGoAdasListenerImpl.kt | 7 +++++++ .../autopilot/CallerAutopilotActionsListenerManager.kt | 7 +++++++ 2 files changed, 14 insertions(+) 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 62d5defef4..65d5554a51 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 @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.datacenter.autopilot.adapter +import android.util.Log import bag_manager.BagManagerOuterClass import chassis.ChassisStatesOuterClass import chassis.VehicleStateOuterClass @@ -163,6 +164,9 @@ class MoGoAdasListenerImpl : OnAdasListener { vehicleState: VehicleStateOuterClass.VehicleState? ) { if (vehicleState != null) { + Log.i( + "xfk", + "底盘 onVehicleState 刹车=${vehicleState.brake}") //转向灯数据 CallerChassisLamplightListenerManager.invokeAutopilotLightSwitchData(vehicleState.light) //刹车灯数据 @@ -252,6 +256,9 @@ class MoGoAdasListenerImpl : OnAdasListener { CallerChassisThrottleStateListenerManager.invokeAutopilotThrottle(it.throttleResponsePosition) } chassisStates.brakeSystemStates?.let { + Log.i( + "xfk", + "底盘 onVehicleState 刹车=${it.brakePedalResponsePosition}") //刹车 CallerChassisBrakeStateListenerManager.invokeAutopilotBrake(it.brakePedalResponsePosition) } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt index eaca9a41c3..a5ee26bf19 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotActionsListenerManager.kt @@ -1,5 +1,6 @@ package com.mogo.eagle.core.function.call.autopilot +import android.util.Log import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotActionsListener import com.mogo.eagle.core.function.call.base.CallerBase import com.zhjt.mogo.adas.data.bean.UnableLaunchReason @@ -61,6 +62,9 @@ object CallerAutopilotActionsListenerManager : CallerBase? ) { + Log.i( + "xfk", + "CallerAutopilotActionsListenerManager invokeAutopilotAbility=${CallerAutopilotActionsListenerManager.isAutopilotAbility} ${(if (CallerAutopilotActionsListenerManager.unableAutopilotReasons == null) null else CallerAutopilotActionsListenerManager.unableAutopilotReasons.toString())}") if (isConnected) { var isEquals: Boolean = true if (unableAutopilotReasons != null && this.unableAutopilotReasons != null) { @@ -91,6 +95,9 @@ object CallerAutopilotActionsListenerManager : CallerBase Date: Wed, 20 Sep 2023 15:46:00 +0800 Subject: [PATCH 05/10] =?UTF-8?q?[6.1.0]HdMap=E7=89=88=E6=9C=AC=E6=88=AA?= =?UTF-8?q?=E5=8F=96=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/widget/SystemVersionView.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt index 4847403169..5b6894a352 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.hmi.ui.widget import android.content.Context import android.util.AttributeSet +import android.util.Log import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout @@ -375,9 +376,13 @@ class SystemVersionView @JvmOverloads constructor( * HQ、M1 MAP350开始弃用,其他车型MAP360开始弃用 */ override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) { + Log.i(TAG,"hdMapVer="+status.hdMapVer) + //hdMapVer返回示例:/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改,对原609场景修改为6091、6092、6201、 6202四种细分场景,并对通往园区路口改为619 if(status.hdMapVer!= null && status.hdMapVer.isNotEmpty()){ //对地图版本进行截取 - AppConfigInfo.adHdMapVersion = status.hdMapVer.substringAfter("/hadmap_data/").substringBefore(".sqlite") + val city = status.hdMapVer.substringAfter(".sqlite|").substringBefore("|") + val version =status.hdMapVer.substringAfter("$city|").substringBefore("|") + AppConfigInfo.adHdMapVersion = "${city}_${version}" updateAdHdMapVersion() } @@ -390,9 +395,13 @@ class SystemVersionView @JvmOverloads constructor( * @param statusInf 数据 */ override fun onSystemStatus(statusInf: SsmInfo.SsmStatusInf) { + Log.i(TAG,"hdMapVer="+statusInf.hdMapVer) + //hdMapVer返回示例:/home/mogo/autopilot/share/hadmap_engine/data/hadmap_data/db.sqlite|bj|2.2.7|对bus路线上的junction进行修改,对原609场景修改为6091、6092、6201、 6202四种细分场景,并对通往园区路口改为619 if(statusInf.hdMapVer!= null && statusInf.hdMapVer.isNotEmpty()){ //对地图版本进行截取 - AppConfigInfo.adHdMapVersion = statusInf.hdMapVer.substringAfter("/hadmap_data/").substringBefore(".sqlite") + val city = statusInf.hdMapVer.substringAfter(".sqlite|").substringBefore("|") + val version =statusInf.hdMapVer.substringAfter("$city|").substringBefore("|") + AppConfigInfo.adHdMapVersion = "${city}_${version}" updateAdHdMapVersion() } } From 09480f51628e0622efe6f0415f11376406d24260 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 20 Sep 2023 15:52:19 +0800 Subject: [PATCH 06/10] =?UTF-8?q?[6.1.0]=20=E6=A0=B9=E6=8D=AE=E8=87=AA?= =?UTF-8?q?=E9=A9=BE=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96=E6=89=8D=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=9A=84=E9=80=BB=E8=BE=91,=20=E5=8E=BB=E9=99=A4preAu?= =?UTF-8?q?topilotStatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/taxi/presenter/TaxiPresenter.java | 10 +--------- .../mogo/och/taxi/ui/BaseTaxiTabFragment.java | 16 ++-------------- .../mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt | 10 ++-------- .../com/mogo/och/taxi/ui/base/TaxiPresenter.java | 12 ++---------- 4 files changed, 7 insertions(+), 41 deletions(-) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index 112190771e..960428b09d 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -48,8 +48,6 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS private static final String TAG = TaxiPresenter.class.getSimpleName(); - private int preAutopilotStatus = 0; - public TaxiPresenter(TaxiFragment view) { super(view); TaxiModel.getInstance().init(AbsMogoApplication.getApp()); @@ -192,30 +190,24 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS public void onAutopilotEnable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE; } @Override public void onAutopilotDisable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE; } @Override public void onAutopilotRunning() { - if (preAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ - runOnUIThread(() -> mView.updateAutopilotStatus( + runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); - } - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; } @Override public void onManMachineCoDriving() { runOnUIThread(() -> mView.onManMachineCoDriving(IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING; } @Override diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 8f34ee8a99..2052aee8c9 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -331,21 +331,13 @@ public abstract class BaseTaxiTabFragment { if (isStarting && IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != status) { // 1. 主动开启自动驾驶中,不为2(为0、1)则继续loading return; } - if (isStarting && IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status - && mPrevAPStatus != status) { + if (isStarting && IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) { // 2. 主动开启自动驾驶中,为2则停止loading,并isStarting = false startAutopilotDone(true); return; @@ -353,7 +345,6 @@ public abstract class BaseTaxiTabFragment> : MvpFragment> : MvpFragment> : MvpFragment> : MvpFragment implements ITaxiADASS private static final String TAG = TaxiPresenter.class.getSimpleName(); - private int preAutopilotStatus = 0; - public TaxiPresenter(TaxiFragment view) { super(view); TaxiTaskModel.INSTANCE.init(); @@ -103,29 +101,23 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS public void onAutopilotEnable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE; } @Override public void onAutopilotDisable() { runOnUIThread(() -> mView.updateAutopilotStatus( IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE; } @Override public void onAutopilotRunning() { - if (preAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { - runOnUIThread(() -> mView.updateAutopilotStatus( - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); - } - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING; + runOnUIThread(() -> mView.updateAutopilotStatus( + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING)); } @Override public void onParallelDrivingStatus() { runOnUIThread(() -> mView.onParallelDrivingStatus(IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING)); - preAutopilotStatus = IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING; } @Override From 8267f81cde4527259190bb727302b479fb3d07dd Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 20 Sep 2023 18:00:46 +0800 Subject: [PATCH 07/10] =?UTF-8?q?[6.1.0]=E8=BF=90=E8=90=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E8=B0=83=E8=AF=95=E9=9D=A2=E6=9D=BF=E7=9A=84=E7=BE=8E?= =?UTF-8?q?=E5=8C=96=E3=80=81=E9=9B=A8=E5=A4=A9=E3=80=81=E7=82=B9=E4=BA=91?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=8A=B6=E6=80=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/setting/DebugSettingView.kt | 62 ++++++++++++++----- .../function/hmi/ui/setting/SOPSettingView.kt | 39 +++++++++++- .../api/setting/ISopSettingListener.kt | 23 +++++++ .../call/setting/CallerSopSettingManager.kt | 41 ++++++++++++ 4 files changed, 145 insertions(+), 20 deletions(-) create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/setting/ISopSettingListener.kt create mode 100644 core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/setting/CallerSopSettingManager.kt 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 ca1967a41d..fe2fd33d5c 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 @@ -51,6 +51,7 @@ import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListen import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuConnectListener import com.mogo.eagle.core.function.api.datacenter.obu.IMoGoObuInfoListener +import com.mogo.eagle.core.function.api.setting.ISopSettingListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsFuncConfigListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager @@ -60,6 +61,7 @@ import com.mogo.eagle.core.function.call.obu.CallerObuApiManager import com.mogo.eagle.core.function.call.obu.CallerObuConnectListenerManager import com.mogo.eagle.core.function.call.obu.CallerObuInfoListenerManager import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager +import com.mogo.eagle.core.function.call.setting.CallerSopSettingManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.logcatch.ILogViewListener @@ -118,7 +120,8 @@ internal class DebugSettingView @JvmOverloads constructor( IMoGoChassisBrakeStateListener, IMoGoChassisThrottleStateListener, IMoGoSweeperFutianCleanSystemListener, - IMoGoObuInfoListener { + IMoGoObuInfoListener, + ISopSettingListener { private val TAG = "DebugSettingView" @@ -227,6 +230,8 @@ internal class DebugSettingView @JvmOverloads constructor( CallerDevaToolsListenerManager.addListener(TAG, this) //添加 底盘灯光数据 监听 CallerChassisLamplightListenerManager.addListener(TAG, this) + //雨天、美化、点云设置同步 + CallerSopSettingManager.addListener(TAG,this) //添加 业务配置监听 CallerDevaToolsFuncConfigListenerManager.registerDevaToolsFuncConfigListener( @@ -274,6 +279,8 @@ internal class DebugSettingView @JvmOverloads constructor( CallerChassisLamplightListenerManager.removeListener(TAG) // 移除 obu获取信息 监听 CallerObuInfoListenerManager.removeListener(TAG) + //雨天、美化、点云设置同步 + CallerSopSettingManager.removeListener(TAG) // 移除 业务配置监听 CallerDevaToolsFuncConfigListenerManager.unRegisterDevaToolsFuncConfigListener( @@ -685,11 +692,14 @@ internal class DebugSettingView @JvmOverloads constructor( // 演示模式,上一次勾选的数据 tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode - // 演示模式 - tbIsDemoMode.setOnCheckedChangeListener { _, _ -> + tbIsDemoMode.setOnCheckedChangeListener { compoundButton, isChecked -> + if(!compoundButton.isPressed){ + return@setOnCheckedChangeListener + } FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode CallerAutoPilotControlManager.setDemoMode(FunctionBuildConfig.isDemoMode) + CallerSopSettingManager.invokeDemoModeListener(isChecked) if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机 CallerAutoPilotControlManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode) @@ -720,9 +730,13 @@ internal class DebugSettingView @JvmOverloads constructor( // 雨天模式,上一次勾选的数据 tbIsRainMode.isChecked = FunctionBuildConfig.isRainMode //雨天模式 - tbIsRainMode.setOnCheckedChangeListener { _, isChecked -> + tbIsRainMode.setOnCheckedChangeListener { compoundButton, isChecked -> + if(!compoundButton.isPressed){ + return@setOnCheckedChangeListener + } CallerAutoPilotControlManager.setRainMode(isChecked) FunctionBuildConfig.isRainMode = isChecked + CallerSopSettingManager.invokeRainModeListener(isChecked) } //雨天模式按钮只在司机屏生效,乘客屏不显示 if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { @@ -840,10 +854,14 @@ internal class DebugSettingView @JvmOverloads constructor( //初始化点云数据渲染情况 tbDrawPointCloudData.isChecked = FunctionBuildConfig.isDrawPointCloudData //是否渲染点云数据 - tbDrawPointCloudData.setOnCheckedChangeListener { _, isChecked -> + tbDrawPointCloudData.setOnCheckedChangeListener { compoundButton, isChecked -> + if(!compoundButton.isPressed){ + return@setOnCheckedChangeListener + } CallerAutoPilotControlManager.setIsDrawPointCloud(isChecked) FunctionBuildConfig.isDrawPointCloudData = isChecked CallerMapUIServiceManager.getMapUIController()?.setIsDrawPointCloud(isChecked) + CallerSopSettingManager.invokePointCloudListener(isChecked) } //设置点云大小 @@ -1721,18 +1739,6 @@ internal class DebugSettingView @JvmOverloads constructor( mTrajectoryInfoSize = 0 mRouteInfoSize = 0 - if (FunctionBuildConfig.isDemoMode) { - tbIsDemoMode?.text = "关闭美化模式" - } else { - tbIsDemoMode?.text = "开启美化模式" - } - - if(FunctionBuildConfig.isRainMode){ - tbIsRainMode?.text = "关闭雨天模式" - } else { - tbIsRainMode?.text = "开启雨天模式" - } - obuConnectStatusTv.text = Html.fromHtml( "OBU连接状态:${ if (AppConfigInfo.isConnectObu) { @@ -2181,4 +2187,26 @@ internal class DebugSettingView @JvmOverloads constructor( } } } + + /** + * 美化模式 + */ + override fun onDemoModeClickEvent(status: Boolean) { + tbIsDemoMode.isChecked = status + } + + /** + * 雨天模式 + */ + override fun onRainModeClickEvent(status: Boolean) { + tbIsRainMode.isChecked = status + } + + /** + * 点云模式 + */ + override fun onPointCloudClickEvent(status: Boolean) { + tbDrawPointCloudData.isChecked = status + } + } \ 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/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 66602b194a..e530ef6e2c 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 @@ -18,6 +18,7 @@ import com.mogo.eagle.core.function.api.devatools.mofang.* import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener 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 import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotGetParamResponseDispatcher import com.mogo.eagle.core.function.call.devatools.* @@ -26,6 +27,7 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.obu.CallerObuApiManager +import com.mogo.eagle.core.function.call.setting.CallerSopSettingManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils @@ -45,7 +47,7 @@ internal class SOPSettingView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoDevaToolsFuncConfigListener, IViewControlListener, IMoGoMoFangProvider.OnMoFangStatusListener, - IMoGoGetParamResponseListener { + IMoGoGetParamResponseListener, ISopSettingListener { companion object { const val TAG = "SOPSettingView" @@ -361,7 +363,10 @@ internal class SOPSettingView @JvmOverloads constructor( //初始化点云数据渲染情况 scDrawPointCloudData.isChecked = FunctionBuildConfig.isDrawPointCloudData //是否渲染点云数据 - scDrawPointCloudData.setOnCheckedChangeListener { _, isChecked -> + scDrawPointCloudData.setOnCheckedChangeListener { compoundButton, isChecked -> + if(!compoundButton.isPressed){ + return@setOnCheckedChangeListener + } //打开点云效果时,如果自车光圈是关闭状态,则自动打开自车光圈(点云是跟随光圈的 默认没有光圈就不显示点云的) if(isChecked && !FunctionBuildConfig.isDisplayAnimEnable){ scCarAperture.isChecked = true @@ -371,6 +376,7 @@ internal class SOPSettingView @JvmOverloads constructor( CallerAutoPilotControlManager.setIsDrawPointCloud(isChecked) FunctionBuildConfig.isDrawPointCloudData = isChecked CallerMapUIServiceManager.getMapUIController()?.setIsDrawPointCloud(isChecked) + CallerSopSettingManager.invokePointCloudListener(isChecked) hmiAction("SOP 是否渲染点云数据, ",isChecked) Log.i(TAG,"SOP 是否渲染点云数据, $isChecked") } @@ -403,7 +409,7 @@ internal class SOPSettingView @JvmOverloads constructor( // 演示模式,上一次勾选的数据 scDemoMode.isChecked = FunctionBuildConfig.isDemoMode - scDemoMode.setOnCheckedChangeListener { compoundButton, _ -> + scDemoMode.setOnCheckedChangeListener { compoundButton, isChecked -> if(!compoundButton.isPressed){ return@setOnCheckedChangeListener } @@ -412,6 +418,7 @@ internal class SOPSettingView @JvmOverloads constructor( FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode CallerAutoPilotControlManager.setDemoMode(FunctionBuildConfig.isDemoMode) CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_MODE_DEMO, FunctionBuildConfig.isDemoMode) + CallerSopSettingManager.invokeDemoModeListener(isChecked) if (!FunctionBuildConfig.isDemoMode) { //关闭美化模式时,通知工控机 CallerAutoPilotControlManager.setIPCDemoMode(FunctionBuildConfig.isDemoMode) @@ -433,6 +440,7 @@ internal class SOPSettingView @JvmOverloads constructor( FunctionBuildConfig.isRainMode = isChecked CallerAutoPilotControlManager.setRainMode(isChecked) CallerHmiViewControlListenerManager.invokeFuncMode(FUNC_MODE_RAIN, isChecked) + CallerSopSettingManager.invokeRainModeListener(isChecked) } //雨天模式按钮只在司机屏生效,乘客屏不显示 if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { @@ -647,6 +655,8 @@ internal class SOPSettingView @JvmOverloads constructor( CallerAutopilotGetParamResponseDispatcher.addListener(TAG, this) //查询融合模式 CallerAutoPilotControlManager.sendGetParamReq(AdasConstants.MapSystemParamType.FUSION_MODE) + //雨天、美化、点云设置同步 + CallerSopSettingManager.addListener(TAG,this) } override fun updateFuncMode(tag: String, boolean: Boolean) { @@ -666,6 +676,8 @@ internal class SOPSettingView @JvmOverloads constructor( CallerHmiViewControlListenerManager.removeListener(TAG) CallerAutopilotGetParamResponseDispatcher.removeListener(TAG) CallerDevaToolsManager.mofang()?.unRegisterMoFangStatusListener(this) + //雨天、美化、点云设置同步 + CallerSopSettingManager.removeListener(TAG) } @@ -730,6 +742,27 @@ internal class SOPSettingView @JvmOverloads constructor( override fun onMoFangStatusError(msg: String) {} + /** + * 美化模式 + */ + override fun onDemoModeClickEvent(status: Boolean) { + scDemoMode.isChecked = status + } + + /** + * 雨天模式 + */ + override fun onRainModeClickEvent(status: Boolean) { + scRainMode.isChecked = status + } + + /** + * 点云模式 + */ + override fun onPointCloudClickEvent(status: Boolean) { + scDrawPointCloudData.isChecked = status + } + /** * 工控机配置参数获取 */ diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/setting/ISopSettingListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/setting/ISopSettingListener.kt new file mode 100644 index 0000000000..7b5a5f0b25 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/setting/ISopSettingListener.kt @@ -0,0 +1,23 @@ +package com.mogo.eagle.core.function.api.setting + +/** + * 运营面板、调试面板设置事件监听回调 + */ +interface ISopSettingListener { + + /** + * 美化模式 + */ + fun onDemoModeClickEvent(status: Boolean){} + + /** + * 雨天模式 + */ + fun onRainModeClickEvent(status: Boolean){} + + /** + * 点云 + */ + fun onPointCloudClickEvent(status: Boolean){} + +} \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/setting/CallerSopSettingManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/setting/CallerSopSettingManager.kt new file mode 100644 index 0000000000..482ed60d85 --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/setting/CallerSopSettingManager.kt @@ -0,0 +1,41 @@ +package com.mogo.eagle.core.function.call.setting + +import com.mogo.eagle.core.function.api.setting.ISopSettingListener +import com.mogo.eagle.core.function.call.base.CallerBase + +/** + * 运营面板、调试面板设置事件监听管理 + */ +object CallerSopSettingManager: CallerBase() { + + /** + * 触发演示模式事件监听 + */ + fun invokeDemoModeListener(status: Boolean){ + M_LISTENERS.forEach { + val listener = it.value + listener.onDemoModeClickEvent(status) + } + } + + /** + * 触发雨天模式事件监听 + */ + fun invokeRainModeListener(status: Boolean){ + M_LISTENERS.forEach { + val listener = it.value + listener.onRainModeClickEvent(status) + } + } + + /** + * 触发点云事件监听 + */ + fun invokePointCloudListener(status: Boolean){ + M_LISTENERS.forEach{ + val listener = it.value + listener.onPointCloudClickEvent(status) + } + } + +} \ No newline at end of file From 800c620928d66e768585fc4a3b69d77fd6aa95fb Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 20 Sep 2023 18:05:17 +0800 Subject: [PATCH 08/10] =?UTF-8?q?[6.1.0][=E5=BC=95=E5=AF=BC=E7=BA=BF]=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B0=83=E8=AF=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/routeoverlay/MogoRouteOverlayManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java index 32ff8ae1a0..9f022ffb9e 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/routeoverlay/MogoRouteOverlayManager.java @@ -1,5 +1,7 @@ package com.mogo.eagle.core.function.business.routeoverlay; +import android.util.Log; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -61,6 +63,7 @@ public class MogoRouteOverlayManager implements @Override public void onAutopilotTrajectory(@NonNull List items) { + Log.d(TAG, "-- onAutopilotTrajectory --: " + (items != null ? items.size() : "0")); synchronized (queue) { queue.clear(); queue.offer(items); @@ -72,15 +75,18 @@ public class MogoRouteOverlayManager implements if (gnssInfo == null) { return; } + Log.d(TAG, "-- onChassisLocationGCJ02 -- 1 ---" + ":auto-mode:" + autopilotMode.get() + ", isArriveAtStation: " + isArriveAtStation.get()); if (isArriveAtStation.get() && autopilotMode.get() != 2) { RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } + Log.d(TAG, "-- onChassisLocationGCJ02 -- 2 ---" + "auto-mode:" + autopilotMode.get() + ", isDemoMode:" + FunctionBuildConfig.isDemoMode + ", force:" + FunctionBuildConfig.isForceDrawAutopilotTrajectoryByDebugSettingView); boolean force = FunctionBuildConfig.isForceDrawAutopilotTrajectoryByDebugSettingView || FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData; if (!force && autopilotMode.get() != 2) { RouteOverlayDrawer.getInstance().clearMogoRouteOverlay(); return; } + Log.d(TAG, "-- onChassisLocationGCJ02 -- 3 ---"); synchronized (queue) { if (!queue.isEmpty()) { List items = queue.pollLast(); @@ -96,6 +102,7 @@ public class MogoRouteOverlayManager implements if (state == 2) { isArriveAtStation.set(false); } + Log.d(TAG, "-- onAutopilotStatusResponse ---: state:" + state); this.autopilotMode.set(state); } @@ -105,12 +112,15 @@ public class MogoRouteOverlayManager implements @Override public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification arrivalNotification) { + Log.d(TAG, "-- onAutopilotArriveAtStation --- 1 ---"); if (arrivalNotification == null) { return; } + Log.d(TAG, "-- onAutopilotArriveAtStation --- 2 ---"); if(!HdMapBuildConfig.isMapLoaded){ return; } + Log.d(TAG, "-- onAutopilotArriveAtStation --- 3 ---"); if (!isArriveAtStation.get()) { isArriveAtStation.set(true); } From 0654736b377967cff21361ecf7d5d3a81e58144c Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Wed, 20 Sep 2023 18:16:32 +0800 Subject: [PATCH 09/10] =?UTF-8?q?[6.1.0]=20=E5=BC=80=E5=A7=8B/=E6=9A=82?= =?UTF-8?q?=E5=81=9C=E6=8E=A5=E5=8D=95=E6=8C=89=E9=92=AE=E9=A2=91=E7=B9=81?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java | 7 +++++-- .../java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 2052aee8c9..d9a22df940 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -224,8 +224,11 @@ public abstract class BaseTaxiTabFragment onAutopilotStatusChanged(IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING)); - tvOperationStatus.setOnClickListener(view -> { - onChangeOperationStatus(); + tvOperationStatus.setOnClickListener(new OnPreventFastClickListener() { + @Override + public void onClickImpl(View v) { + onChangeOperationStatus(); + } }); mCloseNaviIcon.setOnClickListener(v -> { showAmapNaviToStationFragment(false); diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt index 318844a452..e32bf41034 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/base/BaseTaxiTabFragment.kt @@ -195,7 +195,12 @@ abstract class BaseTaxiTabFragment> : MvpFragment Date: Wed, 20 Sep 2023 18:30:48 +0800 Subject: [PATCH 10/10] [3.4.0-map-sdk] add note of chain log --- .../java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index f243da70ef..771ad6c73b 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -35,6 +35,7 @@ class ChainConstant { const val CHAIN_TYPE_WEAK_NETWORK = 400 const val CHAIN_TYPE_OCH = 500 + //注意,如果新增/改动文件名称,需要与服务端同步信息,预警需要 const val CHAIN_LINK_LOG_INIT = "-eagleInitStatus" const val CHAIN_LINK_LOG_ADAS_GNSS = "-adasGnssInfo" const val CHAIN_LINK_LOG_ADAS_AUTO = "-adasAutoPilot"