diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java index f06c6bbd72..1b28355846 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/util/BusAnalyticsManager.java @@ -1,6 +1,8 @@ package com.mogo.och.bus.util; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; + +import android.annotation.SuppressLint; import android.text.TextUtils; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; @@ -54,6 +56,7 @@ public class BusAnalyticsManager { AnalyticsManager.INSTANCE.track(mStartAutopilotKey, mStartAutopilotParams); } + @SuppressLint("NewApi") private void removeWaitingCallback() { if (startAutopilotRunnable != null && UiThreadHandler.getsUiHandler().hasCallbacks(startAutopilotRunnable)) { diff --git a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt index a6ff98ac7e..9a609e0457 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt @@ -26,7 +26,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_C import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED -import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD_SHOW +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.call.analytics.AnalyticsManager @@ -111,7 +111,7 @@ class HttpDnsStartUp : AndroidStartup() { // 设置是否输出日志 clientConfig.isShowDebugLog = true // 设置是否输出网络日志 - clientConfig.isShowNetDebugLog = false + clientConfig.isShowNetDebugLog = true //todo test em arrow // 设置是否是直播推流的主播 clientConfig.isAnchor = true when (DebugConfig.getCarMachineType()) { @@ -258,7 +258,7 @@ class HttpDnsStartUp : AndroidStartup() { mogoHttpDns.addressChangedListener(object : OnAddressChangedListener { @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED, paramIndexes = [0, 1], @@ -309,7 +309,7 @@ class HttpDnsStartUp : AndroidStartup() { @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL, paramIndexes = [-1], @@ -322,7 +322,7 @@ class HttpDnsStartUp : AndroidStartup() { @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS, paramIndexes = [-1], @@ -335,7 +335,7 @@ class HttpDnsStartUp : AndroidStartup() { @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST, paramIndexes = [-1], @@ -348,7 +348,7 @@ class HttpDnsStartUp : AndroidStartup() { @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST, paramIndexes = [0, 1], diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 7e2d572880..2e809bf915 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -19,7 +19,6 @@ import com.zhjt.mogo_core_function_devatools.monitor.MonitorManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.* import com.zhjt.mogo_core_function_devatools.trace.TraceManager.Companion.traceManager -import com.zhjt.mogo_core_function_devatools.tts.TtsManager import com.zhjt.mogo_core_function_devatools.tts.TtsManager.Companion.ttsManager import com.zhjt.mogo_core_function_devatools.upgrade.UpgradeManager.Companion.upgradeManager import record_cache.RecordPanelOuterClass @@ -130,4 +129,8 @@ class DevaToolsProvider : IDevaToolsProvider { override fun stopMonitor() { mContext?.let { MonitorManager.getInstance(it)?.stopMonitor() } } + + override fun syncConfig() { + traceManager.syncConfig() + } } \ 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/funcconfig/FuncConfigCenter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt index 1476cf959e..98126c024b 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt @@ -5,7 +5,7 @@ import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED -import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD_SHOW +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager @@ -73,7 +73,7 @@ class FuncConfigCenter : IMogoOnMessageListener, IMoGoAutopilotCarCo @ChainLog( linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = TracingConstants.Endpoint.PAD, nodeAliasCode = CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED, paramIndexes = [0], diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt index a00da213a2..487f2223be 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigConst.kt @@ -36,8 +36,8 @@ import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2N import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2V import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.getMisChannelCode import com.mogo.eagle.core.utilcode.util.AppUtils -import com.zhjt.mogo_core_function_devatools.BuildConfig import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.service_biz.Business import com.zhjt.service_biz.FuncConfig @@ -94,7 +94,7 @@ class FuncConfigConst { foundationSubList.add(SubBiz(BIZ_PNC_WARNING, lock = false, state = true, dependNode = "", data = "")) businessList.add(Business(FOUNDATION,foundationSubList)) - return FuncConfig(0, AppUtils.getAppVersionCode(), getChannelCode(), getEnv(), businessList) + return FuncConfig(0, AppUtils.getAppVersionCode(), AppIdentityModeUtils.getMisChannelCode(FunctionBuildConfig.appIdentityMode), getEnv(), businessList) } private fun getEnv():Int{ @@ -105,19 +105,5 @@ class FuncConfigConst { } } - // todo 新增车型需要更新(清扫车) - fun getChannelCode(): Int{ - return when{ - AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) - && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) -> 1 - AppIdentityModeUtils.isTaxi(FunctionBuildConfig.appIdentityMode) - && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) -> 2 - AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - && AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) -> 3 - AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) - && AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) -> 4 - else -> 0 - } - } } } \ 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/funcconfig/network/FuncConfigNetWorkModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt index 21bbdf98ba..b2e9732364 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt @@ -3,9 +3,12 @@ package com.zhjt.mogo_core_function_devatools.funcconfig.network import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.commons.constants.HostConst import com.mogo.eagle.core.data.BaseResponse +import com.mogo.eagle.core.data.config.FunctionBuildConfig 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.mogo.getMisChannelCode import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigConst import com.zhjt.service_biz.FuncConfig @@ -37,7 +40,7 @@ class FuncConfigNetWorkModel { } map["sn"] = MoGoAiCloudClientConfig.getInstance().sn map["mac"] = DeviceUtils.getMacAddress() - map["channelVersion"] = FuncConfigConst.getChannelCode() + map["channelVersion"] = AppIdentityModeUtils.getMisChannelCode(FunctionBuildConfig.appIdentityMode) } loader { apiCall { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/SyncConfig.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/SyncConfig.kt new file mode 100644 index 0000000000..9639487a76 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/SyncConfig.kt @@ -0,0 +1,77 @@ +package com.zhjt.mogo_core_function_devatools.trace + +import android.content.Context +import android.util.Log +import com.mogo.cloud.passport.MoGoAiCloudClient +import com.mogo.commons.debug.DebugConfig +import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.data.deva.chain.ChainConstant +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA +import com.mogo.eagle.core.utilcode.util.NetworkUtils +import com.mogo.map.MogoMap +import com.zhjt.mogo_core_function_devatools.trace.network.StartUpTraceNetWorkModel +import com.zhjt.service.chain.ChainLog +import com.zhjt.service.chain.TracingConstants + +object SyncConfig { + + private val startUpTraceModel = StartUpTraceNetWorkModel() + private var traceId: String? = null + + fun update(context: Context) { + + // if (AppConfigInfo.widevineIDMd5.isNullOrEmpty()) { +// AppConfigInfo.widevineIDMd5 = +// DeviceIdUtils.getWidevineIDWithMd5(AbsMogoApplication.getApp()) +// } + + if (MoGoAiCloudClient.getInstance().aiCloudClientConfig != null) { + AppConfigInfo.mogoSN = MoGoAiCloudClient.getInstance().aiCloudClientConfig.sn + AppConfigInfo.mogoToken = MoGoAiCloudClient.getInstance().aiCloudClientConfig.token + } + AppConfigInfo.netMode = DebugConfig.getNetMode() + if (MogoMap.getInstance().mogoMap != null) { + AppConfigInfo.mapSdkVersion = MogoMap.getInstance().mogoMap.mapVersion + } + AppConfigInfo.isConnectNet = NetworkUtils.isConnected(context) + AppConfigInfo.isConnectSocket = DebugConfig.isDownloadSnapshot() + when { + AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) -> {// 司机端 + AppConfigInfo.isDriver = true + AppConfigInfo.isConnectedNetty = CallerTelematicManager.getServerStarted() + } + AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) -> { + AppConfigInfo.isDriver = false + AppConfigInfo.isConnectedNetty = CallerTelematicManager.getClientConnStatus() + AppConfigInfo.serverSn = CallerTelematicManager.getServerToken() + } + else -> { + } + } + AppConfigInfo.teleTimeStamp = CallerAutoPilotManager.getTeleTimeStamp() + logOutConfig(AppConfigInfo) + } + + @ChainLog( + linkChainLog = ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = ChainConstant.CHAIN_LINK_INIT, + endpoint = TracingConstants.Endpoint.PAD, + nodeAliasCode = ChainConstant.CHAIN_ALIAS_CODE_APP_INFO_CONFIG_UPDATE, + paramIndexes = [0], + clientPkFileName = "sn" + ) + fun logOutConfig(appConfig: AppConfigInfo) { + Log.d("$M_DEVA${"SyncConfig"}", "logOut APP Config : $appConfig") + + startUpTraceModel.report(traceId, { + traceId = it + }, { + CallerLogger.e("$M_DEVA${"SyncConfig"}","error : $it") + }) + } +} \ 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/trace/TraceManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/TraceManager.kt index c71096ce5a..95ec88c2af 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/TraceManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/TraceManager.kt @@ -4,7 +4,9 @@ import android.content.Context import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.deva.chain.ChainConstant import com.mogo.eagle.core.data.deva.chain.ChainLogParam +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarConfigListener import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -14,12 +16,14 @@ import com.mogo.eagle.core.utilcode.util.Utils import com.zhidao.loglib.fw.FileWriteManager import com.zhidao.loglib.fw.FwBuild import com.zhjt.service.chain.core.ChainTraceStarter +import mogo.telematics.pad.MessagePad -class TraceManager : IMoGoCloudListener { +class TraceManager : IMoGoCloudListener, IMoGoAutopilotCarConfigListener { private val traceInfoCache = hashMapOf() private val fwBuildMap: MutableMap = HashMap() private var init = false + private var mContext: Context? = null companion object { @@ -35,10 +39,12 @@ class TraceManager : IMoGoCloudListener { if (init) { return } + mContext = context // 初始化Trace抓取服务 val pkgName = Utils.getApp().packageName ChainTraceStarter.start(pkgName, DeviceUtils.getMacAddress(), false) CallerCloudListenerManager.registerCloudListener(TAG, this) + CallerAutopilotCarConfigListenerManager.addListener(TAG, this) // Trace过程中进行日志抓取,对日志进行配置 fwBuildMap[ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS] = @@ -103,6 +109,7 @@ class TraceManager : IMoGoCloudListener { override fun tokenGot(token: String, sn: String) { FileWriteManager.getInstance().updateDeviceId(sn) + syncConfig() } fun setTraceLogEnable(enable: Boolean) { @@ -130,4 +137,15 @@ class TraceManager : IMoGoCloudListener { FileWriteManager.getInstance().operateChainMap(fwBuildMap) } + override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) { + syncConfig() + } + + fun syncConfig(){ + mContext?.let { + SyncConfig.update(it) + } + } + + } \ 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/trace/network/StartUpTraceNetWorkModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/network/StartUpTraceNetWorkModel.kt new file mode 100644 index 0000000000..dfe58252d5 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/network/StartUpTraceNetWorkModel.kt @@ -0,0 +1,77 @@ +package com.zhjt.mogo_core_function_devatools.trace.network + +import com.google.gson.reflect.TypeToken +import com.mogo.commons.constants.HostConst +import com.mogo.eagle.core.data.BaseResponse +import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.app.toConfigUpload +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.util.GsonUtils + +class StartUpTraceNetWorkModel { + + private fun getNetWorkApi(baseUrl: String = HostConst.getHost()): TraceStartUpApiService { + return MoGoRetrofitFactory.getInstanceNoCallAdapter(baseUrl) + .create(TraceStartUpApiService::class.java) + } + + private var retryTime = 0 + private var success: ((String) -> Unit)? = null + private var error: ((String) -> Unit)? = null + private var traceId: String = "" + + fun report( + id: String? = null, + onSuccess: ((String) -> Unit)? = null, + onError: ((String) -> Unit)? = null + ) { + request> { + var map: MutableMap = mutableMapOf() + start { + if (success == null) { + success = onSuccess + } + if (error == null) { + error = onError + } + if (id != null) { + traceId = id + } + val configUpload = AppConfigInfo.toConfigUpload() + val data = GsonUtils.toJson(configUpload) + map = + GsonUtils.fromJson(data, object : TypeToken>() {}.type) + map["id"] = traceId + } + loader { + apiCall { + getNetWorkApi().report(map) + } + } + onSuccess { + if (it.result != null) { + onSuccess?.invoke(it.result) + } else { + if (retryTime < 3) { + retryTime += 1 + report() + } else { + error?.invoke("startUp report error msg is null") + } + } + } + onError { + if (retryTime < 3) { + retryTime += 1 + report() + } else if (it.message != null) { + error?.invoke(it.message ?: "startUp report error msg is null") + } + + } + + } + } +} \ 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/trace/network/TraceStartUpApiService.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/network/TraceStartUpApiService.kt new file mode 100644 index 0000000000..7cefed1cd1 --- /dev/null +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/trace/network/TraceStartUpApiService.kt @@ -0,0 +1,13 @@ +package com.zhjt.mogo_core_function_devatools.trace.network + +import com.mogo.eagle.core.data.BaseResponse +import retrofit2.http.Body +import retrofit2.http.Headers +import retrofit2.http.POST + +interface TraceStartUpApiService { + + @Headers("Content-Type:application/json;charset=UTF-8") + @POST("/eagleEye-mis/startup/report") + suspend fun report(@Body map: MutableMap): BaseResponse +} \ 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/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 869e4c865a..9b9166f286 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -20,13 +20,9 @@ import androidx.core.view.* import androidx.lifecycle.lifecycleScope import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.cloud.passport.MoGoAiCloudClient -import com.mogo.commons.AbsMogoApplication -import com.mogo.commons.debug.DebugConfig import com.mogo.commons.mvp.BaseFragment import com.mogo.commons.mvp.MvpFragment import com.mogo.commons.voice.* -import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.bindingcar.AdUpgradeStateHelper import com.mogo.eagle.core.data.bindingcar.IPCUpgradeStateInfo import com.mogo.eagle.core.data.camera.CameraEntity @@ -199,6 +195,8 @@ class MoGoHmiFragment : MvpFragment(), override fun initViews() { initViewShowWithConfig() + // 同步AppInfo Config信息 + CallerDevaToolsManager.syncConfig() val decorView = requireActivity().window.decorView as FrameLayout statusBarView = decorView.findViewWithTag("status_bar") as StatusBarView? @@ -231,50 +229,6 @@ class MoGoHmiFragment : MvpFragment(), true } - // init appConfigInfo - AppConfigInfo.appName = AppUtils.getAppName() - if (AppConfigInfo.appVersionCode == 0) { - AppConfigInfo.appVersionCode = AppUtils.getAppVersionCode() - } - if (AppConfigInfo.appVersionName.isNullOrEmpty()) { - AppConfigInfo.appVersionName = AppUtils.getAppVersionName() - } - if (AppConfigInfo.appPackageName.isNullOrEmpty()) { - AppConfigInfo.appPackageName = AppUtils.getAppPackageName() - } - if (AppConfigInfo.uniqueDeviceId.isNullOrEmpty()) { - AppConfigInfo.uniqueDeviceId = DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp()) - } -// if (AppConfigInfo.widevineIDMd5.isNullOrEmpty()) { -// AppConfigInfo.widevineIDMd5 = -// DeviceIdUtils.getWidevineIDWithMd5(AbsMogoApplication.getApp()) -// } - if (MoGoAiCloudClient.getInstance().aiCloudClientConfig != null) { - AppConfigInfo.mogoSN = MoGoAiCloudClient.getInstance().aiCloudClientConfig.sn - AppConfigInfo.mogoToken = MoGoAiCloudClient.getInstance().aiCloudClientConfig.token - } - - AppConfigInfo.netMode = DebugConfig.getNetMode() - if (MogoMap.getInstance().mogoMap != null) { - AppConfigInfo.mapSdkVersion = MogoMap.getInstance().mogoMap.mapVersion - } - AppConfigInfo.isConnectNet = NetworkUtils.isConnected(context) - AppConfigInfo.isConnectSocket = DebugConfig.isDownloadSnapshot() - - when { - AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode) -> {// 司机端 - AppConfigInfo.isDriver = true - AppConfigInfo.isConnectedNetty = CallerTelematicManager.getServerStarted() - } - AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) -> { - AppConfigInfo.isDriver = false - AppConfigInfo.isConnectedNetty = CallerTelematicManager.getClientConnStatus() - AppConfigInfo.serverSn = CallerTelematicManager.getServerToken() - } - else -> { - } - } - AppConfigInfo.teleTimeStamp = CallerAutoPilotManager.getTeleTimeStamp() //美化模式隐藏开关 viewDemoModeSwitch.setOnClickListener { //只在司机端设置美化模式开关功能 @@ -346,9 +300,6 @@ class MoGoHmiFragment : MvpFragment(), setProxyTrafficLightView(viewTrafficLightVr) setProxyLimitingSpeedView(viewLimitingVelocity) setViewNotificationProvider(this) -// context?.also { -// CallerDevaToolsManager.showStatusBar(it, statusBarContainer) -// } } override fun getNotificationView(): IViewNotification? = diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt index 95358a458e..759be5b25f 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/V2XEventManager.kt @@ -16,7 +16,7 @@ import com.mogo.eagle.core.data.enums.EventTypeEnum import com.mogo.eagle.core.data.enums.EventTypeHelper import com.mogo.commons.network.* import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_CLOUD_V2N -import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD_SHOW +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_CLOUD import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CLOUD_V2N import com.mogo.eagle.core.data.enums.* import com.mogo.eagle.core.data.map.* @@ -401,7 +401,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb */ @ChainLog( linkChainLog = CHAIN_LINK_LOG_CLOUD_V2N, - linkCode = CHAIN_LINK_CLOUD_SHOW, + linkCode = CHAIN_LINK_CLOUD, endpoint = TracingConstants.Endpoint.PAD, nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_V2N, paramIndexes = [0], diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt index 0f7c242877..b4eda25ff0 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/AppConfigInfo.kt @@ -1,21 +1,27 @@ package com.mogo.eagle.core.data.app +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.getMisChannelCode +import com.mogo.eagle.core.utilcode.util.AppUtils + /** * @author xiaoyuzhou * @date 2021/10/12 2:46 下午 * 当前应用的配置信息 */ object AppConfigInfo { + /*应用构建基本信息*/ var workingBranchName: String? = null var workingBranchHash: String? = null var appBuildTime: String? = null /*应用基本信息*/ - var appName: String? = null - var appVersionCode = 0 - var appVersionName: String? = null - var appPackageName: String? = null + val appName: String = AppUtils.getAppName() + val appVersionCode = AppUtils.getAppVersionCode() + val appVersionName: String = AppUtils.getAppVersionName() + val appPackageName: String = AppUtils.getAppPackageName() var uniqueDeviceId: String? = null var widevineIDMd5: String? = null @@ -27,6 +33,7 @@ object AppConfigInfo { var mogoToken: String? = null var mogoSN: String? = null + // 工控相关信息 //车牌号 @Volatile var plateNumber: String? = null @@ -39,6 +46,7 @@ object AppConfigInfo { //工控机协议版本 var protocolVersionNumber: Int = 0 + //业务状态信息 /** * debug 测试环境--2 * release 生产环境--3 @@ -46,6 +54,9 @@ object AppConfigInfo { */ var netMode: Int = 3 + // 角色 + var role: Int = AppIdentityModeUtils.getMisChannelCode(FunctionBuildConfig.appIdentityMode) + // 是否可以网络连接 var isConnectNet: Boolean = false @@ -155,4 +166,39 @@ object AppConfigInfo { }${isConnectedNetty}
" + "------------------工控机感知&规控数据---------------------
" } +} + +fun AppConfigInfo.toConfigUpload():ConfigUpload{ + val configUpload = ConfigUpload() + configUpload.adasSdkVersion = adasSdkVersion + configUpload.appBuildTime = appBuildTime + configUpload.appName = appName + configUpload.appPackageName = appPackageName + configUpload.appVersionCode = appVersionCode + configUpload.appVersionName = appVersionName + configUpload.connectStatusDescribe = connectStatusDescribe + configUpload.dockerVersion = dockerVersion + configUpload.iPCMacAddress = iPCMacAddress + configUpload.isConnectAutopilot = isConnectAutopilot + configUpload.isConnectNet = isConnectNet + configUpload.isConnectObu = isConnectObu + configUpload.isConnectSocket = isConnectSocket + configUpload.isConnectedNetty = isConnectedNetty + configUpload.mapSdkVersion = mapSdkVersion + configUpload.mogoSN = mogoSN + configUpload.mogoToken = mogoToken + configUpload.netMode = netMode + configUpload.obuSdkVersion = obuSdkVersion + configUpload.plateNumber = plateNumber + configUpload.protocolVersionNumber = protocolVersionNumber + configUpload.role = role + configUpload.serverSn = serverSn + configUpload.iPCMacAddress = iPCMacAddress + configUpload.teleTimeStamp = teleTimeStamp + configUpload.timeStamp = System.currentTimeMillis() + configUpload.uniqueDeviceId = uniqueDeviceId + configUpload.widevineIDMd5 = widevineIDMd5 + configUpload.workingBranchHash = workingBranchHash + configUpload.workingBranchName = workingBranchName + return configUpload } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/ConfigUpload.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/ConfigUpload.kt new file mode 100644 index 0000000000..5c71de66b4 --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/app/ConfigUpload.kt @@ -0,0 +1,36 @@ +package com.mogo.eagle.core.data.app + + + +class ConfigUpload( + var workingBranchName: String? = null, + var workingBranchHash: String? = null, + var appBuildTime: String? = null, + var appName: String? = null, + var appVersionCode: Int = 0, + var appVersionName: String? = null, + var appPackageName: String? = null, + var uniqueDeviceId: String? = null, + var widevineIDMd5: String? = null, + var mapSdkVersion: String? = null, + var adasSdkVersion: String? = null, + var obuSdkVersion: String? = null, + var mogoToken: String? = null, + var mogoSN: String? = null, + var plateNumber: String? = null, + var iPCMacAddress: String? = null, + var dockerVersion: String? = null, + var protocolVersionNumber: Int = 0, + var netMode: Int = 3, + var role: Int = 0, + var isConnectNet: Boolean = false, + var isConnectSocket: Boolean = false, + var isConnectAutopilot: Boolean = false, + var connectStatusDescribe: String? = null, + var isConnectObu: Boolean = false, + var isConnectedNetty: Boolean = false, + var serverSn: String = "", + var teleTimeStamp: Long = 0L, + var timeStamp:Long = 0L +) { +} \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index 58bc9c50b4..da65a90d98 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -5,7 +5,7 @@ class ChainConstant { companion object{ // 与云平台数据链路交互 - const val CHAIN_LINK_CLOUD_SHOW = 0 + const val CHAIN_LINK_CLOUD = 0 // 与工控机相关交互 const val CHAIN_LINK_ADAS = 1 // 鹰眼初始化流程顺序相关 @@ -62,6 +62,7 @@ class ChainConstant { const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_ERROR = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_ERROR" const val CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED = "CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED" const val CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED = "CHAIN_ALIAS_CODE_FUNC_CONFIG_CHANGED" + const val CHAIN_ALIAS_CODE_APP_INFO_CONFIG_UPDATE = "CHAIN_ALIAS_CODE_APP_INFO_CONFIG_UPDATE" const val CHAIN_ALIAS_CODE_CLOUD_V2N = "CHAIN_ALIAS_CODE_CLOUD_V2N" const val CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED = "CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED" diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index a5a206c838..a0ada685ff 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -123,4 +123,9 @@ interface IDevaToolsProvider : IProvider { fun startMonitor() fun stopMonitor() + + /** + * 同步AppConfigInfo信息 + */ + fun syncConfig() } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index aa24264cc5..2e5e7a44e2 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.call.devatools import android.app.Activity import android.content.Context -import android.util.Log import android.view.* import com.mogo.eagle.core.data.config.* import com.mogo.eagle.core.data.constants.MogoServicePaths @@ -176,4 +175,8 @@ object CallerDevaToolsManager { fun stopMonitor() { devaToolsProviderApi?.stopMonitor() } + + fun syncConfig(){ + devaToolsProviderApi?.syncConfig() + } } \ No newline at end of file diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt similarity index 50% rename from core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.java rename to core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt index d30ff8fd8c..0973bfc39f 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/AppIdentityModeUtils.kt @@ -1,19 +1,31 @@ -package com.mogo.eagle.core.utilcode.mogo; +package com.mogo.eagle.core.utilcode.mogo + + +fun AppIdentityModeUtils.getMisChannelCode(appIdentityMode: Int): Int{ + return when{ + isTaxi(appIdentityMode) && isPassenger(appIdentityMode) -> 1 + isTaxi(appIdentityMode) && isDriver(appIdentityMode) -> 2 + isBus(appIdentityMode) && isPassenger(appIdentityMode) -> 3 + isBus(appIdentityMode) && isDriver(appIdentityMode) -> 4 + else -> 0 + } +} /** * 根据 * - * @see com.mogo.eagle.core.data.config.FunctionBuildConfig#appIdentityMode 判断身份 + * @see com.mogo.eagle.core.data.config.FunctionBuildConfig.appIdentityMode 判断身份 */ -public class AppIdentityModeUtils { +object AppIdentityModeUtils { /** * 是否是 司机端(这里不细分具体是:小巴、出租车等类型) * * @param appIdentityMode productFlavors 配置的类型 * @return true - 是司机端 false - 不是司机端 */ - public static boolean isDriver(int appIdentityMode) { - return (appIdentityMode & 0x01) != 0x01; + @JvmStatic + fun isDriver(appIdentityMode: Int): Boolean { + return appIdentityMode and 0x01 != 0x01 } /** @@ -22,8 +34,9 @@ public class AppIdentityModeUtils { * @param appIdentityMode productFlavors 配置的类型 * @return true - 是乘客端 false - 不是乘客端 */ - public static boolean isPassenger(int appIdentityMode) { - return (appIdentityMode & 0x01) == 0x01; + @JvmStatic + fun isPassenger(appIdentityMode: Int): Boolean { + return appIdentityMode and 0x01 == 0x01 } /** @@ -32,8 +45,9 @@ public class AppIdentityModeUtils { * @param appIdentityMode productFlavors 配置的类型 * @return true - 是小巴车端 false - 不是小巴车端 */ - public static boolean isBus(int appIdentityMode) { - return (appIdentityMode & 0xA0) == 0xA0; + @JvmStatic + fun isBus(appIdentityMode: Int): Boolean { + return appIdentityMode and 0xA0 == 0xA0 } /** @@ -42,7 +56,9 @@ public class AppIdentityModeUtils { * @param appIdentityMode productFlavors 配置的类型 * @return true - 是出租车端 false - 不是出租车端 */ - public static boolean isTaxi(int appIdentityMode) { - return (appIdentityMode & 0xA0) != 0xA0; + @JvmStatic + fun isTaxi(appIdentityMode: Int): Boolean { + return appIdentityMode and 0xA0 != 0xA0 } } +