From a0dc1973af58ce4c1a57d0ccc0bccbe10b859136 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 26 Dec 2024 18:54:21 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[6.8.4][Opt]=E6=96=B0=E5=A2=9E=E4=BA=91?= =?UTF-8?q?=E7=AB=AF=E4=B8=8B=E5=8F=91=E6=8C=87=E4=BB=A4=E6=8B=89=E5=8F=96?= =?UTF-8?q?logcat=E6=97=A5=E5=BF=97=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logcatch/MogoLogCatchConst.kt | 5 ++ .../logcatch/MogoLogCatchManager.kt | 49 ++++++++++++++++++- 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt index 821f5abd26..cc04bb7f9e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchConst.kt @@ -49,5 +49,10 @@ class MogoLogCatchConst { * 关闭高精地图每个瓦片数据文件下载、删除的日志 */ const val CLOSE_HD_MAP_TILE_FILE_LOG = 9 + + /** + * 上传Logcat日志 + */ + const val UPLOAD_LOG_CAT_FILE = 10 } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt index 7afb4d0eff..e538c9adb3 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/logcatch/MogoLogCatchManager.kt @@ -22,7 +22,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.LogLevel import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.eagle.core.data.deva.chain.ChainConstant +import com.mogo.core.log.record.LogcatManager import com.mogo.eagle.core.data.deva.chain.ChainLogParam import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.utilcode.util.ThreadUtils @@ -31,6 +31,7 @@ import com.zhidao.loglib.bean.RemoteLogPushContent import com.zhidao.loglib.call.LogInfoManagerFactory import com.zhidao.loglib.core.ILogListener import com.zhidao.loglib.core.LogInfoManager +import com.zhjt.mogo_core_function_devatools.logcat.config.LogRecordConfig import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_MAP_UPLOAD import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CACHE_TRACE_UPLOAD import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.CLOSE_HD_MAP_TILE_FILE_LOG @@ -41,10 +42,16 @@ import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companio import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.OPEN_HD_MAP_TILE_FILE_LOG import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.START_CATCH_LOG import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.STOP_CATCH_LOG -import com.zhjt.mogo_core_function_devatools.trace.TraceManager +import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchConst.Companion.UPLOAD_LOG_CAT_FILE import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager import com.zhjt.service_biz.BizConfig +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.launch import java.io.File +import java.util.concurrent.TimeUnit.MINUTES +import java.util.concurrent.atomic.AtomicLong @SuppressLint("StaticFieldLeak") object MogoLogCatchManager : IMogoOnMessageListener, Handler.Callback, @@ -62,6 +69,12 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl private var logInfoManager: LogInfoManager? = null private var mapCacheUpload = false + private val scope by lazy { CoroutineScope(Dispatchers.IO + SupervisorJob()) } + + private val uploadThreshold by lazy { MINUTES.toMillis(1) } //全量日志的上传的安全时间,在此时间内,上传任务只会触发一次 + + private val lastUploadTime by lazy { AtomicLong(0) } + fun init(context: Context) { mContext = context MogoAiCloudSocketManager.getInstance(AbsMogoApplication.getApp().applicationContext) @@ -159,6 +172,9 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl } } } + UPLOAD_LOG_CAT_FILE -> { + uploadLogcat(obj.cmd.toIntOrNull()) + } else -> { } } @@ -283,6 +299,35 @@ object MogoLogCatchManager : IMogoOnMessageListener, Handl CallerAutoPilotControlManager.setEnableLog(false) } + private fun uploadLogcat(timeType: Int?) { + if (timeType == null) return + val endTime = System.currentTimeMillis() + val startTime = when(timeType) { + LogRecordConfig.ALL_LOG_15_MINUTES -> endTime - MINUTES.toMillis(15) + LogRecordConfig.ALL_LOG_30_MINUTES -> endTime - MINUTES.toMillis(30) + LogRecordConfig.ALL_LOG_45_MINUTES -> endTime - MINUTES.toMillis(45) + LogRecordConfig.ALL_LOG_60_MINUTES -> endTime - MINUTES.toMillis(60) + LogRecordConfig.ALL_LOG_120_MINUTES -> endTime - MINUTES.toMillis(120) + LogRecordConfig.ALL_LOG_SAME_DAY -> endTime - (endTime % 86400000) + LogRecordConfig.ALL_LOG -> 0 + else -> endTime + } + if (startTime < endTime) { + val now = System.currentTimeMillis() + val last = lastUploadTime.get() + if (last <= 0) { + lastUploadTime.set(System.currentTimeMillis()) + } + if (last > 0 && (now - last) <= uploadThreshold) { + return + } + lastUploadTime.set(System.currentTimeMillis()) + scope.launch { + LogcatManager.upload(startTime, endTime) + } + } + } + override fun onError(errorCount: Int) { ThreadUtils.runOnUiThread { TipToast.shortTip("日志抓取出现错误,出错数量:$errorCount") From 1dd48295097c319ae75a12812b28be45e56d1801 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 27 Dec 2024 12:01:34 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[6.8.4]=20[fix]=20[shuttle=E3=80=81bus?= =?UTF-8?q?=E3=80=81scheduled]=20[=E5=8F=82=E6=95=B0=E7=9B=B8=E5=8F=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/weaknet/model/LineModel.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index a127286224..04a8b118b4 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -421,9 +421,9 @@ object LineModel { ochInfo.siteMarkerList = mutableListOf() CallerDataCenterBizListener.invokeOchInfo(ochInfo) OchChainLogManager.writeChainLogMap("地图","站点信息:${ochInfo}") - CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(true) - }else{ CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(false) + }else{ + CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(true) val siteList = mutableListOf() var temp: SiteMarkerBean?=null stationList?.let { From cfc9a304f61a20ab487ebd53afc914dd2cf84c0e Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 27 Dec 2024 16:58:01 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[6.9.0]=20[fix]=20[offline]=20[=E7=A9=BAche?= =?UTF-8?q?ck]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/offline/model/OrderModel.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index 71e06fb8c9..950a5b1a6c 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -757,7 +757,28 @@ public class OrderModel { */ private void updateBusStatus(BusRoutesResult result) { if (result == null) return; - LineManager.INSTANCE.setContraiInfo(new ContraiInfo(result.getLineId(),result.csvFileUrl,result.csvFileMd5,result.txtFileUrl,result.txtFileMd5,result.contrailSaveTime,null,null,1)); + if(result.csvFileUrl==null){ + result.csvFileUrl = ""; + } + if(result.csvFileMd5==null){ + result.csvFileMd5 = ""; + } + if(result.txtFileUrl==null){ + result.txtFileUrl = ""; + } + if(result.txtFileMd5==null){ + result.txtFileMd5 = ""; + } + LineManager.INSTANCE.setContraiInfo(new ContraiInfo( + result.getLineId(), + result.csvFileUrl, + result.csvFileMd5, + result.txtFileUrl, + result.txtFileMd5, + result.contrailSaveTime, + null, + null, + 1)); busRoutesResult = result; stationList.clear(); stationList.addAll(result.getSites()); From dc269797481ad05bce2524d193ef6cb79e562314 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 27 Dec 2024 17:38:22 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[6.9.0]=20[fix]=20[offline]=20[=E7=A9=BAche?= =?UTF-8?q?ck]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/offline/model/OrderModel.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java index 950a5b1a6c..6f1149f754 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/OrderModel.java @@ -1140,16 +1140,18 @@ public class OrderModel { } public void setTrajectoryStation(BusStationBean startStation, BusStationBean endStation, Long lineId) { - LineManager.INSTANCE.setStartAndEndStation(startStation,endStation); - - MogoLocation startStationMogoLocation = new MogoLocation(); - startStationMogoLocation.setLongitude(startStation.getGcjLon()); - startStationMogoLocation.setLatitude(startStation.getGcjLat()); - MogoLocation endStationMogoLocation = new MogoLocation(); - endStationMogoLocation.setLongitude(endStation.getGcjLon()); - endStationMogoLocation.setLatitude(endStation.getGcjLat()); - TrajectoryAndDistanceManager.INSTANCE.setStationPoint(startStationMogoLocation, endStationMogoLocation, lineId); + if(startStation==null||endStation==null){ + TrajectoryAndDistanceManager.INSTANCE.setStationPoint(null, null, lineId); + }else { + MogoLocation startStationMogoLocation = new MogoLocation(); + startStationMogoLocation.setLongitude(startStation.getGcjLon()); + startStationMogoLocation.setLatitude(startStation.getGcjLat()); + MogoLocation endStationMogoLocation = new MogoLocation(); + endStationMogoLocation.setLongitude(endStation.getGcjLon()); + endStationMogoLocation.setLatitude(endStation.getGcjLat()); + TrajectoryAndDistanceManager.INSTANCE.setStationPoint(startStationMogoLocation, endStationMogoLocation, lineId); + } } } From 8b10cb6df1863e3fcf8af3017e494e524d4e9eaa Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 31 Dec 2024 18:07:27 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[6.8.4]=20[fix]=20[bus=E3=80=81shuttle?= =?UTF-8?q?=E3=80=81Scheduled]=20[led=20end=20station]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/och/weaknet/model/LineModel.kt | 9 +++++++++ .../java/com/mogo/och/weaknet/model/ThirdDeviceData.kt | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt index 04a8b118b4..44933b0a36 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/LineModel.kt @@ -304,6 +304,15 @@ object LineModel { } + fun isLastStation(end: BusStationBean):Boolean{ + return if (stationList.isNullOrEmpty()) { + false + }else{ + val last = stationList?.last() + return last==end + } + } + fun getTaskTime():String { return DateTimeUtil.formatLongToString( currentTask?.taskStartTime?:System.currentTimeMillis(), diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/ThirdDeviceData.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/ThirdDeviceData.kt index 44c56f12bf..c446c75c33 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/ThirdDeviceData.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/ThirdDeviceData.kt @@ -111,7 +111,7 @@ object ThirdDeviceData { lineInfo.lineName, start.name, end.name, - LineModel.isLastStation() == true + LineModel.isLastStation(end) ) } } From e1c023547428956c627f7a3f95b9ce09456b9408 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 31 Dec 2024 18:10:43 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[6.8.4]=20[fix]=20[login]=20[=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=88=A4=E7=A9=BA=E8=AE=B0=E5=BD=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/biz/login/LoginProvider.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt index f689914e4c..591e16019c 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/LoginProvider.kt @@ -119,7 +119,7 @@ class LoginProvider : LoginService { } if (loginFragment is ILoginViewCallback) { UiThreadHandler.post({ - if (loginFragment!!.isAdded) { + if (loginFragment?.isAdded==true) { (loginFragment as ILoginViewCallback).showErrorInfo(businessInfo) } },UiThreadHandler.MODE.QUEUE) @@ -142,7 +142,7 @@ class LoginProvider : LoginService { changeStatus(checkAllEnv) UiThreadHandler.post({ changeStatus(checkAllEnv) - if (loginFragment!!.isAdded) { + if (loginFragment?.isAdded==true) { (loginFragment as ILoginViewCallback).checkAllEnv(checkAllEnv) } },UiThreadHandler.MODE.QUEUE) @@ -153,7 +153,7 @@ class LoginProvider : LoginService { } override fun changeStatus(currentStatus: String) { - if (loginFragment!!.isAdded) { + if (loginFragment?.isAdded==true) { (loginFragment as ILoginViewCallback).updateStatus(currentStatus) } }