Merge branch 'dev_robotaxi-d_231206_6.2.4' into dev_sweeper-d_231206_6.2.4

This commit is contained in:
aibingbing
2023-12-07 18:56:35 +08:00
11 changed files with 79 additions and 20 deletions

View File

@@ -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?)

View File

@@ -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)

View File

@@ -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")

View File

@@ -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,

View File

@@ -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="车辆当前任务&amp;订单信息"
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" />

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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包文件地址

View File

@@ -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包文件地址

View File

@@ -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) {

View File

@@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7
applicationId=com.mogo.launcer
applicationName=IntelligentPilot
# RoboBus司机端2.5.1RoboTaxi司机端2.5.1RoboTaxi乘客端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
# 支持云控清扫车模式司机端版本号