[6.6.0]
[unmanned] [轮训修改]
This commit is contained in:
@@ -326,7 +326,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
}
|
||||
}else{ //演练任务拉取 6.2.0使用配置的时间拉取, 默认45s
|
||||
TaxiTaskModel.startPrepareTaskDelay(
|
||||
CallerUnmannedListenerManager.getVirtualTaskPullTaskInterval() * 1000L, result?.endSite!!.siteId)
|
||||
CallerUnmannedListenerManager.getVirtualTaskPullTaskIntervalF() * 1000L, result?.endSite!!.siteId)
|
||||
}
|
||||
|
||||
clearDemoModeAndACParameters()
|
||||
@@ -361,7 +361,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
//获取新的任务
|
||||
val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder()
|
||||
currentTaskWithOrder?.endSite?.also {//使用配置的时间拉取, 默认是45s
|
||||
TaxiTaskModel.startPrepareTaskDelay(CallerUnmannedListenerManager.getVirtualTaskPullTaskInterval() * 1000L,
|
||||
TaxiTaskModel.startPrepareTaskDelay(CallerUnmannedListenerManager.getVirtualTaskPullTaskIntervalF() * 1000L,
|
||||
it.siteId)
|
||||
}
|
||||
// 设置task执行相关状态,切换模式时判断使用
|
||||
|
||||
@@ -270,6 +270,17 @@ object TaxiTaskModel {
|
||||
override fun onVirtualTaskPullTaskIntervalUpdate(time: Int) {
|
||||
DebugView.printInfoMsg("[演练任务拉取时间间隔变化] afterValue=${time}秒")
|
||||
}
|
||||
|
||||
override fun onSwitch(isLoop: Boolean) {
|
||||
if(isLoop){ //由非轮训改为轮训 重新启动轮训
|
||||
if (LoginStatusManager.isOpenOrderType()) {
|
||||
endService(true)
|
||||
}
|
||||
}else{// 由轮训改为非轮训
|
||||
startPrepareTaskDelay(CallerUnmannedListenerManager.getVirtualTaskPullTaskIntervalF() * 1000L,
|
||||
0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val mMogoAutopilotStatusListener: IOchAutopilotStatusListener =
|
||||
@@ -1029,10 +1040,10 @@ object TaxiTaskModel {
|
||||
* ⑥ 拉取任务失败后5s后重试
|
||||
*/
|
||||
fun startPrepareTaskDelay(delayTime: Long, siteId: Long) {
|
||||
removePrepareTaskDelay()
|
||||
if(delayTime<0){
|
||||
return
|
||||
}
|
||||
removePrepareTaskDelay()
|
||||
|
||||
mPrepareTaskDelayRunnable = Runnable {
|
||||
prepareNextTask(siteId)
|
||||
@@ -1111,74 +1122,85 @@ object TaxiTaskModel {
|
||||
return
|
||||
}
|
||||
if (LoginStatusManager.isOpenOrderType()) {//接单状态下,去结束
|
||||
DebugView.printInfoMsg("[暂停接单] 准备发送请求")
|
||||
TaxiTaskWithOrderServiceManager.endService(
|
||||
mContext,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
DebugView.printInfoMsg("[暂停接单] 请求success")
|
||||
LoginStatusManager.queryLoginStatusByNet()
|
||||
//需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的
|
||||
mDriveToNearestStationTask = null
|
||||
mTaxiCarServiceCallback?.onCarEndServiceSuccess(
|
||||
mDriveToNearestStationTask,
|
||||
mCurrentTaskWithOrder
|
||||
)
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
mTaxiCarServiceCallback?.onCarEndServiceError()
|
||||
DebugView.printErrorMsg("[暂停接单] 请求error")
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
DebugView.printErrorMsg("[暂停接单] 请求fail, code=$code, msg=$msg")
|
||||
mTaxiCarServiceCallback?.onCarEndServiceFailed(code, msg)
|
||||
}
|
||||
})
|
||||
endService(false)
|
||||
} else {
|
||||
//暂停接单状态下,去接单
|
||||
DebugView.printInfoMsg("[开始接单] 准备发送请求")
|
||||
val gcJ02Location = OchLocationManager.getGCJ02Location()
|
||||
TaxiTaskWithOrderServiceManager.startService(mContext,
|
||||
gcJ02Location.latitude, gcJ02Location.longitude,
|
||||
object : OchCommonServiceCallback<StartServiceRespBean> {
|
||||
override fun onSuccess(data: StartServiceRespBean?) {
|
||||
if (data == null) return
|
||||
DebugView.printInfoMsg("[开始接单] 请求success")
|
||||
d(TAG, "data.data=" + GsonUtil.jsonFromObject(data.data))
|
||||
LoginStatusManager.queryLoginStatusByNet()
|
||||
mCurrentTaskWithOrder?.apply {
|
||||
if (endSite != null) {
|
||||
when {
|
||||
currentStatus == TaskStatusEnum.CompleteTask.code && order != null -> return
|
||||
currentStatus < TaskStatusEnum.CompleteTask.code -> return
|
||||
}
|
||||
}
|
||||
if (currentStatus == TaskStatusEnum.None.code && order != null){
|
||||
//订单送驾到站, 但是还没点服务完成的情况, 此时endSite == null currentStatus == 0
|
||||
return
|
||||
startService()
|
||||
}
|
||||
}
|
||||
|
||||
private fun endService(needStart: Boolean) {
|
||||
DebugView.printInfoMsg("[暂停接单] 准备发送请求")
|
||||
TaxiTaskWithOrderServiceManager.endService(
|
||||
mContext,
|
||||
object : OchCommonServiceCallback<BaseData> {
|
||||
override fun onSuccess(data: BaseData?) {
|
||||
DebugView.printInfoMsg("[暂停接单] 请求success")
|
||||
LoginStatusManager.queryLoginStatusByNet()
|
||||
//需要将虚拟任务停掉, 虚拟任务会再开始接单后获取新的
|
||||
mDriveToNearestStationTask = null
|
||||
mTaxiCarServiceCallback?.onCarEndServiceSuccess(
|
||||
mDriveToNearestStationTask,
|
||||
mCurrentTaskWithOrder
|
||||
)
|
||||
if(needStart){
|
||||
startService()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
mTaxiCarServiceCallback?.onCarEndServiceError()
|
||||
DebugView.printErrorMsg("[暂停接单] 请求error")
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
DebugView.printErrorMsg("[暂停接单] 请求fail, code=$code, msg=$msg")
|
||||
mTaxiCarServiceCallback?.onCarEndServiceFailed(code, msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun startService(){
|
||||
//暂停接单状态下,去接单
|
||||
DebugView.printInfoMsg("[开始接单] 准备发送请求")
|
||||
val gcJ02Location = OchLocationManager.getGCJ02Location()
|
||||
TaxiTaskWithOrderServiceManager.startService(mContext,
|
||||
gcJ02Location.latitude, gcJ02Location.longitude,
|
||||
object : OchCommonServiceCallback<StartServiceRespBean> {
|
||||
override fun onSuccess(data: StartServiceRespBean?) {
|
||||
if (data == null) return
|
||||
DebugView.printInfoMsg("[开始接单] 请求success")
|
||||
d(TAG, "data.data=" + GsonUtil.jsonFromObject(data.data))
|
||||
LoginStatusManager.queryLoginStatusByNet()
|
||||
mCurrentTaskWithOrder?.apply {
|
||||
if (endSite != null) {
|
||||
when {
|
||||
currentStatus == TaskStatusEnum.CompleteTask.code && order != null -> return
|
||||
currentStatus < TaskStatusEnum.CompleteTask.code -> return
|
||||
}
|
||||
}
|
||||
mDriveToNearestStationTask = data.data
|
||||
mLastArrivedSiteId = -1L //开始标定站点任务时, 到达站点标志位需复位
|
||||
mTaxiCarServiceCallback?.onCarStartServiceSuccess(
|
||||
mDriveToNearestStationTask,
|
||||
mCurrentTaskWithOrder
|
||||
)
|
||||
if (currentStatus == TaskStatusEnum.None.code && order != null){
|
||||
//订单送驾到站, 但是还没点服务完成的情况, 此时endSite == null currentStatus == 0
|
||||
return
|
||||
}
|
||||
}
|
||||
mDriveToNearestStationTask = data.data
|
||||
mLastArrivedSiteId = -1L //开始标定站点任务时, 到达站点标志位需复位
|
||||
mTaxiCarServiceCallback?.onCarStartServiceSuccess(
|
||||
mDriveToNearestStationTask,
|
||||
mCurrentTaskWithOrder
|
||||
)
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
DebugView.printErrorMsg("[开始接单] 请求fail, code=$code, msg=$msg")
|
||||
mTaxiCarServiceCallback?.onCarStartServiceFailed(code, msg)
|
||||
}
|
||||
override fun onFail(code: Int, msg: String) {
|
||||
DebugView.printErrorMsg("[开始接单] 请求fail, code=$code, msg=$msg")
|
||||
mTaxiCarServiceCallback?.onCarStartServiceFailed(code, msg)
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
DebugView.printErrorMsg("[开始接单] 请求error")
|
||||
mTaxiCarServiceCallback?.onCarStartServiceError()
|
||||
}
|
||||
})
|
||||
}
|
||||
override fun onError() {
|
||||
DebugView.printErrorMsg("[开始接单] 请求error")
|
||||
mTaxiCarServiceCallback?.onCarStartServiceError()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -894,7 +894,7 @@ internal class SOPSettingView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
val virtualTaskPullTaskInterval = CallerUnmannedListenerManager.getVirtualTaskPullTaskInterval()
|
||||
val virtualTaskPullTaskInterval = CallerUnmannedListenerManager.getVirtualTaskPullTaskIntervalF()
|
||||
rbFive.isChecked = virtualTaskPullTaskInterval == 5
|
||||
rbFifteen.isChecked = virtualTaskPullTaskInterval == 15
|
||||
rbThirty.isChecked = virtualTaskPullTaskInterval == 30
|
||||
|
||||
@@ -5,4 +5,5 @@ interface IUnmannedListener {
|
||||
* 单位: 秒(s)
|
||||
*/
|
||||
fun onVirtualTaskPullTaskIntervalUpdate(time: Int)
|
||||
fun onSwitch(isLoop:Boolean){}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.call.unmanned
|
||||
import android.util.Log
|
||||
import com.mogo.eagle.core.function.api.unmanned.IUnmannedListener
|
||||
import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
import kotlin.properties.Delegates
|
||||
|
||||
/**
|
||||
* 无人化功能状态监听、回调管理者
|
||||
@@ -10,7 +11,28 @@ import com.mogo.eagle.core.function.call.base.CallerBase
|
||||
object CallerUnmannedListenerManager : CallerBase<IUnmannedListener>() {
|
||||
private const val TAG = "CallerUnmannedListenerManager"
|
||||
|
||||
private var virtualTaskPullTaskInterval: Int = 45 //单位:秒
|
||||
//单位:秒
|
||||
private var virtualTaskPullTaskInterval: Int by Delegates.observable(45) { _, oldValue, newValue ->
|
||||
if(oldValue<0&&newValue>0){
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
try {
|
||||
listener.onSwitch(true)// 由非轮训改为轮训
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "转发消息出现异常:${e.message}")
|
||||
}
|
||||
}
|
||||
}else if(oldValue>0&&newValue<0){
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
try {
|
||||
listener.onSwitch(false)// 由轮训改为非轮训
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "转发消息出现异常:${e.message}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun doSomeAfterAddListener(tag: String, listener: IUnmannedListener) {
|
||||
super.doSomeAfterAddListener(tag, listener)
|
||||
@@ -32,7 +54,7 @@ object CallerUnmannedListenerManager : CallerBase<IUnmannedListener>() {
|
||||
/**
|
||||
* 获取无人化演练拉取的时间间隔(单位: 秒)
|
||||
*/
|
||||
fun getVirtualTaskPullTaskInterval(): Int {
|
||||
fun getVirtualTaskPullTaskIntervalF(): Int {
|
||||
return virtualTaskPullTaskInterval
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user