Merge branch 'dev_robotaxi-d_231206_6.2.4' into dev_sweeper-d_231206_6.2.4
This commit is contained in:
@@ -4,6 +4,7 @@ import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
|
||||
import com.mogo.och.taxi.bean.TrajectoryListRespBean
|
||||
|
||||
interface ITaxiTaskWithOrderCallback {
|
||||
fun onTaskWithOrderQuerySuccess(timeMillis: Long)
|
||||
fun onTaskWithOrderDataChanged(taskWithOrder: QueryCurrentTaskRespBean.Result?)
|
||||
fun onTaskCompleted(result: QueryCurrentTaskRespBean.Result?)
|
||||
fun onTaskStarted(result: QueryCurrentTaskRespBean.Result?)
|
||||
|
||||
@@ -42,10 +42,12 @@ import kotlinx.android.synthetic.main.taxi_debug_order.view.currentLineId
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentOrder
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentOrderStopInfo
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentOrderTrajectoryInfo
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentOrderTrajectoryTime
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentStatus
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.currentTaskType
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.debugLogHistoryTextView
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.debugLogTitleTextView
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.lastQuerySuccessDataTimestamps
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.orderEndSiteInfo
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.orderNo
|
||||
import kotlinx.android.synthetic.main.taxi_debug_order.view.orderPreLoadLines
|
||||
@@ -126,6 +128,16 @@ public class DebugView @JvmOverloads constructor(
|
||||
DateTimeUtil.yyyy_MM_dd_HH_mm_ss
|
||||
)
|
||||
}
|
||||
|
||||
private fun formatDateTimeString(timeMillis: Long): String {
|
||||
if (timeMillis <= 0L) {
|
||||
return ""
|
||||
}
|
||||
return DateTimeUtil.formatCalendarToString(
|
||||
DateTimeUtil.formatLongToCalendar(timeMillis),
|
||||
DateTimeUtil.yyyy_MM_dd_HH_mm_ss
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private val broadcastReceiver = object : BroadcastReceiver() {
|
||||
@@ -198,6 +210,7 @@ public class DebugView @JvmOverloads constructor(
|
||||
initCurrentBusinessMode()
|
||||
initViewByTaskData(TaxiTaskModel.getCurrentTaskWithOrder())
|
||||
initDebugLogTextViewTitle()
|
||||
initLastTaskDataQuerySuccess(0L)
|
||||
}
|
||||
|
||||
private fun initCurrentBusinessMode() {
|
||||
@@ -207,11 +220,16 @@ public class DebugView @JvmOverloads constructor(
|
||||
"当前业务模式:${if (isRoutingVerifyMode) "自主算路验证模式" else "无人化运营流程模式"}"
|
||||
}
|
||||
|
||||
private fun initLastTaskDataQuerySuccess(timeMillis: Long) {
|
||||
lastQuerySuccessDataTimestamps.text =
|
||||
"【最新数据查询成功时间】${formatDateTimeString(timeMillis)}"
|
||||
}
|
||||
|
||||
private fun initViewByTaskData(data: QueryCurrentTaskRespBean.Result?) {
|
||||
//release包下隐藏Mock按钮,避免司机误操作
|
||||
btnContainer.visibility = if (AppUtils.isAppDebug()) View.VISIBLE else View.INVISIBLE
|
||||
val curContrail = TaxiTaskModel.getCurrentTaskTrajectory()
|
||||
currentDataTimestamps.text = "【当前数据返回时间】${currentDateTimeString()}"
|
||||
currentDataTimestamps.text = "【当前数据更新时间】${currentDateTimeString()}"
|
||||
currentCarStatus.text =
|
||||
"【当前车辆状态】${data?.servingStatus} --> ${if (data?.servingStatus == 1) "开始接单" else "暂停接单"}"
|
||||
currentTaskType.text =
|
||||
@@ -233,10 +251,12 @@ public class DebugView @JvmOverloads constructor(
|
||||
"【订单终点】${data?.order?.orderEndSite?.siteName} siteId=${data?.order?.orderEndSite?.siteId}"
|
||||
orderPreLoadLines.text =
|
||||
"【接驾任务预加载lineIds】${GsonUtil.jsonFromObject(data?.order?.planningLines)}"
|
||||
currentOrderTrajectoryTime.text =
|
||||
"【当前任务轨迹保存时间】contrailSaveTime=${formatDateTimeString(curContrail?.contrailSaveTime ?: 0L)} , contrailSaveTimeDPQP=${formatDateTimeString(curContrail?.contrailSaveTimeDPQP ?: 0L)}"
|
||||
currentOrderTrajectoryInfo.text =
|
||||
"【当前任务Traj信息】TrajMd5=${curContrail?.csvFileMd5} , TrajDPQPMd5=${curContrail?.csvFileMd5DPQP}"
|
||||
"【当前任务轨迹Traj信息】TrajMd5=${curContrail?.csvFileMd5} , TrajDPQPMd5=${curContrail?.csvFileMd5DPQP}"
|
||||
currentOrderStopInfo.text =
|
||||
"【当前任务Stop信息】StopMd5=${curContrail?.txtFileMd5}, StopDPQPMd5=${curContrail?.txtFileMd5DPQP}"
|
||||
"【当前任务轨迹Stop信息】StopMd5=${curContrail?.txtFileMd5}, StopDPQPMd5=${curContrail?.txtFileMd5DPQP}"
|
||||
}
|
||||
|
||||
private fun initDebugLogTextViewTitle() {
|
||||
@@ -246,6 +266,10 @@ public class DebugView @JvmOverloads constructor(
|
||||
if (isRoutingVerifyMode) "自主算路验证模式关键节点日志(司机端)" else "无人化运营流程关键节点日志(司机端)"
|
||||
}
|
||||
|
||||
override fun onTaskWithOrderQuerySuccess(timeMillis: Long) {
|
||||
initLastTaskDataQuerySuccess(timeMillis)
|
||||
}
|
||||
|
||||
override fun onTaskWithOrderDataChanged(taskWithOrder: QueryCurrentTaskRespBean.Result?) {
|
||||
d(TAG, "onTaskWithOrderDataChanged")
|
||||
initViewByTaskData(taskWithOrder)
|
||||
|
||||
@@ -232,6 +232,9 @@ class TaxiCurrentTaskViewModel : BaseViewModel<UnmannedState, TaskUiIntent>(),
|
||||
}
|
||||
}
|
||||
|
||||
override fun onTaskWithOrderQuerySuccess(timeMillis: Long) {
|
||||
}
|
||||
|
||||
override fun onTaskWithOrderDataChanged(result: QueryCurrentTaskRespBean.Result?) {
|
||||
d(TAG, "onTaskWithOrderChanged = result = " + GsonUtil.jsonFromObject(result))
|
||||
DebugView.printInfoMsg("[查询TaskWithOrder信息] 更新数据, 刷新UI")
|
||||
|
||||
@@ -466,7 +466,7 @@ object TaxiTaskModel {
|
||||
startFailedCode: String,
|
||||
startFailedMessage: String
|
||||
) {
|
||||
DebugView.printInfoMsg("[启自驾] 执行失败,code=$startFailedCode, msg=$startFailedMessage")
|
||||
DebugView.printErrorMsg("[启自驾] 执行失败,code=$startFailedCode, msg=$startFailedMessage")
|
||||
TaxiAnalyticsManager.getInstance()
|
||||
.triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage)
|
||||
if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) {
|
||||
@@ -723,6 +723,12 @@ object TaxiTaskModel {
|
||||
object : OchCommonServiceCallback<QueryCurrentTaskRespBean> {
|
||||
override fun onSuccess(data: QueryCurrentTaskRespBean?) {
|
||||
//DebugView.printInfoMsg("[查询TaskWithOrder信息] success")
|
||||
val currentTimeStamp = System.currentTimeMillis()
|
||||
mTaxiTaskWithOrderCallbackMap.forEach {
|
||||
val listener = it.value
|
||||
listener.onTaskWithOrderQuerySuccess(currentTimeStamp)
|
||||
}
|
||||
|
||||
if (data?.data == null) {
|
||||
d(
|
||||
TAG,
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
android:id="@+id/unmanedTaskOrderContainer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10">
|
||||
android:layout_marginTop="@dimen/dp_5">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/btnContainer"
|
||||
@@ -97,11 +97,18 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:text="车辆当前任务&订单信息"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lastQuerySuccessDataTimestamps"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/currentDataTimestamps"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -156,6 +163,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:visibility="gone"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<TextView
|
||||
@@ -193,6 +201,13 @@
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/currentOrderTrajectoryTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/currentOrderTrajectoryInfo"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -213,7 +228,7 @@
|
||||
android:id="@+id/debugLogTitleTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:text="无人化运营流程关键节点日志(司机端)"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/dp_24" />
|
||||
|
||||
@@ -197,9 +197,12 @@ class AIDataCollectWindow constructor(activity: Activity) : View.OnTouchListener
|
||||
override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) {
|
||||
CallerLogger.d("${M_DEVA}${TAG}", "-- 收到工控机录制任务回调 -- $recordPanel")
|
||||
ThreadUtils.runOnUiThread {
|
||||
if (recordKey == null) {
|
||||
recordKey = recordPanel.key.toString()
|
||||
recordKey = recordPanel.key.toString()
|
||||
//开始录制
|
||||
if(recordPanel.stat == 300){
|
||||
BadCaseConfig.recordKeyList.add(recordPanel.key)
|
||||
//保存录包状态
|
||||
BadCaseConfig.bagResourceList.add(recordPanel.key)
|
||||
}
|
||||
if (recordFileName == null) {
|
||||
recordFileName = recordPanel.filename
|
||||
|
||||
@@ -211,7 +211,11 @@ class BadCaseManagerView @JvmOverloads constructor(
|
||||
//延迟播放
|
||||
Handler().postDelayed({
|
||||
//音频文件播放
|
||||
Audition.getInstance().playOrStop("${audioSavePath}${key}.wav")
|
||||
try {
|
||||
Audition.getInstance().playOrStop("${audioSavePath}${key}.wav")
|
||||
}catch (e: Exception){
|
||||
CallerLogger.i(M_DEVA + TAG,"playOrStop=${e}")
|
||||
}
|
||||
}, 1500)
|
||||
}
|
||||
|
||||
|
||||
@@ -427,7 +427,8 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList
|
||||
"$uploadReason 语音内容:$reasonDetail"
|
||||
}
|
||||
//上报到工控机
|
||||
CallerAutoPilotControlManager.recordCause(recordKey.toString(),recordFileName,"",uploadReason.toString()+reasonDetail)
|
||||
CallerAutoPilotControlManager.recordCause(recordKey.toString(),recordFileName,"",
|
||||
"$uploadReason:$reasonDetail")
|
||||
val uploadResult = presenter.upload(mutableMapOf<String, String>().also { itx ->
|
||||
itx["carLicense"] = AppConfigInfo.plateNumber?:"" //车牌号
|
||||
itx["filename"] = recordFileName?:"" //bag包文件地址
|
||||
|
||||
@@ -424,7 +424,9 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene
|
||||
"$uploadReason 语音内容:$reasonDetail"
|
||||
}
|
||||
//上报到工控机
|
||||
CallerAutoPilotControlManager.recordCause(recordKey,recordFileName,"",uploadReason.toString()+reasonDetail)
|
||||
CallerAutoPilotControlManager.recordCause(recordKey,recordFileName,"",
|
||||
"$uploadReason:$reasonDetail"
|
||||
)
|
||||
val uploadResult = presenter.upload(mutableMapOf<String, String>().also { itx ->
|
||||
itx["carLicense"] = AppConfigInfo.plateNumber //车牌号
|
||||
itx["filename"] = recordFileName?:"" //bag包文件地址
|
||||
|
||||
@@ -25,7 +25,7 @@ object RecordBitmapUtils {
|
||||
fun bitmap2Path(bitmap: Bitmap, path: String?): String? {
|
||||
try {
|
||||
val os: OutputStream = FileOutputStream(path)
|
||||
bitmap.compress(Bitmap.CompressFormat.PNG, 80, os)
|
||||
bitmap.compress(Bitmap.CompressFormat.PNG, 50, os)
|
||||
os.flush()
|
||||
os.close()
|
||||
} catch (e: java.lang.Exception) {
|
||||
|
||||
@@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7
|
||||
applicationId=com.mogo.launcer
|
||||
applicationName=IntelligentPilot
|
||||
# RoboBus司机端:2.5.1;RoboTaxi司机端:2.5.1;RoboTaxi乘客端:1.0.0
|
||||
versionCode=6002002
|
||||
versionName=6.2.2
|
||||
versionCode=6002004
|
||||
versionName=6.2.4
|
||||
|
||||
################# 新架构模块Maven版本管理 #################
|
||||
MOGO_CORE_FUNCTION_HMI_VERSION=0.0.58.10
|
||||
@@ -150,25 +150,25 @@ MATRIX_VERSION=2.0.8
|
||||
# 测试模式司机端版本号
|
||||
NOOP_DRIVER_VERSION=3.2.0
|
||||
# 公交模式司机端版本号
|
||||
BUS_DRIVER_VERSION=6.2.0
|
||||
BUS_DRIVER_VERSION=6.2.4
|
||||
# 公交模式乘客端端版本号
|
||||
BUS_PASSENGER_VERSION=5.2.0
|
||||
# 接驳模式司机端版本号
|
||||
SHUTTLE_DRIVER_VERSION=6.2.0
|
||||
SHUTTLE_DRIVER_VERSION=6.2.4
|
||||
# 接驳模式乘客端端版本号
|
||||
SHUTTLE_PASSENGER_VERSION=5.2.0
|
||||
# 出租车模式司机端版本号
|
||||
TAXI_DRIVER_VERSION=6.2.0
|
||||
TAXI_DRIVER_VERSION=6.2.4
|
||||
# 出租车模式乘客端端版本号
|
||||
TAXI_PASSENGER_VERSION=5.2.0
|
||||
|
||||
# 出租车模式司机端版本号
|
||||
TAXIUNMANNED_DRIVER_VERSION=6.2.2
|
||||
TAXIUNMANNED_DRIVER_VERSION=6.2.4
|
||||
# 出租车模式乘客端端版本号
|
||||
TAXIUNMANNED_PASSENGER_VERSION=5.2.0
|
||||
|
||||
# 包车模式司机端版本号
|
||||
CHARTER_DRIVER_VERSION=6.2.0
|
||||
CHARTER_DRIVER_VERSION=6.2.4
|
||||
# 包车模式乘客端端版本号
|
||||
CHARTER_PASSENGER_VERSION=5.2.0
|
||||
# 支持云控清扫车模式司机端版本号
|
||||
|
||||
Reference in New Issue
Block a user