From 849c2c8cd4bb7d3e8e934e770ddc991abf94ec8b Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 24 Jan 2024 15:04:47 +0800 Subject: [PATCH] =?UTF-8?q?[5.2.9]=20[shuttle]=20[200m=20=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E7=AB=99=E7=82=B9=E4=BB=8B=E7=BB=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/data/bean/BusStationBean.java | 18 +++++++++++++ .../shuttle/passenger/network/ServiceApi.java | 2 +- .../passenger/model/BusPassengerModel.java | 15 ++++++++--- .../passenger/model/PM2DrivingModel.kt | 25 +++++++++++++++---- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.java b/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.java index 12fac3ad93..f03c54ef1f 100644 --- a/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.java +++ b/OCH/common/data/src/main/java/com/mogo/och/data/bean/BusStationBean.java @@ -18,6 +18,8 @@ public class BusStationBean { private double lat; //高精坐标 private int drivingStatus;//行驶信息,0初始值;1已经过;2当前站;3未到站 private boolean leaving; + private String introduction;// 站点简介 + private boolean isPlayTts; public String getNameKr() { return nameKr; @@ -95,6 +97,22 @@ public class BusStationBean { this.leaving = leaving; } + public String getIntroduction() { + return introduction; + } + + public void setIntroduction(String introduction) { + this.introduction = introduction; + } + + public boolean isPlayTts() { + return isPlayTts; + } + + public void setPlayTts(boolean playTts) { + isPlayTts = playTts; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java index b1cd8187a1..4394df464f 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java @@ -39,7 +39,7 @@ public interface ServiceApi { Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); /** - * 查询司机端的登陆状态 + * 核销接口 */ @Headers({"Content-type:application/json;charset=UTF-8"}) @POST("/och-vehicle/api/scanner/device/writeOff") diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java index 0c0e1574e8..985cea8437 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java @@ -26,7 +26,9 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager; import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; import com.mogo.eagle.core.utilcode.util.GsonUtils; +import com.mogo.eagle.core.utilcode.util.StringUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.shuttle.passenger.R; import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg; import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg; @@ -111,8 +113,6 @@ public class BusPassengerModel { List mStations = new ArrayList<>(); private int mNextStationIndex = 0;// 要到达站的index private List mTwoStationsRouts = new ArrayList<>(); - private int mPreRouteIndex = 0; - private int mWipePreIndex = 0; private volatile boolean isGoingToNextStation = false; @@ -298,7 +298,6 @@ public class BusPassengerModel { isGoingToNextStation = false; Logger.d(M_BUS_P + TAG, "order = station= arrive"); - mPreRouteIndex = 0; mRouteLineInfoCallback.updateStationsInfo(stations,i,true); return; } @@ -388,6 +387,16 @@ public class BusPassengerModel { } } } + // 小于200m 播报站点介绍 + if(distance<200){ + BusStationBean stationNext = mStations.get(mNextStationIndex); + if(!stationNext.isPlayTts()){ + if (!StringUtils.isEmpty(stationNext.getIntroduction())) { + VoiceNotice.showNotice(stationNext.getIntroduction()); + stationNext.setPlayTts(true); + } + } + } mAutopilotPlanningCallback.routePlanningToNextStationChanged( (long)distance, (long)lastTime ); diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt index c4eebf5beb..f209248e82 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt +++ b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt @@ -30,12 +30,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.NetworkUtils +import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.shuttle.passenger.R -import com.mogo.och.shuttle.passenger.constant.BusPassengerConst -import com.mogo.och.shuttle.passenger.callback.AutoPilotStatusCallback -import com.mogo.och.shuttle.passenger.callback.DrivingInfoCallback -import com.mogo.och.shuttle.passenger.network.PM2ModelLoopManager import com.mogo.och.common.module.bean.dpmsg.* import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.pushAppOperationalMsgBox import com.mogo.och.common.module.biz.constant.OchCommonConst @@ -43,11 +39,17 @@ import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.RxUtils +import com.mogo.och.common.module.voice.VoiceNotice.showNotice import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusTransferData +import com.mogo.och.shuttle.passenger.R import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse +import com.mogo.och.shuttle.passenger.callback.AutoPilotStatusCallback +import com.mogo.och.shuttle.passenger.callback.DrivingInfoCallback +import com.mogo.och.shuttle.passenger.constant.BusPassengerConst +import com.mogo.och.shuttle.passenger.network.PM2ModelLoopManager import com.mogo.och.shuttle.passenger.network.PassengerServiceManager import io.reactivex.disposables.Disposable import mogo.telematics.pad.MessagePad @@ -545,6 +547,19 @@ class PM2DrivingModel private constructor() { } val lastTime = lastSumLength / BusPassengerConst.SHUTTLE_AVERAGE_SPEED * 3.6 //秒 d(SceneConstant.M_BUS_P + TAG, "och-rotting==lastSumLength = $lastSumLength") + + // 小于200m 播报站点介绍 + // 小于200m 播报站点介绍 + if (lastSumLength < 200) { + val stationNext = mStations[mNextStationIndex] + if (!stationNext.isPlayTts) { + if (!StringUtils.isEmpty(stationNext.introduction)) { + showNotice(stationNext.introduction) + stationNext.isPlayTts = true + } + } + } + mDrivingInfoCallback?.updateRemainMT( lastSumLength.toLong(), lastTime.toLong()