diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt index e5dd305e5b..7f354e74be 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt @@ -6,13 +6,17 @@ import com.mogo.cloud.commons.utils.CoordinateUtils import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.data.telematic.TelematicConstant 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.telematic.IReceivedMsgListener 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.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr +import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R @@ -24,8 +28,10 @@ import com.mogo.och.bus.passenger.callback.AutoPilotStatusCallback import com.mogo.och.bus.passenger.callback.DrivingInfoCallback import com.mogo.och.bus.passenger.constant.BusPassengerConst import com.mogo.och.bus.passenger.network.PM2ModelLoopManager +import com.mogo.och.common.module.bean.AppConnectMsg import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil +import com.mogo.och.common.module.voice.VoiceNotice.showNotice import mogo.telematics.pad.MessagePad import kotlin.math.abs @@ -82,6 +88,8 @@ class PM2DrivingModel private constructor() { // 定位监听 CallerChassisLocationGCJ02ListenerManager.addListener(TAG, mMapLocationListener) CallerChassisLocationGCJ02ListenerManager.setListenerHz(TAG,5)//设置5hz, 1s返回一次 + + CallerTelematicListenerManager.addListener(TAG,mReceivedMsgListener) } fun releaseListener(){ @@ -100,6 +108,21 @@ class PM2DrivingModel private constructor() { mAutoStatusCallback = autoPilotStatusCallback } + private val mReceivedMsgListener: IReceivedMsgListener = + object : IReceivedMsgListener{ + override fun onReceivedMsg(type: Int, byteArray: ByteArray) {//接收司机端发来的信息 + if (TelematicConstant.BUSINESS_STRING == type){ + val msg = GsonUtils.fromJson(byteArray.toString(),AppConnectMsg::class.java) as AppConnectMsg + if (msg.isPlay){ //播报 + showNotice(msg.msg) + } + if (msg.isViewShow){//显示 + } + + } + } + } + private val mMapLocationListener: IMoGoChassisLocationGCJ02Listener = object : IMoGoChassisLocationGCJ02Listener{ override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml index d158f9b8b0..a6998e2d10 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml @@ -156,7 +156,8 @@ android:textSize="@dimen/dp_42" android:textStyle="bold" android:text="--" - app:layout_constraintTop_toTopOf="@+id/img_time_clock_bg" + android:layout_marginTop="@dimen/dp_30" + app:layout_constraintTop_toTopOf="@+id/img_time_bg" app:layout_constraintLeft_toLeftOf="@+id/speed_tv" android:textColor="@color/m2_current_time_tv_color"/> diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 517e27455a..650893f452 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -311,9 +311,11 @@ public class BusPresenter extends Presenter int passengerNum = passenger.passengerSize; if (passengerNum > 1){ //多人播报 "x人" ---》x人核验通过 VoiceNotice.showNotice(passengerNum+"人核验通过", AIAssist.LEVEL3); + OrderModel.getInstance().sendWriteOffNumToClient(passengerNum+"人核验通过"); }else { //是 1 播放 "滴" 2022.11.09 改为: "核验通过" // mView.playDI(); VoiceNotice.showNotice("核验通过", AIAssist.LEVEL3); + OrderModel.getInstance().sendWriteOffNumToClient("核验通过"); } } diff --git a/OCH/mogo-och-bus/src/main/res/values/strings.xml b/OCH/mogo-och-bus/src/main/res/values/strings.xml index a7829fce0a..737487ec70 100644 --- a/OCH/mogo-och-bus/src/main/res/values/strings.xml +++ b/OCH/mogo-och-bus/src/main/res/values/strings.xml @@ -42,7 +42,7 @@ - 已到达%1$s,带好随身物品,下车请注意。 + 已到达%1$s,带好随身物品,下车请注意安全。 车辆起步,请扶稳坐好,前方到站是%1$s,请下车的乘客做好准备。 感谢您体验\'蘑菇车联\'自动驾驶小巴车,我们下次再见。 diff --git a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java index 60d51e5d2a..cf7b3000b2 100644 --- a/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/mogo-och-bus/src/shuttle/java/com/mogo/och/bus/model/OrderModel.java @@ -24,6 +24,7 @@ import com.mogo.commons.module.status.StatusDescriptor; import com.mogo.eagle.core.data.BaseData; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.data.telematic.TelematicConstant; 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; @@ -32,7 +33,9 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -52,6 +55,7 @@ import com.mogo.och.bus.net.OrderServiceManager; import com.mogo.och.bus.util.BusAnalyticsManager; import com.mogo.och.bus.util.BusSendTripInfoManager; import com.mogo.och.bus.util.BusTrajectoryManager; +import com.mogo.och.common.module.bean.AppConnectMsg; import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager; import com.mogo.och.common.module.biz.common.socketmessage.data.OCHOperationalMessage; import com.mogo.och.common.module.biz.constant.OchCommonConst; @@ -554,6 +558,8 @@ public class OrderModel { leaveTTSTips(nextStation); + sendStartStationToClient(nextStation); + if (busRoutesResult != null) { boolean isLastStop = false; if (leaveIndex + 1 == stationList.size() - 1) { @@ -685,6 +691,41 @@ public class OrderModel { VoiceNotice.showNotice(String.format(mContext .getString(R.string.bus_arrived_station_tip), arriveStation)); + + sendArrivedStationToClient(arriveStation); + } + + private void sendArrivedStationToClient(String arriveStation) { + AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,String.format(mContext + .getString(R.string.bus_arrived_station_tip), + arriveStation)); + CallerTelematicManager.INSTANCE.sendMsgToAllClients(TelematicConstant.BUSINESS_STRING, + GsonUtils.toJson(arrivedMsg).getBytes()); + } + + private void sendStartStationToClient(String nextStation) { + AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,String.format(mContext + .getString(R.string.bus_leave_station_tip), + nextStation)); + UiThreadHandler.postDelayed(()->{ + CallerTelematicManager.INSTANCE.sendMsgToAllClients(TelematicConstant.BUSINESS_STRING, + GsonUtils.toJson(arrivedMsg).getBytes()); + },DELAY_10S); + } + + private void sendEndTaskToClient() { + AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,mContext + .getString(R.string.bus_end_task_tip)); + + CallerTelematicManager.INSTANCE.sendMsgToAllClients(TelematicConstant.BUSINESS_STRING, + GsonUtils.toJson(arrivedMsg).getBytes()); + } + + public void sendWriteOffNumToClient(String msg){ + AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,msg); + + CallerTelematicManager.INSTANCE.sendMsgToAllClients(TelematicConstant.BUSINESS_STRING, + GsonUtils.toJson(arrivedMsg).getBytes()); } /** @@ -983,6 +1024,7 @@ public class OrderModel { removeTipRunnables(); // startOrStopQueryPassengerWriteOff(false); VoiceNotice.showNotice(mContext.getString(R.string.bus_end_task_tip)); + sendEndTaskToClient(); } } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/AppConnectMsg.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/AppConnectMsg.kt new file mode 100644 index 0000000000..402557066e --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/AppConnectMsg.kt @@ -0,0 +1,7 @@ +package com.mogo.och.common.module.bean + +/** + * @author: wangmingjun + * @date: 2023/2/14 + */ +data class AppConnectMsg(var isViewShow: Boolean,var isPlay: Boolean,var msg: String)