[M1] 烟台私有化 + 多语音

This commit is contained in:
wangmingjun
2023-03-03 23:59:05 +08:00
parent eaae7a4033
commit 854b9af5e5
12 changed files with 90 additions and 123 deletions

View File

@@ -20,7 +20,6 @@ import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.module.status.IMogoStatusChangedListener;
import com.mogo.commons.module.status.MogoStatusManager;
import com.mogo.commons.module.status.StatusDescriptor;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.BaseData;
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
@@ -67,9 +66,8 @@ import com.mogo.och.common.module.utils.DateTimeUtil;
import com.mogo.och.common.module.utils.NumberFormatUtil;
import com.mogo.och.common.module.utils.PinYinUtil;
import com.mogo.och.common.module.utils.ToastUtilsOch;
import com.mogo.och.common.module.voice.VoiceManager;
import com.mogo.och.common.module.voice.VoiceNotice;
import com.mogo.tts.base.LangTtsEntity;
import com.mogo.tts.base.LanguageType;
import org.jetbrains.annotations.NotNull;
@@ -536,7 +534,7 @@ public class OrderModel {
clearBusStationDatas();
queryBusRoutes();
removeTipRunnables();
// startOrStopQueryPassengerWriteOff(false);
// startOrStopQueryPassengerWriteOff(false);
}
}
@@ -716,29 +714,7 @@ public class OrderModel {
, arriveStation
, isLastStop);
}
// VoiceNotice.showNotice(String.format(mContext
// .getString(R.string.bus_arrived_station_tip),
// arriveStation));
ttsArrivedStation(arriveStation);
}
private void ttsArrivedStation(String arriveStation){
List<LangTtsEntity> list = new ArrayList<>();
LangTtsEntity chineseTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_arrived_station_tip),
arriveStation), LanguageType.CHINESE);
LangTtsEntity engTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_arrived_station_english_tip),
arriveStation), LanguageType.ENGLISH);
LangTtsEntity koreanTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_arrived_station_korean_tip),
arriveStation), LanguageType.KOREAN);
list.add(chineseTTS);
list.add(engTTS);
list.add(koreanTTS);
VoiceNotice.showNotice(list, AIAssist.LEVEL0);
VoiceManager.INSTANCE.arrivedStation(arriveStation);
}
/**
@@ -794,26 +770,9 @@ public class OrderModel {
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
List<LangTtsEntity> list = new ArrayList<>();
LangTtsEntity chineseTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_leave_station_tip),
nextStation), LanguageType.CHINESE);
LangTtsEntity engTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_leave_station_english_tip),
nextStation), LanguageType.ENGLISH);
LangTtsEntity koreanTTS = new LangTtsEntity(String.format(mContext
.getString(R.string.bus_leave_station_korean_tip),
nextStation), LanguageType.KOREAN);
list.add(chineseTTS);
list.add(engTTS);
list.add(koreanTTS);
VoiceNotice.showNotice(list, AIAssist.LEVEL0);
VoiceManager.INSTANCE.leaveStation(nextStation);
}
},DELAY_10S);
// VoiceNotice.showNotice(String.format(mContext
// .getString(R.string.bus_leave_station_tip),
// nextStation), DELAY_10S);
}
/**
@@ -959,7 +918,7 @@ public class OrderModel {
private void tipStartTask(String s) {
String tips = String.format(mContext
.getString(R.string.bus_before_tips_s), s);
.getString(R.string.bus_before_tips_s), s);
//展示在运营消息
OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox(
DateTimeUtil.getCurrentTimeStamp(),
@@ -974,7 +933,7 @@ public class OrderModel {
if (backgroundCurrentStationIndex == 0 && stationList != null &&
stationList.get(0).getDrivingStatus() == STATION_STATUS_STOPPED
&& !stationList.get(0).isLeaving()){
tipStartTask("1");
tipStartTask("1");
}else {
removeTipRunnables();
}
@@ -1082,18 +1041,7 @@ public class OrderModel {
}
private void ttsEndTask() {
// VoiceNotice.showNotice(mContext.getString(R.string.bus_end_task_tip));
List<LangTtsEntity> list = new ArrayList<>();
LangTtsEntity chineseTTS = new LangTtsEntity(mContext
.getString(R.string.bus_end_task_tip), LanguageType.CHINESE);
LangTtsEntity engTTS = new LangTtsEntity(mContext
.getString(R.string.bus_end_task_english_tip), LanguageType.ENGLISH);
LangTtsEntity koreanTTS = new LangTtsEntity(mContext
.getString(R.string.bus_end_task_korean_tip), LanguageType.KOREAN);
list.add(chineseTTS);
list.add(engTTS);
list.add(koreanTTS);
VoiceNotice.showNotice(list, AIAssist.LEVEL0);
VoiceManager.INSTANCE.endOrder();
}
/**

View File

@@ -59,7 +59,6 @@ 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;
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback;
import com.mogo.och.common.module.biz.provider.LoginService;
import com.mogo.och.common.module.callback.OchAdasStartFailureCallback;
@@ -70,6 +69,7 @@ import com.mogo.och.common.module.utils.DateTimeUtil;
import com.mogo.och.common.module.utils.NumberFormatUtil;
import com.mogo.och.common.module.utils.PinYinUtil;
import com.mogo.och.common.module.utils.ToastUtilsOch;
import com.mogo.och.common.module.voice.VoiceManager;
import com.mogo.och.common.module.voice.VoiceNotice;
import org.jetbrains.annotations.NotNull;
@@ -508,7 +508,7 @@ public class OrderModel {
clearBusStationDatas();
queryBusRoutes();
removeTipRunnables();
// startOrStopQueryPassengerWriteOff(false);
// startOrStopQueryPassengerWriteOff(false);
}
}
@@ -691,9 +691,7 @@ public class OrderModel {
, isLastStop);
}
VoiceNotice.showNotice(String.format(mContext
.getString(R.string.bus_arrived_station_tip),
arriveStation));
VoiceManager.INSTANCE.arrivedStation(arriveStation);
sendArrivedStationToClient(arriveStation);
}
@@ -718,10 +716,10 @@ public class OrderModel {
private void sendEndTaskToClient() {
AppConnectMsg arrivedMsg = new AppConnectMsg(false,true,mContext
.getString(R.string.bus_end_task_tip));
.getString(R.string.bus_end_task_tip));
CallerTelematicManager.INSTANCE.sendMsgToAllClients(OchCommonConst.BUSINESS_STRING,
GsonUtils.toJson(arrivedMsg).getBytes());
GsonUtils.toJson(arrivedMsg).getBytes());
}
public void sendWriteOffNumToClient(String msg){
@@ -780,9 +778,7 @@ public class OrderModel {
//车站10s后播报
private void leaveTTSTips(String nextStation) {
VoiceNotice.showNotice(String.format(mContext
.getString(R.string.bus_leave_station_tip),
nextStation), DELAY_10S);
VoiceManager.INSTANCE.leaveStation(nextStation);
}
/**
@@ -928,7 +924,7 @@ public class OrderModel {
private void tipStartTask(String s) {
String tips = String.format(mContext
.getString(R.string.bus_before_tips_s), s);
.getString(R.string.bus_before_tips_s), s);
//展示在运营消息
OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox(
DateTimeUtil.getCurrentTimeStamp(),
@@ -943,7 +939,7 @@ public class OrderModel {
if (backgroundCurrentStationIndex == 0 && stationList != null &&
stationList.get(0).getDrivingStatus() == STATION_STATUS_STOPPED
&& !stationList.get(0).isLeaving()){
tipStartTask("1");
tipStartTask("1");
}else {
removeTipRunnables();
}
@@ -1026,7 +1022,7 @@ public class OrderModel {
queryBusRoutes();// 重新获取任务
removeTipRunnables();
// startOrStopQueryPassengerWriteOff(false);
VoiceNotice.showNotice(mContext.getString(R.string.bus_end_task_tip));
VoiceManager.INSTANCE.endOrder();
sendEndTaskToClient();
}
}

View File

@@ -43,6 +43,7 @@ import com.mogo.och.common.module.biz.network.OchCommonServiceCallback
import com.mogo.och.common.module.manager.OCHAdasAbilityManager
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
import com.mogo.och.common.module.utils.PinYinUtil
import com.mogo.och.common.module.voice.VoiceManager
import mogo.telematics.pad.MessagePad
import mogo_msg.MogoReportMsg
import system_master.SystemStatusInfo

View File

@@ -4,12 +4,8 @@ import androidx.lifecycle.LifecycleOwner
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.bus.passenger.model.VoiceManager
import com.mogo.och.bus.passenger.ui.M1CarUserNoOrderFragment
import com.mogo.och.bus.passenger.ui.M1ContainFragment
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager
import com.mogo.och.common.module.voice.VoiceNotice
import io.reactivex.disposables.Disposable
class BusPassengerCarUseAndNoOrderPresenter(view: M1CarUserNoOrderFragment?) :

View File

@@ -1,14 +1,11 @@
package com.mogo.och.bus.passenger.presenter
import androidx.lifecycle.LifecycleOwner
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback
import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.bus.passenger.model.VoiceManager
import com.mogo.och.bus.passenger.ui.M1DeviceFragment
import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager
import io.reactivex.disposables.Disposable

View File

@@ -1,8 +1,9 @@
package com.mogo.och.bus.passenger.presenter
import androidx.lifecycle.LifecycleOwner
import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.model.VoiceManager
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.ui.M1ContainFragment
import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager
import com.mogo.och.common.module.voice.VoiceNotice
@@ -33,7 +34,7 @@ class BusPassengerFunctionPresenter(view: M1ContainFragment?) :
ToastUtils.showShort(errorInfo)
}
OCHPlanningStopSideStatusManager.Status.START -> {
VoiceManager.stopSite()
VoiceNotice.showNotice(context.getString(R.string.m1_stop_site_zh), AIAssist.LEVEL1)
}
OCHPlanningStopSideStatusManager.Status.DOING -> {

View File

@@ -18,7 +18,7 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.bus.passenger.R
import com.mogo.och.bus.passenger.model.CharterPassengerModel
import com.mogo.och.bus.passenger.model.VoiceManager
import com.mogo.och.common.module.voice.VoiceManager
import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter
import com.mogo.och.common.module.biz.constant.LoginStatusManager
import kotlinx.android.synthetic.m1.m1_main_fragment.*

View File

@@ -23,23 +23,6 @@
<string name="bus_p_m1_speed_unit">KM/h</string>
<string name="m1_arrived_station_zh">已到达%1$s站</string>
<string name="m1_arrived_station_en">We are arriving at %1$s</string>
<string name="m1_arrived_station_ko">%1$s 역에 도착했습니다</string>
<string name="m1_leave_station_zh">车辆起步,请扶稳坐好,前方到站 %1$s</string>
<string name="m1_leave_station_en">The next station is %1$s</string>
<string name="m1_leave_station_ko">전방에서 역에 도착하는 %1$s</string>
<string name="m1_surplus5_order_zh">距离包车结束剩余5分钟请您合理安排游玩时间</string>
<string name="m1_surplus5_order_en">There are 5 minutes left from the end of chartering. Please arrange your time reasonably</string>
<string name="m1_surplus5_order_ko">전세버스 종료 후 5분 남았습니다. 여행 시간을 합리적으로 안배해 주십시오</string>
<string name="m1_end_order_zh">感谢您体验蘑菇车联自动驾驶小巴车,本次旅程已结束,我们下次乘车再见</string>
<string name="m1_end_order_en">Thank you for experiencing the self-driving minibus. See you next time</string>
<string name="m1_end_order_ko">자율주행 버스를 체험해 주셔서 감사합니다. 다음에 또 뵙겠습니다</string>
<string name="m1_stop_site_zh">正在为您靠边停车,请坐稳扶好</string>
<string name="m1_please_login_driver">请安全员登录司机屏</string>

View File

@@ -1,9 +1,8 @@
package com.mogo.och.bus.passenger.model
package com.mogo.och.common.module.voice
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.voice.AIAssist
import com.mogo.och.bus.passenger.R
import com.mogo.och.common.module.voice.VoiceNotice
import com.mogo.och.common.module.R
import com.mogo.tts.base.LangTtsEntity
import com.mogo.tts.base.LanguageType
import java.util.ArrayList
@@ -13,15 +12,15 @@ object VoiceManager {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(
contenxt.getString(R.string.m1_arrived_station_zh, siteName),
contenxt.getString(R.string.arrived_station_zh, siteName),
LanguageType.CHINESE
)
val engTTS = LangTtsEntity(
contenxt.getString(R.string.m1_arrived_station_en, siteName),
LanguageType.ENGLISH
contenxt.getString(R.string.arrived_station_en, siteName),
LanguageType.CHINESE
)
val koreanTTS = LangTtsEntity(
contenxt.getString(R.string.m1_arrived_station_en, siteName),
contenxt.getString(R.string.arrived_station_en, siteName),
LanguageType.KOREAN
)
list.add(chineseTTS)
@@ -34,15 +33,15 @@ object VoiceManager {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(
contenxt.getString(R.string.m1_leave_station_zh, siteName),
contenxt.getString(R.string.leave_station_zh, siteName),
LanguageType.CHINESE
)
val engTTS = LangTtsEntity(
contenxt.getString(R.string.m1_leave_station_en, siteName),
LanguageType.ENGLISH
contenxt.getString(R.string.leave_station_en, siteName),
LanguageType.CHINESE
)
val koreanTTS = LangTtsEntity(
contenxt.getString(R.string.m1_leave_station_en, siteName),
contenxt.getString(R.string.leave_station_en, siteName),
LanguageType.KOREAN
)
list.add(chineseTTS)
@@ -54,9 +53,9 @@ object VoiceManager {
fun surplus5min() {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.m1_surplus5_order_zh), LanguageType.CHINESE)
val engTTS = LangTtsEntity(contenxt.getString(R.string.m1_surplus5_order_en), LanguageType.ENGLISH)
val koreanTTS = LangTtsEntity(contenxt.getString(R.string.m1_surplus5_order_ko), LanguageType.KOREAN)
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.surplus5_order_zh), LanguageType.CHINESE)
val engTTS = LangTtsEntity(contenxt.getString(R.string.surplus5_order_en), LanguageType.ENGLISH)
val koreanTTS = LangTtsEntity(contenxt.getString(R.string.surplus5_order_ko), LanguageType.KOREAN)
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
@@ -66,17 +65,12 @@ object VoiceManager {
fun endOrder() {
val contenxt = AbsMogoApplication.getApp()
val list: MutableList<LangTtsEntity> = ArrayList()
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.m1_end_order_zh), LanguageType.CHINESE)
val engTTS = LangTtsEntity(contenxt.getString(R.string.m1_end_order_en), LanguageType.ENGLISH)
val koreanTTS = LangTtsEntity(contenxt.getString(R.string.m1_end_order_ko), LanguageType.KOREAN)
val chineseTTS = LangTtsEntity(contenxt.getString(R.string.end_order_zh), LanguageType.CHINESE)
val engTTS = LangTtsEntity(contenxt.getString(R.string.end_order_en), LanguageType.ENGLISH)
val koreanTTS = LangTtsEntity(contenxt.getString(R.string.end_order_ko), LanguageType.KOREAN)
list.add(chineseTTS)
list.add(engTTS)
list.add(koreanTTS)
VoiceNotice.showNotice(list, AIAssist.LEVEL0)
}
fun stopSite() {
val contenxt = AbsMogoApplication.getApp()
VoiceNotice.showNotice(contenxt.getString(R.string.m1_stop_site_zh), AIAssist.LEVEL1)
}
}

View File

@@ -14,4 +14,20 @@
<string name="network_error_tip">网络异常,请稍后重试</string>
<string name="request_error_tip">请求出现异常,请稍后重试</string>
<string name="arrived_station_en">We are arriving at %1$s</string>
<string name="arrived_station_ko">%1$s 역에 도착했습니다</string>
<string name="arrived_station_zh">已到达%1$s站</string>
<string name="leave_station_zh">车辆起步,请扶稳坐好,前方到站 %1$s</string>
<string name="leave_station_en">The next station is %1$s</string>
<string name="leave_station_ko">전방에서 역에 도착하는 %1$s</string>
<string name="surplus5_order_zh">距离包车结束剩余5分钟请您合理安排游玩时间</string>
<string name="surplus5_order_en">There are 5 minutes left from the end of chartering. Please arrange your time reasonably</string>
<string name="surplus5_order_ko">전세버스 종료 후 5분 남았습니다. 여행 시간을 합리적으로 안배해 주십시오</string>
<string name="end_order_zh">感谢您体验蘑菇车联自动驾驶小巴车,本次旅程已结束,我们下次乘车再见</string>
<string name="end_order_en">Thank you for experiencing the self-driving minibus. See you next time</string>
<string name="end_order_ko">자율주행 버스를 체험해 주셔서 감사합니다. 다음에 또 뵙겠습니다</string>
</resources>

View File

@@ -227,7 +227,7 @@ android {
}
yantai {
dimension "project"
buildConfigField 'String', 'URLs', "\"${readFileToJson("mogo").replace("\"", "\\\"")}\""
buildConfigField 'String', 'URLs', "\"${readFileToJson("yantai").replace("\"", "\\\"")}\""
}
dali {
@@ -326,7 +326,6 @@ dependencies {
implementation rootProject.ext.dependencies.mogocustommap
implementation project(':libraries:map-usbcamera')
implementation project(':tts:tts-iflytek')
implementation project(':core:function-impl:mogo-core-function-startup')
implementation project(':core:function-impl:mogo-core-function-devatools')
implementation project(':core:function-impl:mogo-core-function-datacenter')
@@ -483,6 +482,13 @@ Object readFileToJson(env){
def variantName() {
if(gradle.startParameter.taskNames.size()>0) {
for (String taskName : gradle.startParameter.taskNames) {
if (taskName.contains("yantai")) {
project.dependencies.add('implementation', project.project(':tts:tts-iflytek'))
}else {
project.dependencies.add('implementation', project.project(':tts:tts-pad'))
}
taskName = taskName.replace("Debug", "")
taskName = taskName.replace("Release", "")
if (taskName.endsWith("Qa")) {

View File

@@ -56,5 +56,34 @@
"eagle_mis_url": "http://eagle-mis-a.zhidaozhixing.com/",
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/"
}
},
"yantai": {
"qa": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
"eagle_mis_url": "http://eagle-mis-a.zhidaozhixing.com/",
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/"
},
"online": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
"eagle_mis_url": "http://eagle-mis-a.zhidaozhixing.com/",
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/"
},
"demo": {
"och_url": "https://och-a.zhidaozhixing.com",
"shuttle_url": "https://och-a.zhidaozhixing.com",
"passport_url": "https://och-a.zhidaozhixing.com/arch/passport/",
"socket_base_url": "https://och-a.zhidaozhixing.com/arch/push/",
"socket_tech_url": "https://och-a.zhidaozhixing.com/arch/",
"eagle_mis_url": "http://eagle-mis-a.zhidaozhixing.com/",
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/"
}
}
}