From e8608da1493a85959405837252e4c3fd455322ae Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 18 Dec 2024 11:39:57 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[6.8.4]=20[fea]=20[=E8=87=AA=E9=A9=BE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20routeInfo=20=E5=92=8C=20orderId]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/offline/util/OffLineTrajectoryManager.kt | 2 +- .../java/com/mogo/och/weaknet/util/BusTrajectoryManager.kt | 3 +-- .../mogo/och/unmanned/taxi/utils/TaxiTrajectoryManager.kt | 6 ++---- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt index 9e508e2f74..722c881bb7 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/util/OffLineTrajectoryManager.kt @@ -132,7 +132,7 @@ object OffLineTrajectoryManager : com.mogo.och.bridge.autopilot.trajectory.ITraj true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY ) - CallerAutoPilotControlManager.sendTrajectoryDownloadReq(mAutopilotControlParameters!!.autoPilotLine!!,0,mAutopilotControlParameters!!.orderId) + CallerAutoPilotControlManager.sendTrajectoryDownloadReq(mAutopilotControlParameters!!,0) d( SceneConstant.M_BUS + TAG, "sendTrajectoryReq(): " + GsonUtils.toJson(mAutopilotControlParameters) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/util/BusTrajectoryManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/util/BusTrajectoryManager.kt index 39eaf1b19f..cc200d14bf 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/util/BusTrajectoryManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/util/BusTrajectoryManager.kt @@ -157,8 +157,7 @@ object BusTrajectoryManager : ITrajectoryListListener { "轨迹监控", "sendTrajectoryReq() 下发轨迹 轨迹id:${it.autoPilotLine!!.lineId}" ) - CallerAutoPilotControlManager.sendTrajectoryDownloadReq(it.autoPilotLine!!, 0, - it.orderId) + CallerAutoPilotControlManager.sendTrajectoryDownloadReq(it, 0) } d(TAG, "sendTrajectoryReq(): " + GsonUtils.toJson(mAutopilotControlParameters)) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/TaxiTrajectoryManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/TaxiTrajectoryManager.kt index f36ea177ab..5965faf3c7 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/TaxiTrajectoryManager.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/utils/TaxiTrajectoryManager.kt @@ -241,9 +241,8 @@ object TaxiTrajectoryManager : ITrajectoryListListener { "sendTrajectoryReq() 下发轨迹 轨迹id:${mAutopilotControlParameters?.autoPilotLine?.lineId}" ) CallerAutoPilotControlManager.sendTrajectoryDownloadReq( - mAutopilotControlParameters!!.autoPilotLine!!, + mAutopilotControlParameters!!, COMMON_LOADING, - mAutopilotControlParameters!!.orderId ) } else { e(TAG, "sendTrajectoryReq(): mAutoPilotLine is null!!!") @@ -252,9 +251,8 @@ object TaxiTrajectoryManager : ITrajectoryListListener { if (mPreAutopilotControlParameters != null && mPreAutopilotControlParameters?.autoPilotLine != null) { printInfoMsg("[下发预加载轨迹] sendTrajectoryDownloadReq, lindId=" + mPreAutopilotControlParameters?.autoPilotLine?.lineId + ", lineName=" + mPreAutopilotControlParameters?.autoPilotLine?.lineName) CallerAutoPilotControlManager.sendTrajectoryDownloadReq( - mPreAutopilotControlParameters!!.autoPilotLine!!, + mPreAutopilotControlParameters!!, PRE_LOADING, - mPreAutopilotControlParameters!!.orderId ) } else { e(TAG, "sendTrajectoryReq(): mPreAutoPilotLine is null!!!") From 5afaa79ea79ee8d745ff4681d16600c93a4394d0 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 18 Dec 2024 14:44:00 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[6.8.4]=20[fix]=20[=E6=9C=89=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=20=E5=B0=B1=E8=A6=81=E8=AE=BE=E7=BD=AE=E4=B8=8A?= =?UTF-8?q?=E8=87=AA=E9=A9=BE=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manager/scnner/ScannerManager.kt | 1 - .../weaknet/passenger/model/CommonModel.kt | 76 +++++++++---------- 2 files changed, 38 insertions(+), 39 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt index bbc1de9de4..3eb351e1a6 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/scnner/ScannerManager.kt @@ -230,7 +230,6 @@ object ScannerManager : IOchLanPassengerStatusListener { } override fun onDriverConnectChangeListener(isConnect: Boolean) { - super.onDriverConnectChangeListener(isConnect) if (isConnect) { sendScannerState() } diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt index 17695f2988..ea68602ad5 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/com/mogo/och/shuttle/weaknet/passenger/model/CommonModel.kt @@ -49,7 +49,7 @@ import kotlin.math.abs @SuppressLint("StaticFieldLeak") object CommonModel { - private val TAG: String = CommonModel::class.java.simpleName + private val TAG: String = SceneConstant.M_BUS_P+CommonModel::class.java.simpleName var mContext: Context? = null @@ -106,24 +106,22 @@ object CommonModel { } - val connectDriverListener = object : IOchLanPassengerStatusListener { + private val connectDriverListener = object : IOchLanPassengerStatusListener { // 和司机屏连接发生变化后 override fun onDriverConnectChangeListener(isConnect: Boolean) { - super.onDriverConnectChangeListener(isConnect) if(isConnect){ queryDriverByLocalDriver() } } // 司机屏sn 发生变化后 override fun onDriverSnChagneListner(sn: String?) { - super.onDriverSnChagneListner(sn) sn?.let { querySiteIntroduce() } } } - val mMapLocationListener: IMoGoChassisLocationGCJ02Listener = + private val mMapLocationListener: IMoGoChassisLocationGCJ02Listener = object : IMoGoChassisLocationGCJ02Listener { override fun onChassisLocationGCJ02(mogoLocation: MogoLocation?) { if (null == mogoLocation) return @@ -131,11 +129,11 @@ object CommonModel { } } - val mAutoPilotStatusListener: IOchAutopilotStatusListener = + private val mAutoPilotStatusListener: IOchAutopilotStatusListener = object : IOchAutopilotStatusListener { override fun onAutopilotStatusResponse(state: Int) { - d(SceneConstant.M_BUS_P, "onAutopilotStatusResponse ===== $state") + d(TAG, "onAutopilotStatusResponse ===== $state") if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING != state){ //美化模式下且行程中 if (FunctionBuildConfig.isDemoMode && @@ -152,10 +150,10 @@ object CommonModel { } } - val trajectoryListener: IDistanceListener = object : IDistanceListener { + private val trajectoryListener: IDistanceListener = object : IDistanceListener { override fun distanceCallback(distance: Float) { val lastTime = distance / BusPassengerConst.BUS_AVERAGE_SPEED * 3.6 //秒 - d(SceneConstant.M_BUS_P, "轨迹排查==lastSumLength = $distance") + d(TAG, "轨迹排查==lastSumLength = $distance") if (routesResult != null) { for (site in routesResult!!.sites) { if (site.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !site.isLeaving) { @@ -180,7 +178,7 @@ object CommonModel { } } - val typeTaskDetails = object : ILanMessageListener { + private val typeTaskDetails = object : ILanMessageListener { override fun targetLan(): Class { return TaskDetailsMsg::class.java } @@ -189,11 +187,13 @@ object CommonModel { first?.let { if (first.msg?.isEmpty() == true) { + clearAutopilotControlParameters() clearLocalRouteResult() return } val result = GsonUtils.fromJson(first.msg, BusTransferData::class.java) if (result != null && result.routesResult == null) { + clearAutopilotControlParameters() clearLocalRouteResult() } @@ -236,11 +236,11 @@ object CommonModel { } if (routesResult != null && routesResult!!.lineId != result.lineId) { - d(SceneConstant.M_BUS_P + TAG, "lineId change= clearCustomPolyline") + d(TAG, "lineId change= clearCustomPolyline") mCommonCallback?.clearCustomPolyline() } - d(SceneConstant.M_BUS_P + TAG, "queryDriverSiteByCoordinate = update") + d(TAG, "queryDriverSiteByCoordinate = update") routesResult = result if (result.sites != null) { @@ -253,27 +253,27 @@ object CommonModel { mCommonCallback?.updateLineStations(mStations) for (i in stations.indices) { val station = stations[i] - if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED - && station.isLeaving && i + 1 < stations.size - ) { - isGoingToNextStation = true - mCommonCallback?.updateStationsInfo(stations, i + 1, false) - mNextStationIndex = i + 1 - val startStation = mStations[i] - val endStation = mStations[i + 1] - startStationVideo(endStation) - setTrajectoryStation(startStation, endStation, result.lineId) + if(station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED){ updateAutopilotControlParameters(result, i) - return - } else if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !station.isLeaving) { - if (i == stations.size - 1) { - cleanStation("updatePassengerRouteInfo最后一个站点") + if (station.isLeaving && i + 1 < stations.size + ) { + isGoingToNextStation = true + mCommonCallback?.updateStationsInfo(stations, i + 1, false) + mNextStationIndex = i + 1 + val startStation = mStations[i] + val endStation = mStations[i + 1] + startStationVideo(endStation) + setTrajectoryStation(startStation, endStation, result.lineId) + return + } else if (!station.isLeaving) { + if (i == stations.size - 1) { + cleanStation("updatePassengerRouteInfo最后一个站点") + } + isGoingToNextStation = false + Logger.d(TAG, "order = station= arrive") + mCommonCallback?.updateStationsInfo(stations, i, true) + return } - isGoingToNextStation = false - Logger.d(SceneConstant.M_BUS_P + TAG, "order = station= arrive") - mCommonCallback?.updateStationsInfo(stations, i, true) - clearAutopilotControlParameters() - return } } } @@ -315,16 +315,16 @@ object CommonModel { } } - fun updateAutopilotControlParameters( + private fun updateAutopilotControlParameters( busRoutesResult: BusRoutesResult, leaveIndex: Int ) { val parameters = initAutopilotControlParameters(busRoutesResult, leaveIndex) if (null == parameters) { - CallerLogger.e(SceneConstant.M_BUS_P, "AutopilotControlParameters is empty.") + CallerLogger.e(TAG, "AutopilotControlParameters is empty.") return } - CallerLogger.d(SceneConstant.M_BUS_P, "AutopilotControlParameters is update.") + d(TAG, "AutopilotControlParameters is update.") CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) } @@ -338,7 +338,7 @@ object CommonModel { } val stations = busRoutesResult.sites if (leaveIndex + 1 > stations.size - 1) { - CallerLogger.e(SceneConstant.M_BUS_P, "行程日志-mismatch condition1.") + CallerLogger.e(TAG, "行程日志-mismatch condition1.") return null } val currentStation = stations[leaveIndex] @@ -368,7 +368,7 @@ object CommonModel { } fun clearAutopilotControlParameters() { - CallerLogger.d(SceneConstant.M_BUS_P, "AutopilotControlParameters is clear.") + d(TAG, "AutopilotControlParameters is clear.") CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) } @@ -400,8 +400,8 @@ object CommonModel { TrajectoryAndDistanceManager.setStationPoint(startStation, endStation, lineId.toLong()) } - fun cleanStation(type: String) { - d(SceneConstant.M_BUS_P, "清理站点:$type") + private fun cleanStation(type: String) { + d(TAG, "清理站点:$type") TrajectoryAndDistanceManager.setStationPoint(null, null, -1L) } From f86f1b15d7c07f9b53b30db3b6b96829a9363e7d Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 20 Dec 2024 11:53:11 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[6.9.0]=20[fea]=20[=E5=88=A0=E9=99=A4=20?= =?UTF-8?q?=E6=B8=85=E7=90=86=20=E6=95=B0=E6=8D=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt | 2 +- .../mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt | 2 +- .../java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt index 7f99955966..09eea739e5 100644 --- a/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt +++ b/OCH/common/bridge/src/main/java/com/mogo/och/bridge/autopilot/line/LineManager.kt @@ -262,7 +262,7 @@ object LineManager : CallerBase() { e(M_BUS + TAG, "AutopilotControlParameters is empty.") return@getStationsWithLine } - d(M_BUS + TAG, "AutopilotControlParameters is update.") + d(M_BUS + TAG, "AutopilotControlParameters is update. ${parameters}") CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) val startStationLocation = MogoLocation() startStationLocation.latitude = start.gcjLat diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt index ee1c468556..34bcb4ee3b 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/bean/TaxiDriverTaskWithOrderBean.kt @@ -277,7 +277,7 @@ data class TrajectoryListRespBean(var data: MutableList?) : BaseData() { } val tempblackPoints = mutableListOf() blackPoints?.forEach { - tempPassPoints.add(it.toBusStationBean()) + tempblackPoints.add(it.toBusStationBean()) } val result = ContraiInfo(lineId,csvFileUrl,csvFileMd5,txtFileUrl,txtFileMd5,contrailSaveTime,tempPassPoints,tempblackPoints,source) return result diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt index 13934cd8cd..b65369eafa 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiTaskModel.kt @@ -1061,8 +1061,6 @@ object TaxiTaskModel { mCurrentTaskTrajectory = it.first { currentTaskLineId == it.lineId } mCurrentTaskTrajectory?.let {traj-> LineManager.setLineInfo(LineInfo(traj.lineId,traj.lineName, orderId = mCurrentTaskWithOrder?.order?.orderNo?:"")) - traj.blackPoints?.clear() - traj.passPoints?.clear() LineManager.setContraiInfo(traj.toCommonContraiInfo()) } } From 2fed57ed8ac0e5f0c0eff5b2c050937c48a5e761 Mon Sep 17 00:00:00 2001 From: donghongyu-pc Date: Thu, 2 Jan 2025 16:10:10 +0800 Subject: [PATCH 4/8] =?UTF-8?q?[6.8.4]=201=E3=80=81=E9=99=8D=E4=BD=8E?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A8=98=E9=8C=84=E7=9A=84=E6=95=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/launcher/MogoApplication.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 968a76bc08..c419527a59 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -101,15 +101,15 @@ public class MogoApplication extends MainMoGoApplication { .setLoggingEnabled(true); // 限制每个线程记录的堆栈跟踪行(默认值:30 行) - countlyConfig.sdkInternalLimits.setMaxStackTraceLinesPerThread(10000); + countlyConfig.sdkInternalLimits.setMaxStackTraceLinesPerThread(100); // 限制每个堆栈跟踪行允许的字符(默认:200 个字符) - countlyConfig.sdkInternalLimits.setMaxStackTraceLineLength(10000); + countlyConfig.sdkInternalLimits.setMaxStackTraceLineLength(1000); // 限制所有用户设置的字符串分段(或其等效值)值的大小(默认值:256 个字符) - countlyConfig.sdkInternalLimits.setMaxValueSize(10000); + countlyConfig.sdkInternalLimits.setMaxValueSize(256); // 限制用户设置的分段键值对的数量(默认:100 个条目) - countlyConfig.sdkInternalLimits.setMaxSegmentationValues(1000); + countlyConfig.sdkInternalLimits.setMaxSegmentationValues(100); // 限制可以记录的用户设置痕迹导航的数量(默认值:100 个条目,超过此值将删除最早的条目) - countlyConfig.sdkInternalLimits.setMaxBreadcrumbCount(1000); + countlyConfig.sdkInternalLimits.setMaxBreadcrumbCount(100); // 自动崩溃处理 countlyConfig.crashes.enableCrashReporting(); From dbaacaa3c0ca45be42af9f7722365d564dd9f6c0 Mon Sep 17 00:00:00 2001 From: xyz Date: Fri, 3 Jan 2025 17:18:36 +0800 Subject: [PATCH 5/8] =?UTF-8?q?[6.8.4]=201=E3=80=81=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=9B=A0=E8=87=AA=E5=AE=9A=E4=B9=89DNS=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E6=97=A0=E7=BD=91=E7=BB=9C=E6=97=B6=E8=BF=94=E5=9B=9E=E7=A9=BA?= =?UTF-8?q?=E9=9B=86=E5=90=88=E8=A7=A6=E5=8F=91okhttp=E7=9A=84=E5=B4=A9?= =?UTF-8?q?=E6=BA=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5088783952..ef3d9c9c52 100644 --- a/gradle.properties +++ b/gradle.properties @@ -64,21 +64,21 @@ bytex.ASM_API=ASM7 LOGLIB_VERSION=1.10.18 ######## MogoAiCloudSDK Version ######## # 网络请求LOGLIB_VERSION -MOGO_NETWORK_VERSION=1.4.7.59 +MOGO_NETWORK_VERSION=1.4.7.58 # 鉴权 -MOGO_PASSPORT_VERSION=1.4.7.59 +MOGO_PASSPORT_VERSION=1.4.7.58 # 长链接 -MOGO_SOCKET_VERSION=1.4.7.59 +MOGO_SOCKET_VERSION=1.4.7.58 # 数据采集 -MOGO_REALTIME_VERSION=1.4.7.59 +MOGO_REALTIME_VERSION=1.4.7.58 # 直播推流 -MOGO_LIVE_VERSION=1.4.7.59 +MOGO_LIVE_VERSION=1.4.7.58 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.4.7.59 +MOGO_TRAFFICLIVE_VERSION=1.4.7.58 # 定位服务 -MOGO_LOCATION_VERSION=1.4.7.59 +MOGO_LOCATION_VERSION=1.4.7.58 # 远程通讯模块 -MOGO_TELEMATIC_VERSION=1.4.7.59 +MOGO_TELEMATIC_VERSION=1.4.7.58 # 动态换肤SDK MOGO_SKIN_VERSION=1.4.7.50 ######## MogoAiCloudSDK Version ######## From 83fecb11610b084c3be0c82a55824d747aa79a4d Mon Sep 17 00:00:00 2001 From: zhongchao Date: Mon, 6 Jan 2025 09:59:59 +0800 Subject: [PATCH 6/8] [6.9.0] fix bug of driver seat --- .../video/DriveSeatVideoProviderImpl.kt | 59 +++++++++++++------ .../hmi/ui/operate/OperatePanelLayout.kt | 6 +- .../driver/video/IDriveSeatVideoProvider.kt | 2 +- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt index 0669d5e034..8344aa300b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt @@ -16,6 +16,8 @@ import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Eve import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Event.Playing import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.eagle.core.network.apiCall +import com.mogo.eagle.core.network.request import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.AppStateManager import com.tencent.liteav.basic.log.TXCLog @@ -48,9 +50,11 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider { private const val TAG = "DriveSeatVideoProvider" } - @Volatile private var target: WeakReference? = null + @Volatile + private var target: WeakReference? = null - @Volatile private var timer: Job? = null + @Volatile + private var timer: Job? = null private val scope by lazy { CoroutineScope(Dispatchers.IO + SupervisorJob()) } @@ -63,22 +67,40 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider { internal interface IVideoLiveUrlApi { @Headers("Content-Type:application/json;charset=UTF-8") @GET("/eagleEye-mis/camera/monitor/watch/status") - suspend fun requestVideoLiveUrl(@Query(value = "numberPlate") numberPlate: String, @Query("cameraType") cameraType: Int, @Query("protocolType") protocolType: Int): BaseResponse + suspend fun requestVideoLiveUrl( + @Query(value = "numberPlate") numberPlate: String, + @Query("cameraType") cameraType: Int, + @Query("protocolType") protocolType: Int + ): BaseResponse } - - override suspend fun requestVideoInfo(): VideoUrlData? { + override fun requestVideoInfo(onSuccess: (VideoUrlData) -> Unit, onError: (String) -> Unit) { val plateNumber = CallerDataCenterBizListener.getPlateNumber() // val plateNumber = "京A40188D" Log.d(TAG, "requestVideoInfo -> $plateNumber") if (plateNumber == null || TextUtils.isEmpty(plateNumber)) { Log.e(TAG, "-- isVideoLiveUsable -- plate number is empty.") - return null + onError.invoke("plate number is empty.") + } + request> { + loader { + apiCall { + getApi().requestVideoLiveUrl(plateNumber!!, 2, 2) + } + } + onSuccess { + data = it.result + Log.e( + TAG, + "-- isVideoLiveUsable -- receive 请求成功: { msg: ${it.msg}, result: ${it.result}}" + ) + onSuccess.invoke(it.result) + } + onError { + Log.e(TAG, "-- isVideoLiveUsable -- receive 请求失败: { msg: ${it.message}") + onError.invoke("请求失败 , ${it.message}") + } } - val resp = getApi()?.requestVideoLiveUrl(plateNumber, 2, 2) ?: return null - Log.e(TAG, "-- isVideoLiveUsable -- receive response: {code: ${resp.code}, msg: ${resp.msg}, result: ${resp.result}}") - data = resp.result - return resp.result } override fun getDriveVideoView(playUrl: String, playCallback: ((Event) -> Unit)?): View? { @@ -148,7 +170,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider { } - @OptIn(ExperimentalCoroutinesApi::class) override fun poller(): Flow = channelFlow { + @OptIn(ExperimentalCoroutinesApi::class) + override fun poller(): Flow = channelFlow { if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { throw AssertionError("此方法不支持司机屏使用") } @@ -174,13 +197,12 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider { Log.d(TAG, "开启定时轮询请求...") while (true) { Log.d(TAG, "当次请求开始...") - val result = requestVideoInfo() - if (result != null) { - data = result + requestVideoInfo({ + data = it chl.get()?.trySend(true) - } else { + },{ chl.get()?.trySend(false) - } + }) Log.d(TAG, "当次请求结束...") delay(5000) } @@ -200,7 +222,8 @@ class DriveSeatVideoProviderImpl : IDriveSeatVideoProvider { return isPlaying.get() } - private fun getApi(): IVideoLiveUrlApi? { - return MoGoRetrofitFactory.getInstanceNoCallAdapter(HostConst.HOST_RELEASE).create(IVideoLiveUrlApi::class.java) + private fun getApi(): IVideoLiveUrlApi { + return MoGoRetrofitFactory.getInstanceNoCallAdapter(HostConst.HOST_RELEASE) + .create(IVideoLiveUrlApi::class.java) } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 9824d618a4..d81f6ca4af 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -699,7 +699,11 @@ class OperatePanelLayout : LinearLayout { CallerTelematicListenerManager.addListener(TAG, this) lifecycleScope.launchWhenResumed { val p = preferenceScreen.findPreferenceReal(KEY_DRIVE_SEAT_VIDEO_STREAM)?.also { - it.isEnabled = CallerDevaToolsManager.driveSeatVideoProvider()?.requestVideoInfo()?.livePlayUrl?.isNotEmpty() ?: false + CallerDevaToolsManager.driveSeatVideoProvider()?.requestVideoInfo({ data -> + it.isEnabled = !data.livePlayUrl.isNullOrEmpty() + },{ _ -> + it.isEnabled = false + }) } if (FunctionBuildConfig.isDriveSeatVideoStream && p?.isEnabled == true) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/driver/video/IDriveSeatVideoProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/driver/video/IDriveSeatVideoProvider.kt index 5e10c2a4e7..2f34693f24 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/driver/video/IDriveSeatVideoProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/driver/video/IDriveSeatVideoProvider.kt @@ -10,7 +10,7 @@ interface IDriveSeatVideoProvider { * 视频直播是否可用 * @return true: 可用; false: 不可用 */ - suspend fun requestVideoInfo(): VideoUrlData? + fun requestVideoInfo(onSuccess: (VideoUrlData) -> Unit, onError: (String) -> Unit) /** * 获取司机位视频展示控件 From f96f4c8c13a4856d12470bcf8eb994e80720a3ae Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 7 Jan 2025 11:35:43 +0800 Subject: [PATCH 7/8] =?UTF-8?q?[6.8.4]=20[fix]=20[driver]=20[=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=89=88=E6=9C=AC=E5=85=BC=E5=AE=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/weaknet/bean/response/CarExecutableTaskResponse.kt | 2 ++ .../com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt | 1 + .../com/mogo/och/weaknet/repository/db/dao/TaskDataDao.kt | 3 +++ .../com/mogo/och/weaknet/repository/db/repository/TaskDb.kt | 4 ++++ .../och/weaknet/repository/line/impl/WeaknetRepository.kt | 2 +- 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt index 36c476313a..4f3e51749c 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/bean/response/CarExecutableTaskResponse.kt @@ -96,6 +96,8 @@ data class CarExecutableTaskResponse(val data: List?) : BaseData(){ LineDb.checkAndUpdate(lineList) ContraiDb.addOrUpdate(contrailList) SiteDb.addOrUpdate(siteList) + + TaskDb.resetShiftsIdDetail() } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt index 4470f588ee..19312335e1 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/bean/TaskDataBean.kt @@ -83,6 +83,7 @@ data class TaskDataBean( if (taskId != other.taskId) return false if (lineId != other.lineId) return false + if (shiftsId != other.shiftsId) return false return true } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/TaskDataDao.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/TaskDataDao.kt index 82f9c97da4..214f9b0391 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/TaskDataDao.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/dao/TaskDataDao.kt @@ -72,6 +72,9 @@ interface TaskDataDao { @Query("DELETE FROM ${TaskDataBean.tableName} WHERE task_get_time < :zeroTime") fun deleteObsoleteData(zeroTime: Long = DateTimeUtil.getCurrentDateZero()): Int + @Query("UPDATE ${TaskDataBean.tableName} SET shifts_id = 0 WHERE shifts_id is null") + fun setShiftsIdDetail() + //查询线路对应的轨迹信息 只要一个结果 fun queryTaskByTaskIdOne(taskId: Long): TaskDataBean? { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskDb.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskDb.kt index 7fba0fa3e4..b5e95e32d9 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskDb.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/db/repository/TaskDb.kt @@ -218,5 +218,9 @@ object TaskDb : IDbRepository { } } + fun resetShiftsIdDetail(){ + taskDataDao?.setShiftsIdDetail() + } + } \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt index d501117d9f..512aeeeb18 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/line/impl/WeaknetRepository.kt @@ -409,7 +409,7 @@ class WeaknetRepository : ILineRepository { // 设置到站任务 LineManager.getLineInfo { lineInfo -> EventDb.saveEventTaskArriveSite( - task.shiftsId!!, + task.shiftsId?:0L, task.taskId!!, task.lineId!!, end.siteId.toLong(), From acefebe687ea257acd72dee4402a844f40a5fd13 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 15 Jan 2025 15:56:10 +0800 Subject: [PATCH 8/8] =?UTF-8?q?[6.8.4]=20[fix]=20[=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/weaknet/repository/RepositoryManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt index 6873585fec..ad4d3609f1 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/RepositoryManager.kt @@ -82,7 +82,7 @@ object RepositoryManager { }else if(AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode)) { field = WriteOffCacheRepository() CallerLogger.d(TAG,"saas sceduletd 核销缓存") - }else if(AppIdentityModeUtils.isScheduled(FunctionBuildConfig.appIdentityMode)) { + }else if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { field = WriteOffCacheRepository() CallerLogger.d(TAG,"saas bus 核销缓存") }