Merge remote-tracking branch 'origin/dev_minibus-d_230425_3.2.0' into dev_minibus-d_230425_3.2.0
This commit is contained in:
@@ -6,7 +6,6 @@ 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
|
||||
@@ -48,8 +47,6 @@ 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
|
||||
@@ -433,12 +430,12 @@ object CharterPassengerModel {
|
||||
coordinateConverterWgsToGcj.latitude
|
||||
)
|
||||
// 小于15m到站
|
||||
if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于15米到站1")
|
||||
if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE && calculateLineDistance > 0) {
|
||||
CallerLogger.d(M_BUS_P + TAG,"小于15米到站1")
|
||||
arriveDest()
|
||||
}
|
||||
if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于100米到站")
|
||||
if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE && calculateLineDistance > 0) {
|
||||
CallerLogger.d(M_BUS_P + TAG, "小于100米到站")
|
||||
arriveDestSoon()
|
||||
}
|
||||
}
|
||||
@@ -675,6 +672,8 @@ object CharterPassengerModel {
|
||||
mogoLocation.latitude
|
||||
)
|
||||
if(lastSumLength>100) {
|
||||
ToastUtils.showLong("缺少轨迹数据")
|
||||
if (mRoutePoints.size == 0) return
|
||||
// 计算距离
|
||||
lastSumLength =
|
||||
CoordinateCalculateRouteUtil.calculateRouteSumLength(
|
||||
@@ -690,11 +689,11 @@ object CharterPassengerModel {
|
||||
"---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime
|
||||
+ " thread = " + Thread.currentThread().name
|
||||
)
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) {
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE&&lastSumLength>0) {
|
||||
CallerLogger.d(M_BUS_P + TAG,"小于100米到站2")
|
||||
arriveDestSoon()
|
||||
}
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) {
|
||||
if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE&&lastSumLength>0) {
|
||||
CallerLogger.d(M_BUS_P + TAG,"小于15米到站2")
|
||||
arriveDest()
|
||||
return
|
||||
@@ -845,71 +844,88 @@ object CharterPassengerModel {
|
||||
|
||||
@Synchronized
|
||||
fun arriveDest() {
|
||||
orderInfo?.let { order->
|
||||
order.lineId?.let {lineId->
|
||||
order.siteId?.let { siteId ->
|
||||
if (order.arriveStatus == OrderInfoResponse.ARRIVING) {
|
||||
if (broadcastList["${siteId}$endKey"] == null || broadcastList["${siteId}$endKey"] == false) {
|
||||
val currentTimeStamp = DateTimeUtil.getCurrentTimeStamp()
|
||||
BusPassengerServiceManager.arriveDest(
|
||||
mContext,
|
||||
lindId = lineId,
|
||||
writtenVersion = currentTimeStamp,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
if (null != data && 0 == data.code) {
|
||||
VoiceManager.arrivedStation(
|
||||
order.siteName!!,
|
||||
order.siteNameKr ?: "",
|
||||
VoiceFocusManager.getVoiceCmdCallBack()
|
||||
)
|
||||
broadcastList["${siteId}$endKey"] = true
|
||||
// 给司机端
|
||||
val (order, lineId, siteId) = getOrderInfo()
|
||||
if(order!=null&&lineId!=null&&siteId!=null){
|
||||
if (order.arriveStatus == OrderInfoResponse.ARRIVING) {
|
||||
if (broadcastList["${siteId}$endKey"] == null || broadcastList["${siteId}$endKey"] == false) {
|
||||
val currentTimeStamp = DateTimeUtil.getCurrentTimeStamp()
|
||||
BusPassengerServiceManager.arriveDest(
|
||||
mContext,
|
||||
lindId = lineId,
|
||||
writtenVersion = currentTimeStamp,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
if (null != data && 0 == data.code) {
|
||||
arrivedDeskSuccess(currentTimeStamp,true)
|
||||
}
|
||||
}
|
||||
|
||||
val msg = ChangeDestMsg(
|
||||
order.orderNo?:":",
|
||||
lineId.toInt(),
|
||||
order.lineName?:"",
|
||||
order.startSiteId?:0,
|
||||
order.startSiteName?:"",
|
||||
siteId.toInt(),
|
||||
order.siteName,
|
||||
true,
|
||||
2,
|
||||
currentTimeStamp
|
||||
)
|
||||
CallerTelematicManager.sendMsgToServer(
|
||||
OchCommonConst.BUSINESS_STRING,
|
||||
GsonUtils.toJson(msg).toByteArray()
|
||||
)
|
||||
CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "到站发送数据${msg}")
|
||||
|
||||
switchLine5minWait?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
|
||||
// 到站结束自驾
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
// 结束路距计算
|
||||
endCalculateDistanceLoop()
|
||||
// 到站置距离位0
|
||||
invokeStationDistanceListener(-1,-1)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
ToastUtils.showShort("$code:$msg")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
ToastUtils.showShort("$code:$msg")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun arrivedDeskSuccess(
|
||||
currentTimeStamp: Long,
|
||||
needSendDriver:Boolean
|
||||
) {
|
||||
val (order, lineId, siteId) = getOrderInfo()
|
||||
if(order!=null&&lineId!=null&&siteId!=null){
|
||||
VoiceManager.arrivedStation(
|
||||
order.siteName!!,
|
||||
order.siteNameKr ?: "",
|
||||
VoiceFocusManager.getVoiceCmdCallBack()
|
||||
)
|
||||
broadcastList["${siteId}$endKey"] = true
|
||||
// 给司机端
|
||||
if (needSendDriver) {
|
||||
val msg = ChangeDestMsg(
|
||||
order.orderNo ?: ":",
|
||||
lineId.toInt(),
|
||||
order.lineName ?: "",
|
||||
order.startSiteId ?: 0,
|
||||
order.startSiteName ?: "",
|
||||
siteId.toInt(),
|
||||
order.siteName,
|
||||
true,
|
||||
OrderInfoResponse.ARRIVED,
|
||||
currentTimeStamp
|
||||
)
|
||||
CallerTelematicManager.sendMsgToServer(
|
||||
OchCommonConst.BUSINESS_STRING,
|
||||
GsonUtils.toJson(msg).toByteArray()
|
||||
)
|
||||
CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "到站发送数据${msg}")
|
||||
}
|
||||
|
||||
switchLine5minWait?.let {
|
||||
if (!it.isDisposed) {
|
||||
it.dispose()
|
||||
}
|
||||
}
|
||||
|
||||
// 到站结束自驾
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
// 结束路距计算
|
||||
endCalculateDistanceLoop()
|
||||
// 到站置距离位0
|
||||
invokeStationDistanceListener(-1, -1)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getOrderInfo():Triple<OrderInfoResponse.OrderInfo?,Long?,Long?>{
|
||||
this.orderInfo?.let { order->
|
||||
this.orderInfo?.lineId?.let { lineId ->
|
||||
this.orderInfo?.siteId?.let { siteId ->
|
||||
return Triple(order,lineId,siteId)
|
||||
}
|
||||
}
|
||||
}
|
||||
return Triple(null,null,null)
|
||||
}
|
||||
|
||||
@Synchronized
|
||||
@@ -918,8 +934,8 @@ object CharterPassengerModel {
|
||||
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,)
|
||||
val string = mContext.getString(R.string.arrived_station_left_100)
|
||||
VoiceNotice.showNotice(string)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -962,9 +978,11 @@ object CharterPassengerModel {
|
||||
}
|
||||
val parameters = initAutopilotControlParameters()
|
||||
if (null == parameters) {
|
||||
ToastUtils.showShort("请选择站点")
|
||||
CallerLogger.e(SceneConstant.M_BUS + TAG, "行程日志-AutopilotControlParameters is empty.")
|
||||
return
|
||||
}
|
||||
ToastUtils.showShort("启动自动驾驶中")
|
||||
startAutoPilot(parameters)
|
||||
CallerLogger.d(
|
||||
SceneConstant.M_BUS + TAG,
|
||||
|
||||
@@ -180,10 +180,14 @@ class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) :
|
||||
if (type == OchCommonConst.BUSINESS_STRING) {
|
||||
val msg = GsonUtils.fromJson(
|
||||
String(byteArray),
|
||||
ChangeDestMsg::class.java
|
||||
) as ChangeDestMsg
|
||||
CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "接受数据:切换站点${msg}")
|
||||
BaseDPMsg::class.java
|
||||
) as BaseDPMsg
|
||||
if (msg.type == DPMsgType.TYPE_CHANGE_DEST.type) {
|
||||
val msg = GsonUtils.fromJson(
|
||||
String(byteArray),
|
||||
ChangeDestMsg::class.java
|
||||
) as ChangeDestMsg
|
||||
CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "接受数据:切换站点${msg}")
|
||||
if (msg.isConfirmed) {
|
||||
ToastUtils.showShort("站点确定")
|
||||
mView?.setEnableSiteStatus(true)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.och.bus.passenger.presenter
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment
|
||||
|
||||
class BusPassengerFunctionPresenter(view: M1ContainFragment?) :
|
||||
@@ -15,4 +16,8 @@ class BusPassengerFunctionPresenter(view: M1ContainFragment?) :
|
||||
override fun onDestroy(owner: LifecycleOwner) {
|
||||
super.onDestroy(owner)
|
||||
}
|
||||
|
||||
fun haveOrder(): Boolean {
|
||||
return CharterPassengerModel.hasOrder()
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import android.view.View
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.amap.api.maps.model.LatLng
|
||||
import com.mogo.commons.voice.AIAssist
|
||||
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
|
||||
@@ -23,6 +24,7 @@ import com.mogo.och.bus.passenger.bean.response.LineInfoResponse
|
||||
import com.mogo.och.bus.passenger.bean.response.OrderInfoResponse
|
||||
import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse
|
||||
import com.mogo.och.bus.passenger.bean.response.TrajectoriesResponse
|
||||
import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback
|
||||
import com.mogo.och.bus.passenger.callback.IDistanceCallback
|
||||
import com.mogo.och.bus.passenger.callback.IOrderChangeCallback
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
@@ -46,7 +48,7 @@ import kotlin.math.ceil
|
||||
class BusPassengerPresenter(view: MainFragment?) :
|
||||
BusBasePassengerFunctionDevicePresenter<MainFragment?>(view),
|
||||
IDistanceCallback, IOrderChangeCallback, IOrderStatusChangeListener,
|
||||
OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback {
|
||||
OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback, IBusPassengerControllerStatusCallback {
|
||||
|
||||
private val lindIdAndView = ConcurrentHashMap<Long, MakerWithSiteNamewithCheck?>()
|
||||
|
||||
@@ -60,6 +62,7 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
CharterPassengerModel.init()
|
||||
// 定位监听
|
||||
CharterPassengerModel.setStationDistanceListener(TAG, this)
|
||||
CharterPassengerModel.setControllerStatusCallback(TAG,this)
|
||||
CharterPassengerModel.setCarTypeChangeListener(this)
|
||||
CharterPassengerModel.setStatusChangeListener(TAG, this)
|
||||
CallerTelematicListenerManager.addListener(TAG, DriverMessage)
|
||||
@@ -76,6 +79,12 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
OCHPlanningStopSideStatusManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
override fun onCarLocationChanged(location: MogoLocation?) {
|
||||
location?.let {
|
||||
setSpeed(it.gnssSpeed)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setSpeed(speed: Float) {
|
||||
UiThreadHandler.post {
|
||||
val speedKM = (Math.abs(speed) * 3.6f).toInt()
|
||||
@@ -100,6 +109,7 @@ class BusPassengerPresenter(view: MainFragment?) :
|
||||
override fun setDistancecAndTime(meters: Long, timeInSecond: Long) {
|
||||
if (meters < 0 && timeInSecond < 0) {
|
||||
setDistanceAndTime("--", context.getString(R.string.m1_distance_unit_km), "--", "--")
|
||||
return
|
||||
}
|
||||
var dis: String? = "0"
|
||||
var disUnit = "KM"
|
||||
|
||||
@@ -5,13 +5,16 @@ import com.mogo.commons.voice.AIAssist
|
||||
import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.ActivityUtils
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.bus.passenger.R
|
||||
import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg
|
||||
import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg
|
||||
import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg
|
||||
import com.mogo.och.common.module.bean.dpmsg.DPMsgType
|
||||
import com.mogo.och.bus.passenger.bean.response.OrderInfoResponse
|
||||
import com.mogo.och.bus.passenger.model.CharterPassengerModel
|
||||
import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager
|
||||
import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionOrderPresenter
|
||||
import com.mogo.och.common.module.bean.dpmsg.*
|
||||
import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager
|
||||
import com.mogo.och.common.module.biz.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager
|
||||
@@ -19,6 +22,7 @@ import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStat
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.RxUtils
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
|
||||
object DriverMessage: IReceivedMsgListener {
|
||||
override fun onReceivedMsg(type: Int, byteArray: ByteArray) {
|
||||
@@ -59,15 +63,23 @@ object DriverMessage: IReceivedMsgListener {
|
||||
)
|
||||
}
|
||||
if(msg.isPlay){
|
||||
AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoiceWithLevel(msg.msg, AIAssist.LEVEL1)
|
||||
VoiceNotice.showNotice(msg.msg, AIAssist.LEVEL1)
|
||||
if(msg.msg.contains("核销成功")){
|
||||
RxUtils.createSubscribe(15_000) {
|
||||
val string = AbsMogoApplication.getApp().getString(R.string.m1_welcome_tts)
|
||||
AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoiceWithLevel(string, AIAssist.LEVEL1)
|
||||
}
|
||||
val string = AbsMogoApplication.getApp().getString(R.string.m1_welcome_tts)
|
||||
VoiceNotice.showNotice(string, AIAssist.LEVEL1,15_000)
|
||||
}
|
||||
}
|
||||
}
|
||||
DPMsgType.TYPE_CHANGE_DEST.type -> {
|
||||
val msg = GsonUtils.fromJson(
|
||||
String(byteArray),
|
||||
ChangeDestMsg::class.java
|
||||
) as ChangeDestMsg
|
||||
if (msg.isConfirmed&&msg.arriveStatus== OrderInfoResponse.ARRIVED) {
|
||||
CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "接受数据:到站${msg}")
|
||||
CharterPassengerModel.arrivedDeskSuccess(msg.writtenVersion?:0,false)
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
@@ -80,7 +92,7 @@ object DriverMessage: IReceivedMsgListener {
|
||||
}
|
||||
|
||||
private fun playDI() {
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(AbsMogoApplication.getApp(), R.raw.m1_voice_di)
|
||||
SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getTopActivity(), R.raw.m1_voice_di)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.commons.mvp.MvpDialogFragment
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P
|
||||
@@ -23,6 +24,7 @@ import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1VideoFragment
|
||||
import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment
|
||||
import com.mogo.och.bus.passenger.ui.view.bottom.BottomBar
|
||||
import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView
|
||||
import com.mogo.och.common.module.biz.constant.LoginStatusManager
|
||||
import kotlinx.android.synthetic.main.m1_contain_fragment.*
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
|
||||
@@ -130,6 +132,18 @@ class M1ContainFragment :
|
||||
}
|
||||
}
|
||||
bb_bottom_bar.setOrderInfoClickListener{
|
||||
if (LoginStatusManager.isLogin()) {
|
||||
if(mPresenter?.haveOrder()==true){
|
||||
|
||||
}else{
|
||||
ToastUtils.showShort("请确认订单")
|
||||
return@setOrderInfoClickListener
|
||||
}
|
||||
}else{
|
||||
ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver))
|
||||
return@setOrderInfoClickListener
|
||||
}
|
||||
|
||||
CallerLogger.d(M_BUS_P+ TAG, "initViews---$tab")
|
||||
if(tab==ORDERINFO) {
|
||||
dismissAllowingStateLoss()
|
||||
|
||||
@@ -82,7 +82,6 @@ class GoViewWithArrive @JvmOverloads constructor(
|
||||
ToastUtils.showShort("设备未就绪请稍等")
|
||||
}
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {//
|
||||
ToastUtils.showShort("启动自动驾驶中")
|
||||
CallerAutoPilotControlManager.sendPlanningCmd(2)
|
||||
CharterPassengerModel.startAutopilot()
|
||||
onceRegisterAutoStatus()
|
||||
|
||||
@@ -47,6 +47,8 @@ class StatusBarView @JvmOverloads constructor(
|
||||
|
||||
private var mHits = LongArray(COUNTS)
|
||||
|
||||
private var preStatus = -1
|
||||
|
||||
private fun continuousClick(type:String) {
|
||||
//每次点击时,数组向前移动一位
|
||||
System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1)
|
||||
@@ -96,6 +98,10 @@ class StatusBarView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
private fun setAutoPilotSatusInfo(state: Int) {
|
||||
if(preStatus==state){
|
||||
return
|
||||
}
|
||||
preStatus = state
|
||||
when (state) {
|
||||
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {
|
||||
actv_auto_status.text = "安全接管中"
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:inputType="numberPassword"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:imeOptions="actionDone"
|
||||
android:textSize="@dimen/dp_32"
|
||||
android:textColor="@android:color/white"
|
||||
android:background="@drawable/charter_p_debugview_edit_bg"
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<string name="m1_close_door_and_startauto">先关闭车门再启动吧~</string>
|
||||
<string name="m1_start_auto_fail">自驾系统繁忙,稍后再试试吧~</string>
|
||||
|
||||
<string name="arrived_station_left_100">%1$s站就要到啦!</string>
|
||||
<!-- <string name="m1_novice_guidance_tts">正在为您靠边停车,扶稳坐好哟</string>-->
|
||||
<!-- <string name="m1_novice_guidance_tts">靠边停车成功</string>-->
|
||||
<!-- <string name="m1_novice_guidance_tts">车辆系统繁忙,请稍后再试</string>-->
|
||||
|
||||
@@ -108,15 +108,15 @@ class MoGoAdasListenerImpl : OnAdasListener {
|
||||
}
|
||||
}
|
||||
|
||||
//感知物体
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
|
||||
linkCode = CHAIN_LINK_ADAS,
|
||||
endpoint = PAD,
|
||||
nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
|
||||
paramIndexes = [0, 1],
|
||||
clientPkFileName = "sn"
|
||||
)
|
||||
//感知物体 注解暂时关闭,通过调试面板查看数量,此注解暂时用于aiCloud显示感知物
|
||||
// @ChainLog(
|
||||
// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED,
|
||||
// linkCode = CHAIN_LINK_ADAS,
|
||||
// endpoint = PAD,
|
||||
// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA,
|
||||
// paramIndexes = [0, 1],
|
||||
// clientPkFileName = "sn"
|
||||
// )
|
||||
override fun onTrackedObjects(
|
||||
header: MessagePad.Header,
|
||||
trackedObjects: MessagePad.TrackedObjects
|
||||
|
||||
@@ -54,7 +54,7 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
|
||||
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_AUTO)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
|
||||
FwBuild(false, 30, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
|
||||
FwBuild(true, -1, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_DATA_TRACK)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
|
||||
FwBuild(false, 30, pkgName + ChainConstant.CHAIN_LINK_LOG_ADAS_TRAJECTORY)
|
||||
fwBuildMap[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
|
||||
@@ -82,7 +82,7 @@ class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener {
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT] =
|
||||
ChainLogParam(true, "ADAS自动驾驶链路(包含: 自动驾驶状态交互,全局路径,到站提醒,节点状态,异常上报)")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_DATA_TRACKED] =
|
||||
ChainLogParam(false, "ADAS感知物体")
|
||||
ChainLogParam(true, "ADAS感知物体")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_TRAJECTORY] =
|
||||
ChainLogParam(false, "ADAS车前引导线")
|
||||
traceInfoCache[ChainConstant.CHAIN_LINK_LOG_WEB_SOCKET_VEHICLE] =
|
||||
|
||||
@@ -43,12 +43,18 @@ class UpgradeAppNetWorkManager private constructor() {
|
||||
scope.launch {
|
||||
val sn = MoGoAiCloudClientConfig.getInstance().sn //null
|
||||
val macAddress = mac //"48:b0:2d:4d:31:7f"
|
||||
val type = screenType //10
|
||||
val type = screenType //"10"
|
||||
SharedPrefsMgr.getInstance(context!!).putString(SharedPrefsConstants.HOST_ADDRESS, HostConst.getHost())
|
||||
|
||||
try {
|
||||
val records = provider?.getUpgradeRecords()?.also {
|
||||
MogoAnalyticUtils.track("AppUpgradeRecord", it.let { TreeMap<String, Any>().also { itx -> itx.putAll(it) } })
|
||||
MogoAnalyticUtils.track("AppUpgradeRecord", TreeMap<String, Any>().also { itx ->
|
||||
it.entries.forEach { entry ->
|
||||
itx[entry.key] = entry.value.joinToString(",") {
|
||||
"${ it.first } -> ${ it.second }"
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Log.d(TAG, "getAppUpgradeInfo: -> records:" + records?.entries?.joinToString(",") { itx -> "key:${itx.key} -> value:[${itx.value.joinToString(",") { "${it.first},${it.second}" } }]"})
|
||||
val versionCode = AppUtils.getAppVersionCode()
|
||||
|
||||
@@ -166,6 +166,7 @@ class UpgradeManager : IDownloadListener {
|
||||
}
|
||||
} else {
|
||||
val apk = File(localPath)
|
||||
upgradeProvider?.recordInstallStart()
|
||||
withContext(Dispatchers.Main) {
|
||||
ApkInstaller.installApp(Utils.getApp(), apk) { code, reason ->
|
||||
if (code != PackageInstaller.STATUS_SUCCESS) {
|
||||
|
||||
@@ -127,14 +127,13 @@ class MoGoHmiProvider : IMoGoHmiProvider {
|
||||
"--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime"
|
||||
)
|
||||
lastShowV2XJob?.safeCancel()
|
||||
ProcessLifecycleOwner.get().lifecycleScope.launch(Dispatchers.Default) {
|
||||
ProcessLifecycleOwner.get().lifecycleScope.launch {
|
||||
delay(expireTime)
|
||||
}.also { itx ->
|
||||
lastShowV2XJob = itx
|
||||
}.invokeOnCompletion {
|
||||
listener?.onDismiss()
|
||||
}
|
||||
|
||||
Log.d("CODE", "---- 00 ------ tts_content: $ttsContent")
|
||||
if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) {
|
||||
val last = lastSpeakJob.get()
|
||||
|
||||
@@ -4,21 +4,20 @@ import android.content.Context
|
||||
import com.mogo.aicloud.services.socket.IMogoOnMessageListener
|
||||
import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.commons.module.status.MogoStatusManager
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.deva.chain.ChainConstant
|
||||
import com.mogo.eagle.core.data.multidisplay.TelematicConstant
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener
|
||||
import com.mogo.eagle.core.function.business.ai.net.AiCloudIdentifyNetWorkModel.Companion.aiCloudIdentifyNetWorkModel
|
||||
import com.mogo.eagle.core.function.business.identify.MapIdentifySubscriber
|
||||
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.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapRomaListener
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager.updateLongSightLevel
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager
|
||||
import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.sendMsgToServer
|
||||
import com.mogo.eagle.core.function.utils.MapBizTrace
|
||||
import com.mogo.eagle.core.utilcode.util.ToastUtils
|
||||
import com.mogo.map.MogoMapUIController
|
||||
@@ -47,7 +46,6 @@ class AiCloudIdentifyDataManager : IMogoMapListener,
|
||||
}
|
||||
|
||||
private var showAiCloud = AtomicBoolean(false)
|
||||
private var serverSn = ""
|
||||
|
||||
fun initServer(mContext: Context) {
|
||||
MogoMapListenerHandler.mogoMapListenerHandler.registerHostMapListener(TAG, this)
|
||||
@@ -125,8 +123,10 @@ class AiCloudIdentifyDataManager : IMogoMapListener,
|
||||
// CallerMapRomaListener.invokeMapRoma(false)
|
||||
// sendMsgToServer(TelematicConstant.OPEN_ROMA_STATUS, "4".toByteArray())
|
||||
// }
|
||||
MapBizTrace.log(TAG,"开启请求,data:$dataReceive")
|
||||
aiCloudIdentifyNetWorkModel.requestIdentifyRange(dataReceive, serverSn, {
|
||||
val status = MogoStatusManager.getInstance().isSocketOnLine
|
||||
val gnss = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().gnssInfo
|
||||
MapBizTrace.log(TAG,"开启请求,data:$dataReceive , socketStatus:$status , lon:${gnss.longitude} , lat:${gnss.latitude}")
|
||||
aiCloudIdentifyNetWorkModel.requestIdentifyRange(dataReceive, gnss.longitude,gnss.latitude,{
|
||||
MapBizTrace.log(
|
||||
TAG,
|
||||
"requestIdentifyRange ok startRange:$START_METRE, endRange:$END_METRE , dataReceive:$dataReceive"
|
||||
@@ -156,7 +156,7 @@ class AiCloudIdentifyDataManager : IMogoMapListener,
|
||||
when {
|
||||
// 解除漫游限制
|
||||
visualAngleMode.isRoma -> {
|
||||
MapBizTrace.log(TAG, "onMapVisualAngleChanged, invoke roma")
|
||||
MapBizTrace.log(TAG, "onMapVisualAngleChanged, invoke roma , socketStatus: ${ MogoStatusManager.getInstance().isSocketOnLine}")
|
||||
showAiCloud.set(true)
|
||||
FunctionBuildConfig.isDrawIdentifyData = false
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.business.ai.net
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.constants.HostConst.getEagleHost
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.eagle.core.data.BaseResponse
|
||||
import com.mogo.eagle.core.function.business.ai.AiCloudIdentifyDataManager.Companion.END_METRE
|
||||
import com.mogo.eagle.core.function.business.ai.AiCloudIdentifyDataManager.Companion.START_METRE
|
||||
@@ -10,7 +9,7 @@ import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.eagle.core.network.apiCall
|
||||
import com.mogo.eagle.core.network.request
|
||||
|
||||
class AiCloudIdentifyNetWorkModel private constructor(){
|
||||
class AiCloudIdentifyNetWorkModel private constructor() {
|
||||
|
||||
companion object {
|
||||
val aiCloudIdentifyNetWorkModel by lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||
@@ -25,7 +24,7 @@ class AiCloudIdentifyNetWorkModel private constructor(){
|
||||
|
||||
fun requestIdentifyRange(
|
||||
dataReceive: Boolean,
|
||||
serverSn:String,
|
||||
lon: Double, lat: Double,
|
||||
onSuccess: (() -> Unit),
|
||||
onError: ((String) -> Unit)
|
||||
) {
|
||||
@@ -37,7 +36,12 @@ class AiCloudIdentifyNetWorkModel private constructor(){
|
||||
map["startMetre"] = START_METRE
|
||||
map["endMetre"] = END_METRE
|
||||
map["type"] = 1
|
||||
map["relationSn"] = serverSn
|
||||
if (lon != 0.0) {
|
||||
map["lon"] = lon
|
||||
}
|
||||
if (lat != 0.0) {
|
||||
map["lat"] = lat
|
||||
}
|
||||
}
|
||||
loader {
|
||||
apiCall {
|
||||
|
||||
Reference in New Issue
Block a user