[shuttle]
[200m 播放站点介绍]
This commit is contained in:
yangyakun
2024-01-24 15:04:47 +08:00
parent ca40240658
commit 849c2c8cd4
4 changed files with 51 additions and 9 deletions

View File

@@ -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;

View File

@@ -39,7 +39,7 @@ public interface ServiceApi {
Observable<PassengerOperationStatusResponse> 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")

View File

@@ -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<BusStationBean> mStations = new ArrayList<>();
private int mNextStationIndex = 0;// 要到达站的index
private List<MogoLocation> 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
);

View File

@@ -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()