add config upload server
This commit is contained in:
@@ -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)) {
|
||||
|
||||
@@ -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<Boolean>() {
|
||||
// 设置是否输出日志
|
||||
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<Boolean>() {
|
||||
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<Boolean>() {
|
||||
|
||||
@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<Boolean>() {
|
||||
|
||||
@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<Boolean>() {
|
||||
|
||||
@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<Boolean>() {
|
||||
|
||||
@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],
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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<FuncConfig>, 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],
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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")
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -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<Int, ChainLogParam>()
|
||||
private val fwBuildMap: MutableMap<Int, FwBuild> = 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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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<BaseResponse<String>> {
|
||||
var map: MutableMap<String, Any> = 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<MutableMap<String, Any>>() {}.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")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<String, Any>): BaseResponse<String>
|
||||
}
|
||||
@@ -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<MoGoHmiContract.View?, HmiPresenter?>(),
|
||||
|
||||
override fun initViews() {
|
||||
initViewShowWithConfig()
|
||||
// 同步AppInfo Config信息
|
||||
CallerDevaToolsManager.syncConfig()
|
||||
|
||||
val decorView = requireActivity().window.decorView as FrameLayout
|
||||
statusBarView = decorView.findViewWithTag<View>("status_bar") as StatusBarView?
|
||||
@@ -231,50 +229,6 @@ class MoGoHmiFragment : MvpFragment<MoGoHmiContract.View?, HmiPresenter?>(),
|
||||
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<MoGoHmiContract.View?, HmiPresenter?>(),
|
||||
setProxyTrafficLightView(viewTrafficLightVr)
|
||||
setProxyLimitingSpeedView(viewLimitingVelocity)
|
||||
setViewNotificationProvider(this)
|
||||
// context?.also {
|
||||
// CallerDevaToolsManager.showStatusBar(it, statusBarContainer)
|
||||
// }
|
||||
}
|
||||
|
||||
override fun getNotificationView(): IViewNotification? =
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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}</font><br/>" +
|
||||
"<font color='red' size='30'>------------------工控机感知&规控数据---------------------</font><br/>"
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
@@ -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
|
||||
) {
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -123,4 +123,9 @@ interface IDevaToolsProvider : IProvider {
|
||||
fun startMonitor()
|
||||
|
||||
fun stopMonitor()
|
||||
|
||||
/**
|
||||
* 同步AppConfigInfo信息
|
||||
*/
|
||||
fun syncConfig()
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user