[charter]
[3.2.0] [tts 查漏补缺]
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
package com.mogo.och.bus.passenger.callback;
|
||||
|
||||
/**
|
||||
* Created on 2022/3/31
|
||||
*
|
||||
* Model->Presenter回调:ADAS相关(自动驾驶状态回调,到达终点等等)
|
||||
*/
|
||||
public interface IBusPassengerADASStatusCallback {
|
||||
// 自动驾驶触发的已到达目的地:暂未用到
|
||||
void onAutopilotArriveEnd();
|
||||
|
||||
// 自动驾驶可用状态
|
||||
void onAutopilotEnable();
|
||||
|
||||
// 自动驾驶不可用状态
|
||||
void onAutopilotDisable();
|
||||
|
||||
// 自动驾驶运行中
|
||||
void onAutopilotRunning();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.mogo.och.bus.passenger.callback
|
||||
|
||||
/**
|
||||
* Created on 2022/3/31
|
||||
*
|
||||
* Model->Presenter回调:ADAS相关(自动驾驶状态回调,到达终点等等)
|
||||
*/
|
||||
interface ICharterPassengerAutoStatusChangeCallback {
|
||||
// 自动驾驶状态发生改变
|
||||
fun onAutoStatusChange(newState: Int)
|
||||
}
|
||||
@@ -23,6 +23,7 @@ class CharterPassengerConst {
|
||||
|
||||
// 到达起始点围栏
|
||||
const val ARRIVE_AT_START_STATION_DISTANCE = 15 //围栏由20m改为50m 再次改为15m
|
||||
const val ARRIVE_SOON_AT_START_STATION_DISTANCE = 100 //100米提示
|
||||
const val MIN_DISTANCE_STATION = 30 //站点选择小于30m 不能选
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.net.ConnectivityManager
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.module.intent.IMogoIntentListener
|
||||
import com.mogo.commons.module.intent.IntentManager
|
||||
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.autopilot.AutopilotControlParameters.AutoPilotLine
|
||||
@@ -46,12 +47,13 @@ import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.PinYinUtil
|
||||
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 io.reactivex.Observable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import mogo.telematics.pad.MessagePad
|
||||
import mogo_msg.MogoReportMsg
|
||||
import system_master.SystemStatusInfo
|
||||
import java.util.*
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -74,7 +76,7 @@ object CharterPassengerModel {
|
||||
private var mContext: Context = AbsMogoApplication.getApp()
|
||||
|
||||
//Model->Presenter:自动驾驶状态相关
|
||||
var mADASStatusCallback: IBusPassengerADASStatusCallback? = null
|
||||
var mAutoStatusChnageListener = ConcurrentHashMap<String, ICharterPassengerAutoStatusChangeCallback>()
|
||||
|
||||
// 定位监听
|
||||
private val mControllerStatusCallbackMap =
|
||||
@@ -109,6 +111,7 @@ object CharterPassengerModel {
|
||||
private var broadcastList : MutableMap<String,Boolean> = HashMap()
|
||||
// 到站仅一次
|
||||
private val endKey = "arrivedLine"
|
||||
private val ending100Key = "arrivingLine"
|
||||
private val min5Speak = "min5Speak"
|
||||
|
||||
private var carTypeChageListener: IOrderChangeCallback?=null
|
||||
@@ -156,6 +159,14 @@ object CharterPassengerModel {
|
||||
}
|
||||
mControllerStatusCallbackMap[tag] = callback
|
||||
}
|
||||
fun setAutoStatusCallback(tag: String, callback: ICharterPassengerAutoStatusChangeCallback?) {
|
||||
if (tag.isBlank()) return
|
||||
if (callback == null) {
|
||||
mAutoStatusChnageListener.remove(tag)
|
||||
return
|
||||
}
|
||||
mAutoStatusChnageListener[tag] = callback
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动轮询查询司机登录状态
|
||||
@@ -210,8 +221,6 @@ object CharterPassengerModel {
|
||||
// 自动驾驶状态监听
|
||||
private val mGoAutopilotStatusListener: IMoGoAutopilotStatusListener =
|
||||
object : IMoGoAutopilotStatusListener {
|
||||
override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) {}
|
||||
override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) {}
|
||||
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
|
||||
val state = autoPilotStatusInfo.state
|
||||
when (state) {
|
||||
@@ -221,17 +230,17 @@ object CharterPassengerModel {
|
||||
IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {}
|
||||
else -> {}
|
||||
}
|
||||
mPreAutoStatus = state
|
||||
if(mPreAutoStatus!=state){
|
||||
mPreAutoStatus = state
|
||||
mAutoStatusChnageListener.forEach {
|
||||
it.value.onAutoStatusChange(state)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotSNRequest() {}
|
||||
override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) {
|
||||
mADASStatusCallback?.onAutopilotArriveEnd()
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,"底盘给到站信息")
|
||||
arriveDest()
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusRespByQuery(status: SystemStatusInfo.StatusInfo) {}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -428,6 +437,10 @@ object CharterPassengerModel {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于15米到站1")
|
||||
arriveDest()
|
||||
}
|
||||
if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于100米到站")
|
||||
arriveDestSoon()
|
||||
}
|
||||
}
|
||||
}
|
||||
// 启动时间校准
|
||||
@@ -677,6 +690,10 @@ object CharterPassengerModel {
|
||||
"---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime
|
||||
+ " thread = " + Thread.currentThread().name
|
||||
)
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) {
|
||||
CallerLogger.d(M_BUS_P + TAG,"小于100米到站2")
|
||||
arriveDestSoon()
|
||||
}
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) {
|
||||
CallerLogger.d(M_BUS_P + TAG,"小于15米到站2")
|
||||
arriveDest()
|
||||
@@ -895,6 +912,20 @@ object CharterPassengerModel {
|
||||
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
fun arriveDestSoon() {
|
||||
orderInfo?.let { order ->
|
||||
order.siteId?.let { siteId ->
|
||||
if (order.arriveStatus == OrderInfoResponse.ARRIVING) {
|
||||
if (broadcastList["${siteId}$ending100Key"] == null || broadcastList["${siteId}$ending100Key"] == false) {
|
||||
val string = mContext.getString(com.mogo.och.common.module.R.string.arrived_station_zh)
|
||||
VoiceNotice.showNotice(string,)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun cleanbroadcastListInfo(){
|
||||
broadcastList.clear()
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStat
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue
|
||||
import com.mogo.och.common.module.manager.devicemanage.data.LightStatus
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
@@ -145,7 +146,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.windSpeed!=windSpeedCmd&&
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.temperature!=temperatureCmd&&
|
||||
LightAirconditionDoorStatusManager.airconditionStatus.pattert!=modeCmd) {
|
||||
ToastUtils.showShort("空调操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -155,7 +156,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
disposeSubscribe(airconditionDisposable)
|
||||
airconditionDisposable = createSubscribe(10000){
|
||||
if (LightAirconditionDoorStatusManager.airconditionStatus.isOpen) {
|
||||
ToastUtils.showShort("空调操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -192,14 +193,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(1)
|
||||
subscribeLightTop1 = createSubscribe{
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(2)
|
||||
subscribeLightTop1 = createSubscribe{
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -211,14 +212,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(1)
|
||||
subscribeLightTop2 = createSubscribe{
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(2)
|
||||
subscribeLightTop2 = createSubscribe{
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -230,14 +231,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) :
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(1)
|
||||
subscribeLightAtmosphere = createSubscribe{
|
||||
if (!LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(2)
|
||||
subscribeLightAtmosphere = createSubscribe{
|
||||
if (LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) {
|
||||
ToastUtils.showShort("操作未生效,请稍后重试吧~")
|
||||
ToastUtils.showShort("控制系统繁忙,请稍后再试")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.mogo.commons.voice.AIAssist
|
||||
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.function.call.order.CallerOrderListenerManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager
|
||||
import com.mogo.eagle.core.function.view.SiteMarkerBean
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
@@ -51,7 +52,7 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
|
||||
companion object {
|
||||
private const val TAG = "BusPassengerPresenter"
|
||||
private const val KEY4SHOWNOVICEGUIDANCE = "showNoviceGuidanceOrderNor"
|
||||
const val KEY4SHOWNOVICEGUIDANCE = "showNoviceGuidanceOrderNor"
|
||||
|
||||
}
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
@@ -145,6 +146,7 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
clearShowNoviceGuidanceSharedPrefs()
|
||||
}
|
||||
OrderStatusEnum.OrderNoLine -> {
|
||||
CallerOrderListenerManager.invokeOrderRemoval();
|
||||
showNoviceGuidance()
|
||||
}
|
||||
OrderStatusEnum.OrdersWithLine -> {}
|
||||
@@ -183,17 +185,14 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo()
|
||||
currentOrderInfo?.orderNo?.let {order->
|
||||
val stringSet = SharedPrefs.getInstance(context).getStringSet(KEY4SHOWNOVICEGUIDANCE)
|
||||
fun setData2SP(){
|
||||
val orderNoSet = mutableSetOf(order)
|
||||
SharedPrefs.getInstance(context).putStringSet(KEY4SHOWNOVICEGUIDANCE, orderNoSet)
|
||||
}
|
||||
|
||||
if(stringSet==null){
|
||||
setData2SP()
|
||||
|
||||
}else{
|
||||
if (stringSet.contains(order)) {
|
||||
return
|
||||
}else{
|
||||
setData2SP()
|
||||
|
||||
}
|
||||
}
|
||||
UiThreadHandler.post({
|
||||
|
||||
@@ -5,12 +5,16 @@ import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.NoviceGuidanceFragment
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
class CharterPassengerNoviceGuidancePresenter(view: NoviceGuidanceFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<NoviceGuidanceFragment?>(view) {
|
||||
companion object{
|
||||
private const val TAG = "BusPassengerFunctionPresenter"
|
||||
}
|
||||
|
||||
var createSubscribe: Disposable?=null
|
||||
override fun onCreate(owner: LifecycleOwner) {
|
||||
super.onCreate(owner)
|
||||
}
|
||||
@@ -33,5 +37,16 @@ class CharterPassengerNoviceGuidancePresenter(view: NoviceGuidanceFragment?) :
|
||||
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
createSubscribe?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun exitDialogFragment() {
|
||||
createSubscribe = RxUtils.createSubscribe(15_000) {
|
||||
mView?.dismissAllowingStateLoss()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
import com.mogo.eagle.core.utilcode.util.*
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter
|
||||
import com.mogo.och.bus.passenger.presenter.CharterPassengerNoviceGuidancePresenter
|
||||
import com.mogo.och.bus.passenger.ui.MainFragment
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
@@ -122,6 +124,11 @@ class NoviceGuidanceFragment :
|
||||
}
|
||||
v_next_page_notice.setOnClickListener {
|
||||
setTargetVisable(complierGuidance = true)
|
||||
val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo()
|
||||
currentOrderInfo?.orderNo?.let { order ->
|
||||
val orderNoSet = mutableSetOf(order)
|
||||
SharedPrefs.getInstance(requireContext()).putStringSet(BusPassengerPresenter.KEY4SHOWNOVICEGUIDANCE, orderNoSet)
|
||||
}
|
||||
if (m1_novice_guidance_complier_tts) {
|
||||
val m1NoviceGuidanceStopSiteTts =
|
||||
AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_complier_tts)
|
||||
@@ -193,6 +200,7 @@ class NoviceGuidanceFragment :
|
||||
group_complete_guidance.visibility = View.VISIBLE
|
||||
actv_click_go_explore.text = "点我进入主页"
|
||||
pageStatus = PageStatus.EndPage
|
||||
mPresenter?.exitDialogFragment()
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -145,7 +145,7 @@ class M1OrderLineFragment :
|
||||
aciv_driver_refuse_group.visibility = View.GONE
|
||||
g_loading_group.visibility = View.GONE
|
||||
g_lines_sites_data.visibility = View.GONE
|
||||
RxUtils.createSubscribe {
|
||||
RxUtils.createSubscribe(3_000) {
|
||||
dismiss?.closeDialog()
|
||||
}
|
||||
}
|
||||
@@ -154,7 +154,7 @@ class M1OrderLineFragment :
|
||||
aciv_driver_refuse_group.visibility = View.VISIBLE
|
||||
g_loading_group.visibility = View.GONE
|
||||
g_lines_sites_data.visibility = View.GONE
|
||||
RxUtils.createSubscribe {
|
||||
RxUtils.createSubscribe(3_000) {
|
||||
showSelectData()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,13 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.bus.passenger.callback.ICharterPassengerAutoStatusChangeCallback
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import io.reactivex.disposables.Disposable
|
||||
import kotlinx.android.synthetic.main.m1_bottom_bar.view.*
|
||||
|
||||
class GoView @JvmOverloads constructor(
|
||||
@@ -29,6 +32,8 @@ class GoView @JvmOverloads constructor(
|
||||
|
||||
var applyClickListener: BottomClickView.ApplyClickLintener?=null
|
||||
|
||||
var startAutoTimeOut: Disposable?=null
|
||||
|
||||
companion object{
|
||||
private const val TAG = "GoView"
|
||||
}
|
||||
@@ -77,7 +82,7 @@ class GoView @JvmOverloads constructor(
|
||||
ToastUtils.showShort("启动自动驾驶中")
|
||||
CallerAutoPilotControlManager.sendPlanningCmd(2)
|
||||
CharterPassengerModel.startAutopilot()
|
||||
CharterPassengerModel.leaveStation()
|
||||
onceRegisterAutoStatus()
|
||||
CharterPassengerModel.sendTripInfo()
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
@@ -92,4 +97,35 @@ class GoView @JvmOverloads constructor(
|
||||
}
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getActivityByContext(context), R.raw.bus_di)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
startAutoTimeOut?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun onceRegisterAutoStatus() {
|
||||
CharterPassengerModel.setAutoStatusCallback(TAG,null)
|
||||
CharterPassengerModel.setAutoStatusCallback(TAG,object :ICharterPassengerAutoStatusChangeCallback{
|
||||
override fun onAutoStatusChange(newState: Int) {
|
||||
if(newState==IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){
|
||||
CharterPassengerModel.leaveStation()
|
||||
}
|
||||
CharterPassengerModel.setAutoStatusCallback(TAG,null)
|
||||
}
|
||||
})
|
||||
startAutoTimeOut?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
startAutoTimeOut = RxUtils.createSubscribe(20_000) {
|
||||
val string = AbsMogoApplication.getApp().getString(R.string.m1_start_auto_fail)
|
||||
ToastUtils.showLong(string)
|
||||
CharterPassengerModel.setAutoStatusCallback(TAG,null)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,13 @@ import android.view.ViewGroup
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import chassis.ChassisStatesOuterClass
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoBatteryManagementSystemListener
|
||||
import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener
|
||||
import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystemListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager
|
||||
@@ -22,6 +25,7 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.bus.passenger.bean.event.DebugView
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import kotlinx.android.synthetic.main.m1_statusview_datetime.view.*
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
@@ -31,7 +35,7 @@ class StatusBarView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoSkinModeChangeListener, IViewControlListener, IMoGoBatteryManagementSystemListener {
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMoGoSkinModeChangeListener, IViewControlListener, IMoGoBatteryManagementSystemListener, IMoGoAutopilotStatusListener {
|
||||
|
||||
companion object {
|
||||
const val TAG = "StatusBarView"
|
||||
@@ -76,6 +80,8 @@ class StatusBarView @JvmOverloads constructor(
|
||||
|
||||
CallerBatteryManagementSystemListenerManager.addListener(TAG,this)
|
||||
|
||||
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
|
||||
|
||||
updateStatusBarRightView(FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(this.context))
|
||||
|
||||
bizz_view.setOnClickListener { continuousClick(bizz) }
|
||||
@@ -84,6 +90,27 @@ class StatusBarView @JvmOverloads constructor(
|
||||
|
||||
progress.progress = 50
|
||||
tv_power_cos.text = "50%"
|
||||
|
||||
val state = CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state
|
||||
setAutoPilotSatusInfo(state)
|
||||
}
|
||||
|
||||
private fun setAutoPilotSatusInfo(state: Int) {
|
||||
when (state) {
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {
|
||||
actv_auto_status.text = "安全接管中"
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {
|
||||
actv_auto_status.text = "安全接管中"
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> {
|
||||
actv_auto_status.text = "自动驾驶中"
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> {
|
||||
actv_auto_status.text = "远程代驾中"
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSkinModeChange(skinMode: Int) {
|
||||
@@ -93,6 +120,10 @@ class StatusBarView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
|
||||
setAutoPilotSatusInfo(autoPilotStatusInfo.state)
|
||||
}
|
||||
|
||||
override fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup) {
|
||||
|
||||
}
|
||||
|
||||
@@ -39,14 +39,6 @@
|
||||
android:layout_width="@dimen/dp_148"
|
||||
android:layout_height="@dimen/dp_150"/>
|
||||
|
||||
<com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugViewTrigger
|
||||
android:layout_height="@dimen/dp_400"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:longClickable="true"
|
||||
app:layout_constraintStart_toStartOf="@+id/mapBizView"
|
||||
app:layout_constraintTop_toTopOf="@+id/mapBizView"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/mapBizView" />
|
||||
|
||||
<!--浓雾预警动画-->
|
||||
<com.mogo.eagle.core.function.hmi.ui.widget.V2XFogEventView
|
||||
android:layout_width="match_parent"
|
||||
@@ -276,6 +268,7 @@
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_debug"
|
||||
app:constraint_referenced_ids="debug_arrive_dest,debug_show_noviceGuidance"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
|
||||
@@ -7,10 +7,18 @@
|
||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"
|
||||
tools:ignore="MissingDefaultResource">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_auto_status"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/viewTextClock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_47"/>
|
||||
|
||||
<TextClock
|
||||
android:id="@+id/viewTextClock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_64"
|
||||
android:layout_height="@dimen/dp_47"
|
||||
android:format12Hour="HH:mm MM月dd日 EEEE"
|
||||
android:format24Hour="HH:mm MM月dd日 EEEE"
|
||||
android:gravity="center"
|
||||
|
||||
@@ -47,8 +47,7 @@
|
||||
<string name="m1_novice_guidance_complier_tts">太棒了!您已完成乘车指南,更多功能欢迎探索~蘑菇小助手预祝您旅途愉快</string>
|
||||
|
||||
<string name="m1_close_door_and_startauto">先关闭车门再启动吧~</string>
|
||||
<!-- <string name="m1_novice_guidance_tts">车辆起步,扶稳坐好哟,前方到站XXX</string>-->
|
||||
<!-- <string name="m1_novice_guidance_tts">自驾系统繁忙,稍后再试试吧~</string>-->
|
||||
<string name="m1_start_auto_fail">自驾系统繁忙,稍后再试试吧~</string>
|
||||
|
||||
<!-- <string name="m1_novice_guidance_tts">正在为您靠边停车,扶稳坐好哟</string>-->
|
||||
<!-- <string name="m1_novice_guidance_tts">靠边停车成功</string>-->
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<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_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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user