diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt index ebbe1adaee..21927b0403 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusSendTripInfoManager.kt @@ -26,6 +26,6 @@ object BusSendTripInfoManager{ fun sendBusTripInfo(type: Int, lineName: String, stationName: String, isLastStop: Boolean) { d(SceneConstant.M_BUS + "BusSendTripInfoManager", "type: "+ type +", lineName: "+ lineName + ", stationName: "+stationName+", isLastStop: "+isLastStop) - CallerAutoPilotManager.sendTripInfo(type,lineName,stationName,isLastStop) + CallerAutoPilotManager.sendTripInfo(type,lineName,stationName, "", isLastStop) } } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java index 8bd832812b..5d5984277a 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/MainActivity.java @@ -1368,7 +1368,11 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas break; case Constants.TITLE.SEND_TRIP_INFO: //行程信息 - AdasManager.getInstance().sendTripInfoReq(1, "", "", false); + AdasManager.getInstance().sendTripInfoReq(1, "x10", "x11", "x12", false); + AdasManager.getInstance().sendTripInfoReq(2, "x13", "x14", "x15", true); + AdasManager.getInstance().sendTripInfoReq(3, "x16", "x17", "x18", false); + AdasManager.getInstance().sendTripInfoReq(4, "x19", "x20", "x21", true); + AdasManager.getInstance().sendTripInfoReq(5, "x22", "x23", "x24", false); break; } } diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt index c196118cf3..7d61c7c8f0 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutopilotProvider.kt @@ -571,15 +571,20 @@ class MoGoAutopilotProvider : } /** - * 行程信息 - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @param isLastStop - * @return + * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 + * + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ - override fun sendTripInfo(type: Int, lineName: String, stopName: String, isLastStop: Boolean) { - AdasManager.getInstance().sendTripInfoReq(type, lineName, stopName, isLastStop) + override fun sendTripInfo(type: Int, lineName: String, departureStopName: String,arrivalStopName: String, isLastStop: Boolean) { + AdasManager.getInstance().sendTripInfoReq(type, lineName, departureStopName,arrivalStopName, isLastStop) } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 7b615a4a4c..75d6ed49bb 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -751,7 +751,7 @@ class MoGoHmiFragment : MvpFragment(), context?.let { it -> SharedPrefsMgr.getInstance(it).getLong("roadwork", 0) } if (currentTime - oldTime!! > 60) { //超过一分钟,才会继续播报重复提醒 context?.let { it -> SharedPrefsMgr.getInstance(it).putLong("roadwork", System.currentTimeMillis() / 1000) } - CallerAutoPilotManager.sendTripInfo(5, "", "", false); + CallerAutoPilotManager.sendTripInfo(5, "", "", "", false); } } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt index 947362f230..88cf35fb5b 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotProvider.kt @@ -264,12 +264,17 @@ interface IMoGoAutopilotProvider : IMoGoFunctionServerProvider { fun sendOperatorSetHorn(value: Double) /** - * 行程信息 - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @param isLastStop 是否是最后一站 - * @return + * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 + * + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ - fun sendTripInfo(type: Int, lineName: String, stopName: String, isLastStop: Boolean) + fun sendTripInfo(type: Int, lineName: String, departureStopName: String,arrivalStopName: String, isLastStop: Boolean) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt index 044b4931c1..0671190d67 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotManager.kt @@ -295,15 +295,20 @@ object CallerAutoPilotManager { } /** - * 行程信息 - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @param isLastStop 是否终点站 - * @return + * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 + * + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ - fun sendTripInfo(type: Int, lineName: String, stopName: String, isLastStop: Boolean) { - providerApi?.sendTripInfo(type, lineName, stopName, isLastStop) + fun sendTripInfo(type: Int, lineName: String, departureStopName: String, arrivalStopName: String, isLastStop: Boolean) { + providerApi?.sendTripInfo(type, lineName, departureStopName, arrivalStopName, isLastStop) } /** diff --git a/libraries/mogo-adas-data/src/main/proto/message_pad.proto b/libraries/mogo-adas-data/src/main/proto/message_pad.proto index f66599735b..8d17379521 100644 --- a/libraries/mogo-adas-data/src/main/proto/message_pad.proto +++ b/libraries/mogo-adas-data/src/main/proto/message_pad.proto @@ -489,9 +489,10 @@ message SetParamReq message TripInfoEvent { uint32 type = 1; //事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - string lineName = 2; //路线名, for type 1, 2 - string stopName = 3; //站点名, for type 3, 4 - bool isLastStop = 4; //是否最终站, for type 3, 4 + string lineName = 2; //路线名 + string departureStopName = 3; //出站站点名 + string arrivalStopName = 4; //下一站到达站点名 + bool isLastStop = 5; //下一站到达站是否最终站 } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java index a10e71e0d9..e30c0fa60a 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasChannel.java @@ -14,7 +14,6 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_LINK_LOG_WEB_SO import android.os.SystemClock; import android.text.TextUtils; -import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -1264,22 +1263,35 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec } /** + * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 * - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @param isLastStop - * @return + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ @Override - public boolean sendTripInfoReq(int type, String lineName, String stopName, boolean isLastStop) { - MessagePad.TripInfoEvent req = MessagePad.TripInfoEvent + public boolean sendTripInfoReq(int type, String lineName, String departureStopName, String arrivalStopName, boolean isLastStop) { + MessagePad.TripInfoEvent.Builder builder = MessagePad.TripInfoEvent .newBuilder() - .setType(type) - .setLineName(lineName) - .setStopName(stopName) - .setIsLastStop(isLastStop) - .build(); + .setType(type); + if (type < 5) { + if (lineName != null) + builder.setLineName(lineName); + if (type == 3 || type == 4) { + if (departureStopName != null) + builder.setDepartureStopName(departureStopName); + if (arrivalStopName != null) + builder.setArrivalStopName(arrivalStopName); + builder.setIsLastStop(isLastStop); + } + } + MessagePad.TripInfoEvent req = builder.build(); return sendPBMessage(MessageType.TYPE_SEND_TRIP_INFO_REQ.typeCode, req.toByteArray()); } diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java index 309cf44151..c6428cf401 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/AdasManager.java @@ -654,16 +654,21 @@ public class AdasManager implements IAdasNetCommApi { } /** - * 行程信息 - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @param isLastStop 是否终点站 - * @return + * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 + * + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ @Override - public boolean sendTripInfoReq(int type, String lineName, String stopName, boolean isLastStop) { - return mChannel != null && mChannel.sendTripInfoReq(type,lineName,stopName,isLastStop); + public boolean sendTripInfoReq(int type, String lineName, String departureStopName, String arrivalStopName, boolean isLastStop) { + return mChannel != null && mChannel.sendTripInfoReq(type, lineName, departureStopName, arrivalStopName, isLastStop); } /** diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java index 76722ecdef..b0bb0c3403 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/IAdasNetCommApi.java @@ -382,13 +382,18 @@ public interface IAdasNetCommApi { /** * 发生行程相关 + * type=1或2的时 需要参数 lineName + * type=3或4的时 需要参数 lineName departureStopName arrivalStopName isLastStop + * type=5时 不需要任何参数 * - * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 - * @param lineName 路线名, for type 1, 2 - * @param stopName 站点名, for type 3, 4 - * @return boolean 是否最终站, for type 3, 4 + * @param type 事件类型, 1:行程开始, 2:行程结束, 3:出站, 4:进站, 5:城市占道施工预警 + * @param lineName 路线名 + * @param departureStopName 出站站点名 + * @param arrivalStopName 下一站到达站点名 + * @param isLastStop 是否最终站 + * @return boolean */ - boolean sendTripInfoReq(int type, String lineName, String stopName, boolean isLastStop); + boolean sendTripInfoReq(int type, String lineName, String departureStopName, String arrivalStopName, boolean isLastStop); // TODO 需求暂停 待讨论