diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java index 457fb25a60..fa686d846f 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java @@ -16,7 +16,6 @@ import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import com.mogo.eagle.core.function.call.map.CallerSmpManager; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -59,9 +58,6 @@ public abstract class BusPassengerBaseFragment getPresenter().checkAndUpdateStatus(phoneTail)); } - /** - * 隐藏鹰眼原有控件 - */ - private void hideEagleConfig() { - //隐藏小地图 - CallerSmpManager.INSTANCE.hidePanel(); - } - @Override public void onResume() { super.onResume(); diff --git a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt index c2ed3c2e4e..1335dc0e52 100644 --- a/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/startup/ConfigStartUp.kt @@ -1,7 +1,6 @@ package com.mogo.launcher.startup import android.content.Context -import android.util.Log import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.config.FunctionBuildConfig @@ -10,7 +9,6 @@ import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.deva.net.UrlConfig import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.GsonUtils -import com.mogo.eagle.core.utilcode.util.ProcessUtils import com.mogo.launcher.BuildConfig import com.mogo.launcher.R import com.mogo.test.crashreport.CrashReportConstants @@ -35,7 +33,6 @@ object ConfigStartUp { AppConfigInfo.appBuildTime = BuildConfig.APP_BUILD_TIME // 使用与渠道配置一样的gps提供者提供的数据,app/productFlavors/fPadLenovo.gradle GPS_PROVIDER 0-Android系统,1-工控机,2-OBU FunctionBuildConfig.gpsProvider = BuildConfig.GPS_PROVIDER -// FunctionBuildConfig.gpsProvider = 2 // 演示模式,上一次勾选的数据 FunctionBuildConfig.isDemoMode = BuildConfig.IS_DEMO_MODE // // app安装的身份信息 @@ -43,8 +40,6 @@ object ConfigStartUp { // 各个module需要的url FunctionBuildConfig.urlJson = GsonUtils.fromJson(BuildConfig.URLs, UrlConfig::class.java) - Log.d("ConfigStartUp", "ProcessUtils.getCurrentProcessName():" + ProcessUtils.getCurrentProcessName()) - // // 这里影响当前Activity的身份信息,多进程先保持与原来一样,主进程为司机端,:passenger 进程为乘客端 TODO 暂时不启用,仅做洱海交付,独立乘客屏+宣传视频 // if (ProcessUtils.getCurrentProcessName().contains(":passenger")) { // if (AppIdentityModeUtils.isBus(BuildConfig.APP_IDENTITY_MODE)) { @@ -77,7 +72,6 @@ object ConfigStartUp { DebugConfig.setSocketAppId(BuildConfig.SOCKET_APP_ID) DebugConfig.setMapVersion(BuildConfig.MAP_SDK_VERSION) DebugConfig.setMapOptVersion(BuildConfig.MAP_SDK_OPT_VERSION) - DebugConfig.setNeedUploadCoordinatesInTime(BuildConfig.IS_NEED_UPLOAD_COORDINATES_IN_TIME) DebugConfig.setMultiDisplay(BuildConfig.IS_MULTI_DISPLAY) DebugConfig.setCarModelChange(BuildConfig.IS_CAR_MODEL_CHANGE) } @@ -109,23 +103,27 @@ object ConfigStartUp { val mapParams = MapParams.init() mapParams.setDebugMode(false) //todo 1-使用本地地图数据,0-使用在线地图数据 //.setDataFileSource(1) + .setDebugMode(false) .setCoordinateType(MapParams.COORDINATETYPE_GCJ02) .setPerspectiveMode(MapParams.MAP_PERSPECTIVE_UP_CAR) - .setHDVisibileArray(intArrayOf( - HDTypes.DIVIDER.type, - HDTypes.ROAD_AREA.type, - HDTypes.STOP_LINE.type, - HDTypes.ARROW.type, - HDTypes.STATION_BRIDGE.type, - HDTypes.ZEBRA_LINE.type, - HDTypes.GREEN_BELT.type, - HDTypes.DIVERSION.type, - HDTypes.SAFE_ISLAND.type, - HDTypes.ALPHANUMERIC.type, - HDTypes.GUARDBAR.type, - HDTypes.TRAFFIC_DEVICE.type, - HDTypes.CABLE.type, - HDTypes.SIGNAL_LINE.type)) + .setHDVisibileArray( + intArrayOf( + HDTypes.DIVIDER.type, + HDTypes.ROAD_AREA.type, + HDTypes.STOP_LINE.type, + HDTypes.ARROW.type, + HDTypes.STATION_BRIDGE.type, + HDTypes.ZEBRA_LINE.type, + HDTypes.GREEN_BELT.type, + HDTypes.DIVERSION.type, + HDTypes.SAFE_ISLAND.type, + HDTypes.ALPHANUMERIC.type, + HDTypes.GUARDBAR.type, + HDTypes.TRAFFIC_DEVICE.type, + HDTypes.CABLE.type, + HDTypes.SIGNAL_LINE.type + ) + ) // .setZoom( 20 ) // .setPointToCenter( 0.734375f, 0.5f ) //todo 2D模式下需要注意ADAS部分遮挡 diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt index ab50d5c7b2..56ccec4d4b 100644 --- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt +++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/obu/MogoPrivateObuNewManager.kt @@ -587,6 +587,8 @@ class MogoPrivateObuNewManager private constructor() { EventTypeEnumNew.getWarningContent(EventTypeEnumNew.TYPE_USECASE_ID_FCW.poiType) ttsContent = EventTypeEnumNew.getWarningTts(EventTypeEnumNew.TYPE_USECASE_ID_FCW.poiType) + +// ObuManager.getInstance().obuRvToTrackedObject(info) //todo emArrow } //交叉路口碰撞预警 @@ -734,7 +736,6 @@ class MogoPrivateObuNewManager private constructor() { }, direction ) } -// ObuManager.getInstance().obuRvToTrackedObject(info) //更新周边车辆进行预警颜色变换,车辆实时移动和变色 ,UUID不需要匹配了 TrafficDataConvertUtilsNew.cvxV2vThreatIndInfo2TrafficData(info)?.let { CallerMapUIServiceManager.getMarkerService() diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index 45badb5762..3bc530ebaa 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -101,7 +101,7 @@ class BindingCarManager : IMoGoAutopilotCarConfigListener { } fun modifyCarInfo(callBack: (ModifyBindingcarInfo) -> Unit) { - BindingCarNetWorkManager.instance.modifyBindingcar(mContext!!, mAddress, mWidevineIDWithMd5, callBack, screenType) + BindingCarNetWorkManager.instance.modifyBindingCar(mContext!!, mAddress, mWidevineIDWithMd5, callBack, screenType) } private fun driverScreen(macAddress: String, widevineIDWithMd5: String) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt index 3d14d1bd7a..3a44ccd5e9 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarNetWorkManager.kt @@ -74,12 +74,10 @@ class BindingCarNetWorkManager private constructor() { override fun onSubscribe(d: Disposable) {} override fun onNext(info: BindingCarInfo) { if (info != null && info.getData() != null) { - d(SceneConstant.M_BINDING + TAG, "getBindingcarInfo data =" + info.getData().toString()) - //根据车辆类型切换不同的车辆模型,只针对红旗做处理,当mac地址不一致,切换模型 + d(SceneConstant.M_BINDING + TAG, "getBindingCarInfo data =" + info.getData().toString()) if (!SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.MAC_ADDRESS).equals(macAddress) && DebugConfig.isCarModelChange()) { - updateCarVrIconRes(info.getData().brandId) + updateCarVrIconRes(info.getData().brandId); } - when (info.getData().compare) { "0" -> showBindingCarDialog() "3" -> showModifyBindingCarDialog() @@ -93,7 +91,7 @@ class BindingCarNetWorkManager private constructor() { override fun onError(e: Throwable) { e( SceneConstant.M_BINDING + TAG, - "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.message + "getBindingCarInfo onError e = " + e.toString() + "---e.getMessage = " + e.message ) } @@ -105,7 +103,7 @@ class BindingCarNetWorkManager private constructor() { * 绑定和修改绑定车辆 * mac: 48:b0:2d:3a:9c:19 */ - fun modifyBindingcar( + fun modifyBindingCar( context: Context, macAddress: String?, widevineIDWithMd5: String?, @@ -133,12 +131,11 @@ class BindingCarNetWorkManager private constructor() { callBack.invoke(info) d( SceneConstant.M_BINDING + TAG, - "modifyBindingcar onNext code = " + info.code + "---msg = " + info.msg + "--info.toString() = " + info.toString() + "modifyBindingCar onNext code = " + info.code + "---msg = " + info.msg + "--info.toString() = " + info.toString() ) if (!SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.MAC_ADDRESS).equals(macAddress) && DebugConfig.isCarModelChange()) { - updateCarVrIconRes(info.data.brandId) + updateCarVrIconRes(info.data.brandId); } - SharedPrefsMgr.getInstance(context).putString(SharedPrefsConstants.MAC_ADDRESS, macAddress) } } @@ -146,7 +143,7 @@ class BindingCarNetWorkManager private constructor() { override fun onError(e: Throwable) { e( SceneConstant.M_BINDING + TAG, - "modifyBindingcar onError e = " + e.toString() + "---e.getMessage = " + e.message + "modifyBindingCar onError e = " + e.toString() + "---e.getMessage = " + e.message ) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 6ea3a5d346..0e422750f7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -9,6 +9,7 @@ import android.graphics.Color import android.os.Build import android.text.Html import android.util.AttributeSet +import android.util.Log import android.view.LayoutInflater import android.view.View import androidx.annotation.RequiresApi @@ -607,7 +608,6 @@ internal class DebugSettingView @JvmOverloads constructor( tbIsDemoMode.visibility = View.GONE } - // 雨天模式,上一次勾选的数据 tbIsRainMode.isChecked = FunctionBuildConfig.isRainMode //雨天模式 @@ -624,36 +624,30 @@ internal class DebugSettingView @JvmOverloads constructor( //感知优化模式 tbBeautyMode.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isBeautyMode = isChecked - if (!FunctionBuildConfig.isBeautyMode) { - tbBeautyMode.isChecked = false - } } tbV2NFromCar.isChecked = FunctionBuildConfig.isV2NFromCar //v2n车端预警 tbV2NFromCar.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isV2NFromCar = isChecked - if (!FunctionBuildConfig.isV2NFromCar) { - tbV2NFromCar.isChecked = false - } } tbDrawAiCloudFusion.isChecked = FunctionBuildConfig.isDrawAiCloudFusion //云端感知绘制 tbDrawAiCloudFusion.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isDrawAiCloudFusion = isChecked - if (!FunctionBuildConfig.isDrawAiCloudFusion) { - tbDrawAiCloudFusion.isChecked = false - } } tbDrawRomaMode.isChecked = FunctionBuildConfig.isRomaMode //roma tbDrawRomaMode.setOnCheckedChangeListener { _, isChecked -> FunctionBuildConfig.isRomaMode = isChecked - if (!FunctionBuildConfig.isRomaMode) { - tbDrawRomaMode.isChecked = false - } + } + + tbObuWarningFusionUnion.isChecked = FunctionBuildConfig.isObuWarningFusionUnion + //ObuWarningFusionUnion + tbObuWarningFusionUnion.setOnCheckedChangeListener { _, isChecked -> + FunctionBuildConfig.isObuWarningFusionUnion = isChecked } //重启工控机所有节点 @@ -749,12 +743,6 @@ internal class DebugSettingView @JvmOverloads constructor( FunctionBuildConfig.isDrawUnknownIdentifyData = isChecked } -// // 初始化 OBU感知数据是否绘制 选择情况 -// tbIsDrawOBUIdentifyData.isChecked = FunctionBuildConfig.isDrawObuIdentifyData -// tbIsDrawOBUIdentifyData.setOnCheckedChangeListener { buttonView, isChecked -> -// FunctionBuildConfig.isDrawObuIdentifyData = isChecked -// } - //TODO tbIsDrawPath.setOnCheckedChangeListener { _, isChecked -> @@ -1062,18 +1050,6 @@ internal class DebugSettingView @JvmOverloads constructor( * 设置Hmi点击监听 */ private fun setHmiCheckedChangeListener() { - - /** - * 隐藏、显示小地图 - */ - tbControlView.setOnCheckedChangeListener { _, isChecked -> -// if (isChecked) { -// CallerSmpManager.hidePanel() -// } else { -// CallerSmpManager.showPanel() -// } - } - /** * sn绑定控制 */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/SteeringBrakeView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/SteeringBrakeView.kt index 00021183f3..42c4e62409 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/SteeringBrakeView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/SteeringBrakeView.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr +import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.eagle.core.utilcode.util.Utils import kotlinx.android.synthetic.main.view_steering_brake.view.* @@ -73,13 +74,16 @@ class SteeringBrakeView(context: Context, attrs: AttributeSet?) : ConstraintLayo //can数据转发 转向灯状态 0是正常 1是左转 2是右转 if (lightSwitch != null) { CallerLogger.d("$M_HMI$TAG", "---lightSwitch.getNumber() = " + lightSwitch.number) - if (lightSwitch.number == 1 || lightSwitch.number == 2) { - isShowTurnLight = true - brakeView.visibility = View.VISIBLE - brakeView.setBrakeLight(0) - } else { - brakeView.visibility = View.GONE - isShowTurnLight = false + ThreadUtils.runOnUiThread { + if (lightSwitch.number == 1 || lightSwitch.number == 2) { + isShowTurnLight = true + brakeView.visibility = View.VISIBLE + brakeView.setBrakeLight(0) + } else { + brakeView.visibility = View.GONE + isShowTurnLight = false + } + turnLightView.visibility = View.VISIBLE } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt index c2683e8c6c..308278c1e5 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/vehicle/TurnLightViewStatus.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.api.map.angle.Turning import com.mogo.eagle.core.function.call.autopilot.CallerChassisLamplightListenerManager import com.mogo.eagle.core.function.call.map.CallerVisualAngleManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.util.ThreadUtils import kotlinx.android.synthetic.main.view_steering_brake.view.* import kotlinx.android.synthetic.main.view_turn_light_status.view.* import kotlinx.coroutines.Dispatchers @@ -71,8 +72,10 @@ open class TurnLightViewStatus @JvmOverloads constructor( override fun onAutopilotLightSwitchData(lightSwitch: Chassis.LightSwitch?) { super.onAutopilotLightSwitchData(lightSwitch) lightSwitch?.let { - turnLightView.visibility = View.VISIBLE - setTurnLight(it) + ThreadUtils.runOnUiThread { + turnLightView.visibility = View.VISIBLE + setTurnLight(it) + } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 3aad4d8c8f..5bfa8302c6 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -278,6 +278,18 @@ android:textOn="关闭漫游模式" android:textSize="@dimen/dp_24" /> + + - - () { // TODO 现在这块逻辑因为网约车业务那后台的限制,还没有更换,条件成熟后替换为 DeviceIdUtils.getWidevineIDWithMd5(context) // 这里影响当前Activity的身份信息,多进程先保持与原来一样,主进程为司机端,:passenger 进程为乘客端 if (ProcessUtils.getCurrentProcessName().contains(":passenger")) { - clientConfig.thirdPartyDeviceId = Utils.getDevicesId() + "_passenger" + clientConfig.thirdPartyDeviceId = DeviceUtils.getDeviceSN() + "_passenger" } else { - clientConfig.thirdPartyDeviceId = Utils.getDevicesId() + clientConfig.thirdPartyDeviceId = DeviceUtils.getDeviceSN() } //设置长链接的secretKey 通过SHA1和包名找中台服务生成,后续包名分渠道,需要做对应操作 clientConfig.secretKey = "YMj2VFDFxJ3Q4gNoZceJ" diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java index 6e24080849..acd5440e71 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java @@ -10,7 +10,6 @@ import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.entity.V2XMessageEntity; import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity; import com.mogo.eagle.core.data.v2x.V2XOptimalRouteDataRes; -import com.mogo.eagle.core.function.call.map.CallerSmpManager; import com.mogo.eagle.core.function.v2x.events.consts.V2XConst; import java.util.List; diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/http/V2XRefreshModel.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/http/V2XRefreshModel.kt index 517e16e76b..f3e8a4f56a 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/http/V2XRefreshModel.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/http/V2XRefreshModel.kt @@ -12,7 +12,7 @@ import com.mogo.eagle.core.function.v2x.internal.data.V2XMarkerResponse import com.mogo.eagle.core.function.v2x.internal.http.api.V2XApiService import com.mogo.eagle.core.function.v2x.internal.http.body.V2XRefreshEntity import com.mogo.eagle.core.function.v2x.internal.http.callback.IV2XRefreshCallback -import com.mogo.eagle.core.function.v2x.internal.utils.DeviceUtils +import com.mogo.eagle.core.utilcode.util.DeviceUtils import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers @@ -64,7 +64,7 @@ internal class V2XRefreshModel { handled }) this["netType"] = CommonUtils.getNetworkType(config.context) - this["cellId"] = DeviceUtils.getCellId(config.context) ?: "" + this["cellId"] = DeviceUtils.getCellId() ?: "" this["sn"] = config.aiCloudConfig.sn this["ticket"] = config.aiCloudConfig.token this["sig"] = SignUtil.createSign(this, "JGjZx6") diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/utils/DeviceUtils.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/utils/DeviceUtils.kt deleted file mode 100644 index b7c6dc3312..0000000000 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/internal/utils/DeviceUtils.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.mogo.eagle.core.function.v2x.internal.utils - -import android.Manifest -import android.annotation.SuppressLint -import android.content.Context -import android.content.pm.PackageManager -import android.telephony.CellLocation -import android.telephony.TelephonyManager -import android.telephony.cdma.CdmaCellLocation -import android.telephony.gsm.GsmCellLocation -import java.lang.Exception - -internal class DeviceUtils { - - companion object { - - @SuppressLint("MissingPermission") - @JvmStatic - fun getCellId(context: Context): String? { - val tm = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager - val pm = context.packageManager - val accessCoarseLocationPermission = PackageManager.PERMISSION_GRANTED == - pm.checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, context.packageName) - val accessFineLocationPermission = PackageManager.PERMISSION_GRANTED == - pm.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, context.packageName) - if (!accessCoarseLocationPermission || !accessFineLocationPermission) return "noPermission" - var location: CellLocation? = null - try { - location = tm.cellLocation - } catch (e: Exception) { - e.printStackTrace() - } - if (location != null) { - // Gsm网络 , 联通移动的网络属于这一套 - if (location is GsmCellLocation) { - val cellid = location.cid - return cellid.toString() - // Cdma网络 , 电信网络属于这一种 - } else if (location is CdmaCellLocation) { - return location.baseStationId.toString() - } - } - return null - } - } -} \ No newline at end of file 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 1a43eab9b8..ac11b12d1f 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 @@ -28,6 +28,7 @@ object AppConfigInfo { // 高精地图版本 var mapSdkVersion: String? = null + // 高精地图采集版本 var mapSdkOptVersion: String? = null var adasSdkVersion: String? = null @@ -40,12 +41,15 @@ object AppConfigInfo { //车牌号 @Volatile var plateNumber: String? = null + //工控机MAC地址 @Volatile var iPCMacAddress: String? = null + //工控机DockerVersion @Volatile var dockerVersion: String? = null + //工控机协议版本 var protocolVersionNumber: Int = 0 @@ -168,11 +172,17 @@ object AppConfigInfo { "" } }${isConnectedNetty}
" + - "------------------工控机感知&规控数据---------------------
" + "------------------工控机数据---------------------
"+ + "车牌:${plateNumber}
" + + "mac:${iPCMacAddress}
" + + "docker version:${dockerVersion}
" + + "protocol:${protocolVersionNumber}
" + + "------------------业务信息---------------------
"+ + "角色:$role , isDriver : $isDriver
" } } -fun AppConfigInfo.toConfigUpload():ConfigUpload{ +fun AppConfigInfo.toConfigUpload(): ConfigUpload { val configUpload = ConfigUpload() configUpload.adasSdkVersion = adasSdkVersion configUpload.appBuildTime = appBuildTime @@ -199,12 +209,11 @@ fun AppConfigInfo.toConfigUpload():ConfigUpload{ 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 + return configUpload } \ No newline at end of file diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt index ff6a6b3135..9e6508a3d3 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/config/FunctionBuildConfig.kt @@ -89,6 +89,14 @@ object FunctionBuildConfig { @JvmField var isFusionColor = false + /** + * 是否开启obu rv预警感知物融合功能 , 仅大理,烟台交付项目 + * 默认关闭 + */ + @Volatile + @JvmField + var isObuWarningFusionUnion = false + /** * 当前APP的身份模式 * diff --git a/core/mogo-core-utils/src/main/AndroidManifest.xml b/core/mogo-core-utils/src/main/AndroidManifest.xml index acde4e0712..70033d6f31 100644 --- a/core/mogo-core-utils/src/main/AndroidManifest.xml +++ b/core/mogo-core-utils/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ + diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java index 8cf0c47008..b9b636186a 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/DeviceUtils.java @@ -5,9 +5,11 @@ import static android.Manifest.permission.CHANGE_WIFI_STATE; import static android.Manifest.permission.INTERNET; import static android.content.Context.WIFI_SERVICE; +import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; import android.net.Uri; @@ -15,7 +17,10 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.provider.Settings; +import android.telephony.CellLocation; import android.telephony.TelephonyManager; +import android.telephony.cdma.CdmaCellLocation; +import android.telephony.gsm.GsmCellLocation; import android.text.TextUtils; import android.util.Log; @@ -528,6 +533,41 @@ public final class DeviceUtils { return prefix + UUID.nameUUIDFromBytes(id.getBytes()).toString().replace("-", ""); } + public static String getCellId() { + TelephonyManager tm = (TelephonyManager) Utils.getApp().getSystemService(Context.TELEPHONY_SERVICE); + if (tm == null) { + return ""; + } + + PackageManager pm = Utils.getApp().getPackageManager(); + boolean accessCoarseLocationPermission = (PackageManager.PERMISSION_GRANTED == + pm.checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, Utils.getApp().getPackageName())); + boolean accessFineLocationPermission = (PackageManager.PERMISSION_GRANTED == + pm.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, Utils.getApp().getPackageName())); + if (!accessCoarseLocationPermission || !accessFineLocationPermission) + return "noPermission"; + + CellLocation location = null; + try { + location = tm.getCellLocation(); + } catch (Exception e) { + e.printStackTrace(); + } + if (location != null) { + // Gsm网络 , 联通移动的网络属于这一套 + if (location instanceof GsmCellLocation) { + GsmCellLocation gsmLoc = (GsmCellLocation) location; + int cellid = gsmLoc.getCid(); + return String.valueOf(cellid); + // Cdma网络 , 电信网络属于这一种 + } else if (location instanceof CdmaCellLocation) { + CdmaCellLocation cdmaLoc = (CdmaCellLocation) location; + return String.valueOf(cdmaLoc.getBaseStationId()); + } + } + return ""; + } + /** * 判断用户是否打开系统定位服务 * @@ -574,10 +614,10 @@ public final class DeviceUtils { // 中科创达 EB5获取SN serial = (String) get.invoke(c, "persist.device.sn"); } - if (TextUtils.isEmpty(serial)) { - // 联想PAD 获取SN - serial = (String) get.invoke(c, "ro.odm.lenovo.gsn"); - } +// if (TextUtils.isEmpty(serial)) { +// // 联想PAD 获取SN,2022-2023款PAD无法获取暂时不启用 +// serial = (String) get.invoke(c, "ro.odm.lenovo.gsn"); +// } } catch (Exception e) { e.printStackTrace(); } @@ -609,6 +649,26 @@ public final class DeviceUtils { return productModel; } + + /** + * @return 获取Fota系统版本 + */ + public static String getFotaVersion() { + String fotaVersion = ""; + try { + Class c = Class.forName("android.os.SystemProperties"); + Method get = c.getMethod("get", String.class); + fotaVersion = (String) get.invoke(c, "ro.fota.version"); + if (!TextUtils.isEmpty(fotaVersion)) { + fotaVersion = fotaVersion.trim(); + } + } catch (Exception e) { + e.printStackTrace(); + } + return fotaVersion; + } + + private static String getSerialnoNumbers() { final String serialnoStr = "[ro.boot.serialno]"; try { @@ -633,4 +693,29 @@ public final class DeviceUtils { } return serialnoStr; } + + public static final String KEY_DEVICE_ID = "deviceId"; + + /** + * 获取设备SN信息,首次获取后会存储SP,后续获取都从SP获取 + * + * @return 当前的设备SN信息,优先使用设备固定的sn, + */ + public static String getDeviceSN() { + String devicesSN = SPUtils.getInstance().getString(KEY_DEVICE_ID); + if (TextUtils.isEmpty(devicesSN)) { + // 获取设备唯一SN + devicesSN = getSerialNumber(); + // 获取 android id of device + if (TextUtils.isEmpty(devicesSN)) { + devicesSN = getAndroidID(); + // 获取随机的设备ID + if (TextUtils.isEmpty(devicesSN)) { + devicesSN = getUniqueDeviceId(); + } + } + SPUtils.getInstance().put(KEY_DEVICE_ID, devicesSN); + } + return devicesSN; + } } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 28dedfc7c8..b87aa93e8b 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -168,18 +168,6 @@ public class DebugConfig { return mapOptVersion; } - /** - * 是否需要实时上报坐标位置 - */ - private static boolean sIsNeedUploadCoordinatesInTime = false; - - public static boolean isNeedUploadCoordinatesDurationInTime() { - return sIsNeedUploadCoordinatesInTime; - } - - public static void setNeedUploadCoordinatesInTime(boolean sIsNeedUploadCoordinatesInTime) { - DebugConfig.sIsNeedUploadCoordinatesInTime = sIsNeedUploadCoordinatesInTime; - } // 兼容是否支持多屏幕方案 private static boolean isMultiDisplay = false; diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java index 38c0ce82b2..6cfd729f0b 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java @@ -16,7 +16,7 @@ import com.mogo.eagle.core.network.ServerParam; import com.mogo.eagle.core.network.utils.GsonUtil; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.CommonUtils; -import com.mogo.eagle.core.utilcode.util.DeviceIdUtils; +import com.mogo.eagle.core.utilcode.util.DeviceUtils; import com.mogo.eagle.core.utilcode.util.WindowUtils; import java.io.UnsupportedEncodingException; @@ -38,7 +38,7 @@ public class ParamsUtil { params.putAll(location); } params.put(ServerParam.NET_TYPE, CommonUtils.getNetworkType(AbsMogoApplication.getApp())); - params.put(ServerParam.CELL_ID, Utils.getCellId(AbsMogoApplication.getApp())); + params.put(ServerParam.CELL_ID, DeviceUtils.getCellId()); // params.put( ServerParam.DISPLAY_ID, DeviceUtil.getSystemVersion() ); params.put(ServerParam.SN, MoGoAiCloudClientConfig.getInstance().getSn()); @@ -61,10 +61,10 @@ public class ParamsUtil { STATIC_PARAMS.put(ServerParam.VERSION_NAME, CommonUtils.getVersionName(AbsMogoApplication.getApp())); STATIC_PARAMS.put(ServerParam.SCREEN_PIXELS, WindowUtils.getScreenPixels(AbsMogoApplication.getApp())); STATIC_PARAMS.put(ServerParam.ANDROID_ID, CommonUtils.getAndroidID(AbsMogoApplication.getApp())); - STATIC_PARAMS.put(ServerParam.DEVICE_ID, DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp())); + STATIC_PARAMS.put(ServerParam.DEVICE_ID, DeviceUtils.getDeviceSN()); STATIC_PARAMS.put(ServerParam.IMEI, CommonUtils.getIMEI(AbsMogoApplication.getApp())); STATIC_PARAMS.put(ServerParam.IMSI, CommonUtils.getIMSI(AbsMogoApplication.getApp())); - STATIC_PARAMS.put(ServerParam.FOTA_VERSION, Utils.getFotaVersion()); + STATIC_PARAMS.put(ServerParam.FOTA_VERSION, DeviceUtils.getFotaVersion()); STATIC_PARAMS.put(ServerParam.END_POINT, ServerParam.END_POINT_CAR); } @@ -75,7 +75,7 @@ public class ParamsUtil { public static Map getAnalyticsCustomParams() { Map map = new ArrayMap<>(); map.put("debug", DebugConfig.isDebug() ? 1 : 0); - String fota = Utils.getFotaVersion(); + String fota = DeviceUtils.getFotaVersion(); map.put("systemversion", TextUtils.isEmpty(fota) ? DebugConfig.getProductFlavor() : fota); map.put("sn", MoGoAiCloudClientConfig.getInstance().getSn()); return map; diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java deleted file mode 100644 index 548c76e459..0000000000 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.mogo.commons.network; - - -import android.Manifest; -import android.content.Context; -import android.content.pm.PackageManager; -import android.telephony.CellLocation; -import android.telephony.TelephonyManager; -import android.telephony.cdma.CdmaCellLocation; -import android.telephony.gsm.GsmCellLocation; - -import com.mogo.commons.AbsMogoApplication; -import com.mogo.commons.debug.DebugConfig; -import com.mogo.eagle.core.utilcode.util.DeviceIdUtils; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** - * Created by congtaowang on 2018/3/29. - */ - -public class Utils { - - public static String getCellId(Context context) { - TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - if (tm == null) { - return ""; - } - - PackageManager pm = context.getPackageManager(); - boolean accessCoarseLocationPermission = (PackageManager.PERMISSION_GRANTED == - pm.checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, context.getPackageName())); - boolean accessFineLocationPermission = (PackageManager.PERMISSION_GRANTED == - pm.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, context.getPackageName())); - if (!accessCoarseLocationPermission || !accessFineLocationPermission) - return "noPermission"; - - CellLocation location = null; - try { - location = tm.getCellLocation(); - } catch (Exception e) { - e.printStackTrace(); - } - if (location != null) { - // Gsm网络 , 联通移动的网络属于这一套 - if (location instanceof GsmCellLocation) { - GsmCellLocation gsmLoc = (GsmCellLocation) location; - int cellid = gsmLoc.getCid(); - return String.valueOf(cellid); - // Cdma网络 , 电信网络属于这一种 - } else if (location instanceof CdmaCellLocation) { - CdmaCellLocation cdmaLoc = (CdmaCellLocation) location; - return String.valueOf(cdmaLoc.getBaseStationId()); - } - } - return ""; - } - - - public static final String GET = "get"; - public static final String GSM_SERIAL = "gsm.serial"; - public static final String BYD_SERIAL = "ro.serialno"; - public static final String FOTA_VERSION = "ro.fota.version"; - public static final String PROPERTIES = "android.os.SystemProperties"; - - public static String getDevicesId() { - if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) { - return DeviceIdUtils.getDeviceId(AbsMogoApplication.getApp()); - } - return getSystemProperties(GSM_SERIAL); - } - - public static String getFotaVersion() { - return getSystemProperties(FOTA_VERSION); - } - - public static String getSystemProperties(String name) { - String value = ""; - - try { - Class c = Class.forName(PROPERTIES); - Method get = c.getMethod(GET, String.class); - value = (String) get.invoke(c, name); - } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException var3) { - var3.printStackTrace(); - } - return value; - } -} diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java b/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java deleted file mode 100644 index d745f286fb..0000000000 --- a/libraries/mogo-map/src/main/java/com/mogo/map/CustomMapApiBuilder.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.mogo.map; - -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.map.uicontroller.AMapUIController; -import com.mogo.map.uicontroller.IMogoMapUIController; - -/** - * @author congtaowang - * @since 2020/12/9 - *

- * 描述 - */ -public class CustomMapApiBuilder { - - private static final String TAG = "CustomMapApiBuilder"; - - private static CustomMapApiBuilder sApiBuilder; - - private static CustomMapApiBuilder getApiBuilder() { - if (sApiBuilder == null) { - synchronized (CustomMapApiBuilder.class) { - if (sApiBuilder == null) { - CallerLogger.INSTANCE.d(TAG, "init"); - sApiBuilder = new CustomMapApiBuilder(); - } - } - } - return sApiBuilder; - } - - public IMogoMapUIController getMapUIController() { - return AMapUIController.getInstance(); - } - - - public static IMogoMapUIController getMapUIControllerDelegate() { - return getApiBuilder().getMapUIController(); - } - - public static void destroy() { - } -} diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index e46f160a1a..f525de00c5 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -8,6 +8,7 @@ import com.mogo.eagle.core.data.map.CenterLine; import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.map.uicontroller.AMapUIController; import com.mogo.map.uicontroller.CarCursorOption; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; @@ -37,7 +38,7 @@ public class MogoMapUIController implements IMogoMapUIController { private void initDelegate() { if (mDelegate == null) { - mDelegate = CustomMapApiBuilder.getMapUIControllerDelegate(); + mDelegate = AMapUIController.getInstance(); } } diff --git a/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/ObuManager.java b/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/ObuManager.java index 9844746ece..9af04efdeb 100644 --- a/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/ObuManager.java +++ b/libraries/mogo-obu/src/main/java/com/zhidao/support/obu/ObuManager.java @@ -755,7 +755,9 @@ public class ObuManager { trackedObjectBuilder.setAltitude(vehBasics.getElevation()); trackedObjectBuilder.setSpeed(vehBasics.getSpeed()); trackedObjectBuilder.setHeading(vehBasics.getHeading()); - trackedObjectBuilder.addTrackedSource(MessagePad.TrackedSource.newBuilder().setSource(2)); + MessagePad.TrackedSource source = MessagePad.TrackedSource.newBuilder().setSource(2) + .addSubSource(MessagePad.SubSource.newBuilder().setSource(1).setId(vehBasics.getId())).build(); + trackedObjectBuilder.addTrackedSource(source); /** * 0 未知车辆 * 1 特殊用途车辆 diff --git a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java index 075efaea9b..ac22671363 100644 --- a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java +++ b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java @@ -1,7 +1,6 @@ package com.mogo.test.crashreport.apm; import android.content.Context; -import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.apm.insight.AttachUserData; @@ -16,9 +15,8 @@ import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.bindingcar.CarInfo; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; -import com.mogo.eagle.core.utilcode.util.AppUtils; import com.mogo.eagle.core.utilcode.util.CommonUtils; -import com.mogo.eagle.core.utilcode.util.DeviceIdUtils; +import com.mogo.eagle.core.utilcode.util.DeviceUtils; import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.test.crashreport.CrashReportConstants; import com.mogo.test.crashreport.ITestCrashReportProvider; @@ -92,7 +90,7 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { if (sn != null && !sn.isEmpty()) { crash.config().setDeviceId(sn); } else { - crash.config().setDeviceId(DeviceIdUtils.getDeviceId(context)); + crash.config().setDeviceId(DeviceUtils.getDeviceSN()); } crash.addTags(MAP_SDK_VERSION, mapSDKVersion); crash.addTags("CITYCODE", mCityCode); @@ -104,7 +102,7 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { HashMap dimension = new HashMap<>(); //维度值 - dimension.put("Devices_SN_DeviceId", sn + "__" + DeviceIdUtils.getDeviceId(context)); + dimension.put("Devices_SN_DeviceId", sn + "__" + DeviceUtils.getDeviceSN()); // dimension.put("Devices_SN_WidevineID_MD5", sn + "__" + DeviceIdUtils.getWidevineIDWithMd5(context)); // dimension.put("Devices_SN_WidevineID", sn + "__" + DeviceIdUtils.getWidevineID(context)); dimension.put(MAP_SDK_VERSION, mapSDKVersion);