diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index 2bc394c97e..c75d2cf03c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -1699,20 +1699,22 @@ class TravelRealityView @JvmOverloads constructor( super.invokeOchInfo(ochInfo) Log.d(TAG, "invokeOchInfo:$ochInfo") if (ochInfo.type == 0) { - val locList = ochInfo.latLonList - if (locList.isEmpty() || locList.size < 2) { - mStartLatLng = null - mEndLatLng = null - UiThreadHandler.post { - hideStartEndMarker() + val locationList = ochInfo.latLonList + locationList?.let { locList-> + if (locList.isEmpty() || locList.size < 2) { + mStartLatLng = null + mEndLatLng = null + UiThreadHandler.post { + hideStartEndMarker() + } + } else { + // 设置开始结束Marker位置 + mStartLatLng = LatLng(locList[0].latitude, locList[0].longitude) + mEndLatLng = LatLng(locList[1].latitude, locList[1].longitude) + } + if (!isPlayingAnim) { + drawStartAndEnd() } - } else { - // 设置开始结束Marker位置 - mStartLatLng = LatLng(locList[0].latitude, locList[0].longitude) - mEndLatLng = LatLng(locList[1].latitude, locList[1].longitude) - } - if (!isPlayingAnim) { - drawStartAndEnd() } } } diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/och/OchInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/och/OchInfo.kt index 57e04a8b2c..79700fb092 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/och/OchInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/och/OchInfo.kt @@ -1,6 +1,10 @@ package com.mogo.eagle.core.data.och import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.data.map.SiteMarkerBean // type 0-> 起终点坐标 坐标index 0 起点 坐标index 1 终点 -data class OchInfo(var type: Int, var latLonList: List) \ No newline at end of file +// type 1-> 起终点+站点 +data class OchInfo(var type: Int, var latLonList: List?) { + var siteMarkerList: List? = null// 起终点+站点 +} \ No newline at end of file diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle index 95da3f4ef5..fe86427004 100644 --- a/foudations/mogo-commons/build.gradle +++ b/foudations/mogo-commons/build.gradle @@ -62,12 +62,13 @@ dependencies { api rootProject.ext.dependencies.ttsbase api rootProject.ext.dependencies.mogo_core_data api rootProject.ext.dependencies.mogo_core_network + api rootProject.ext.dependencies.serialport } else { api project(":foudations:mogo-aicloud-services-sdk") api project(":tts:tts-base") api project(':core:mogo-core-data') api project(':core:mogo-core-network') - + api project(":libraries:mogo-hardware-devices") } api 'com.mogo.cloud:countly-sdk:1.4.7.49.18-debug' diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java index df826a640e..f5d52c7bfd 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/voice/AIAssist.java @@ -5,6 +5,7 @@ import android.util.Log; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.support.device.DevicesManager; import com.mogo.tts.base.IGlobalTtsCallback; import com.mogo.tts.base.IMogoTTS; import com.mogo.tts.base.IMogoTTSCallback; @@ -61,14 +62,17 @@ public class AIAssist { Class clazz3 = null; try { clazz1 = Class.forName("com.mogo.tts.pad.PadTTS"); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } try { clazz2 = Class.forName("com.mogo.tts.iflytek.IFlyTekTts"); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } try { clazz3 = Class.forName("com.mogo.tts.pad.ZhiTTS"); - } catch (Exception ignored) {} + } catch (Exception ignored) { + } if (clazz1 != null) { mTTS = (IMogoTTS) clazz1.getConstructor().newInstance(); @@ -141,6 +145,7 @@ public class AIAssist { /** * 等级由低到高为0、1、2、3,分别对应p3、p2、p1、p0 + * * @param text * @param level */ @@ -152,8 +157,9 @@ public class AIAssist { /** * 支持多语言的Tts + * * @param ttsEntity: 多语言Entity - * @param level: 等级由低到高为0、1、2、3,分别对应p3、p2、p1、p0 + * @param level: 等级由低到高为0、1、2、3,分别对应p3、p2、p1、p0 * @param callback */ public void speakMultiLangTTSWithLevel(MultiLangTtsEntity ttsEntity, int level, IMogoTTSCallback callback) { @@ -191,6 +197,26 @@ public class AIAssist { } } + /** + * text:语音播报内容,level:播报级别,withOutside:true代表两个一起播,反之则只播车内 + */ + public void speakTTSVoiceWithLevel(String text, int level, IMogoTTSCallback callBack, boolean withOutside) { + if (withOutside) { + DevicesManager.INSTANCE.speechCx830seBroadcast(text); + speakTTSVoiceWithLevel(text, level, callBack); + } else { + speakTTSVoiceWithLevel(text, level, callBack); + } + } + + /** + * + * @param text:只播报车外的语音 + */ + public void playVoiceOutside(String text) { + DevicesManager.INSTANCE.speechCx830seBroadcast(text); + } + public void stopSpeakTts(String tts) { if (mTTS != null) { mTTS.stopSpeakTts(tts);