diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt index 1cfc6109b2..d22671f0e2 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/callback/ITaxiTaskWithOrderCallback.kt @@ -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?) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/debug/DebugView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/debug/DebugView.kt index 25556b87a0..d8499cdd83 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/debug/DebugView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/debug/DebugView.kt @@ -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) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index 7df5e66270..7e65cb6535 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -232,6 +232,9 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), } } + override fun onTaskWithOrderQuerySuccess(timeMillis: Long) { + } + override fun onTaskWithOrderDataChanged(result: QueryCurrentTaskRespBean.Result?) { d(TAG, "onTaskWithOrderChanged = result = " + GsonUtil.jsonFromObject(result)) DebugView.printInfoMsg("[查询TaskWithOrder信息] 更新数据, 刷新UI") diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 05adb6f86b..8b29762713 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -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 { 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, diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml index e56f833b6c..876a2b1e1a 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxi_debug_order.xml @@ -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"> + + + + diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/AIDataCollectWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/AIDataCollectWindow.kt index 3297dcf31b..322f0f9d63 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/AIDataCollectWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/AIDataCollectWindow.kt @@ -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 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt index 71cb1c78dc..de4836a97d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/BadCaseManagerView.kt @@ -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) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt index 46d5f93714..e803341c6e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt @@ -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().also { itx -> itx["carLicense"] = AppConfigInfo.plateNumber?:"" //车牌号 itx["filename"] = recordFileName?:"" //bag包文件地址 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt index b7404370b4..007c329b0f 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt @@ -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().also { itx -> itx["carLicense"] = AppConfigInfo.plateNumber //车牌号 itx["filename"] = recordFileName?:"" //bag包文件地址 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/util/RecordBitmapUtils.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/util/RecordBitmapUtils.kt index eab089942a..4bba14ca95 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/util/RecordBitmapUtils.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/util/RecordBitmapUtils.kt @@ -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) { diff --git a/gradle.properties b/gradle.properties index d26edcef58..a9b0917cd0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 # 支持云控清扫车模式司机端版本号