Merge branch 'dev_robotaxi-d-app-module_2130_221116_2.13.0' into mutidev_robotaxi-d-app-module_2130_221116_2.13.0_multi_display

This commit is contained in:
donghongyu
2022-12-01 19:09:33 +08:00
33 changed files with 486 additions and 223 deletions

View File

@@ -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)) {

View File

@@ -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
@@ -113,7 +113,7 @@ class HttpDnsStartUp : AndroidStartup<Boolean>() {
// 设置是否输出日志
clientConfig.isShowDebugLog = true
// 设置是否输出网络日志
clientConfig.isShowNetDebugLog = false
clientConfig.isShowNetDebugLog = true //todo test em arrow
// 设置是否是直播推流的主播
clientConfig.isAnchor = true
when (DebugConfig.getCarMachineType()) {
@@ -260,7 +260,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],
@@ -311,7 +311,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],
@@ -324,7 +324,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],
@@ -337,7 +337,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],
@@ -350,7 +350,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],

View File

@@ -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()
}
}

View File

@@ -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],

View File

@@ -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
}
}
}
}

View File

@@ -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 {

View File

@@ -19,11 +19,11 @@ internal class StatusModel : ViewModel() {
const val TAG = "StatusModel"
val DEFAULTS = Pair(null, ArrayList<Status>().also {
it += RTKStatus("", -1)
it += IpcStatus(CallerAutoPilotManager.isConnected())
// it += NetStatus(false)
it += CanStatus(false)
it += TracingStatus(UNKNOWN)
it += RTKStatus("", -1)
// it += NetStatus(false)
it += GpsStatus(enabled = false, isGranted = false)
})
}

View File

@@ -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")
})
}
}

View File

@@ -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)
}
}
}

View File

@@ -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")
}
}
}
}
}

View File

@@ -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>
}

View File

@@ -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? =

View File

@@ -5,6 +5,7 @@ import android.content.Context
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.LinearLayout
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.marginTop
@@ -52,6 +53,14 @@ class DriverMsgBoxBubbleView @JvmOverloads constructor(
linearLayoutManager.stackFromEnd = true
linearLayoutManager.reverseLayout = true
driverMsgBoxBubbleAdapter = DriverMsgBoxBubbleAdapter(context as Activity)
driverMsgBoxBubbleAdapter?.setChangeListener(object : DriverMsgBoxBubbleAdapter.ChangeViewListener{
override fun notifyView() {
if(dataList.isEmpty()){
rvBubbleList.visibility = View.GONE
}
}
})
rvBubbleList.adapter = driverMsgBoxBubbleAdapter
rvBubbleList.layoutManager = linearLayoutManager
}
@@ -71,6 +80,7 @@ class DriverMsgBoxBubbleView @JvmOverloads constructor(
//弹出被动录包弹窗
CallerDevaToolsManager.onReceiveBadCaseRecord(msgBoxBean,context as Activity,true)
}else{
rvBubbleList.visibility = View.VISIBLE
dataList.add(msgBoxBean)
driverMsgBoxBubbleAdapter?.setData(dataList)
}

View File

@@ -36,6 +36,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
private val report: Int = 4
var countDownTimer: CountDownTimer?=null
private var changeViewListener: ChangeViewListener?=null
fun setData(data: ArrayList<MsgBoxBean>){
this.data = data
@@ -133,6 +134,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
override fun onFinish() {
data?.remove(msgBoxBean)
changeViewListener?.notifyView()
notifyDataSetChanged()
// notifyItemRemoved(index)
// notifyItemRangeChanged(index,recordTypeEntity.size-index)
@@ -186,4 +188,14 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
var tvV2XContent: TextView = itemView.findViewById(R.id.tvV2XContent)
}
fun setChangeListener(listener: ChangeViewListener){
changeViewListener = listener
}
interface ChangeViewListener{
fun notifyView()
}
}

View File

@@ -9,7 +9,6 @@ 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
@@ -385,11 +384,14 @@ class DebugSettingView @JvmOverloads constructor(
//展示OBU控制中心
obuControllerLayout.visibility = View.VISIBLE
tbVehicleStateController.isChecked = true
//展示HMI控制中心
hmiObuLayout.visibility = View.VISIBLE
} else {
buttonView.setCompoundDrawables(null, null, iconRight, null)
//隐藏OBU控制中心
obuControllerLayout.visibility = View.GONE
tbVehicleStateController.isChecked = false
hmiObuLayout.visibility = View.GONE
}
}
@@ -2079,9 +2081,7 @@ class DebugSettingView @JvmOverloads constructor(
* 时延显示
*/
override fun onObuV2iDelayTime(delayTime: Long) {
ThreadUtils.runOnUiThread {
tvObuDelay.text = "obu时延" + delayTime.toString()
}
}
/**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 933 B

View File

@@ -42,7 +42,7 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvBubbleReportTitle"
app:layout_constraintLeft_toLeftOf="@id/tvBubbleReportTitle"
android:layout_marginTop="20px"
android:layout_marginTop="10px"
android:textColor="#B3FFFFFF"
android:textSize="28px"
/>
@@ -53,7 +53,7 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tvBubbleReportTime"
app:layout_constraintLeft_toLeftOf="@id/tvBubbleReportTime"
android:layout_marginTop="15px"
android:layout_marginTop="10px"
android:textColor="#B3FFFFFF"
android:textSize="28px"
/>

View File

@@ -10,6 +10,9 @@
android:id="@+id/rvBubbleList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="10px"
android:paddingBottom="10px"
android:visibility="gone"
/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>

View File

@@ -969,6 +969,7 @@
</LinearLayout>
<!-- OBU 配置 start -->
<ToggleButton
android:id="@+id/tbObuController"
android:layout_width="match_parent"
@@ -1042,16 +1043,52 @@
android:background="#F0F0F0"
app:layout_constraintTop_toBottomOf="@id/tvObuInfo" />
<TextView
android:id="@+id/tvObuDelay"
<GridLayout
android:id="@+id/hmiObuLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:text="obu时延:"
android:textColor="#000"
android:textSize="@dimen/dp_24"
app:layout_constraintTop_toBottomOf="@id/obuDivider2" />
android:columnCount="2"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintTop_toBottomOf="@id/obuDivider2"
tools:ignore="MissingConstraints">
<ToggleButton
android:id="@+id/tbObuWeaknessTraffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="关闭路侧弱势群体预警"
android:textOn="打开路侧弱势群体预警"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbCloudWeaknessTraffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="开启云端弱势群体预警"
android:textOn="关闭云端弱势群体预警"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbRoadLimitSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="关闭路侧限速"
android:textOn="获取路侧限速"
android:textSize="@dimen/dp_24" />
</GridLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- OBU 配置 end -->
<ToggleButton
android:id="@+id/tbEagleEyeController"
@@ -1357,39 +1394,6 @@
android:textOn="关闭「引导线动态效果」"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbObuWeaknessTraffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="关闭路侧弱势群体预警"
android:textOn="打开路侧弱势群体预警"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbCloudWeaknessTraffic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="开启云端弱势群体预警"
android:textOn="关闭云端弱势群体预警"
android:textSize="@dimen/dp_24" />
<ToggleButton
android:id="@+id/tbRoadLimitSpeed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="关闭路侧限速"
android:textOn="获取路侧限速"
android:textSize="@dimen/dp_24" />
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etThreshold"
android:layout_width="wrap_content"

View File

@@ -64,7 +64,7 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivGotoPersonalInfo"
android:layout_width="@dimen/dp_64"
android:layout_height="@dimen/dp_64"
android:layout_height="@dimen/dp_80"
android:src="@drawable/och_arrow_right"
android:visibility="gone"
android:scaleType="center"

View File

@@ -1,5 +1,7 @@
package com.mogo.eagle.core.function.impl;
import android.util.Log;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.data.map.MogoLatLng;
@@ -9,6 +11,7 @@ import com.mogo.eagle.core.function.api.map.marker.IMogoMarkerService;
import com.mogo.eagle.core.function.impl.marker.drawer.MarkerDrawer;
import com.mogo.eagle.core.function.impl.marker.drawer.TrafficMarkerDrawer;
import com.mogo.eagle.core.function.impl.marker.drawer.V2XWarnDataDrawer;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.map.marker.IMogoMarker;

View File

@@ -5,6 +5,7 @@ import android.content.Context
import android.os.Handler
import android.os.Message
import android.text.TextUtils
import android.util.Log
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.constants.DataTypes
@@ -98,9 +99,9 @@ object TrafficMarkerDrawer {
* 更新识别数据颜色
*/
fun updateITrafficThreatLevelInfo(trafficData: TrafficData) {
CallerLogger.d(TAG, "updateITrafficThreatLevelInfo trafficData = $trafficData")
CallerLogger.d(TAG,
"trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel + "----FunctionBuildConfig.debugTrackerProvider = " + FunctionBuildConfig.debugTrackerProvider)
// Log.e("liyz", "trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel + "----FunctionBuildConfig.debugTrackerProvider = " + FunctionBuildConfig.debugTrackerProvider)
if (FunctionBuildConfig.debugTrackerProvider != 1) {
return
}
@@ -166,8 +167,11 @@ object TrafficMarkerDrawer {
private fun drawObuRecognizedDataMarker(trafficData: TrafficData) {
CallerLogger.d(
TAG,
"trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel
"drawObuRecognizedDataMarker trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel
)
// Log.d("liyz",
// "drawObuRecognizedDataMarker trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel
// )
if (trafficData.type != null) {
val resId: Int = trafficData.type.traffic3DIconId
@@ -214,7 +218,7 @@ object TrafficMarkerDrawer {
) {
CallerLogger.d(
TAG,
"trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel
"changeDynamicMarker trafficData.type = " + trafficData.type + "---trafficData.threatLevel = " + trafficData.threatLevel
)
if (trafficData.type != TrafficTypeEnum.TYPE_TRAFFIC_ID_SPECIAL_VEHICLE) {
mMarkersCaches[trafficData.uuid]?.setAnchorColor(trafficData.threatLevelColor())

View File

@@ -409,8 +409,7 @@ class MogoPrivateObuNewManager private constructor() {
"ttsContent = $ttsContent --alertContent = $alertContent --appId = $appId ---direction = ${direction.direction} --distance = ${Math.round(data.warningMsg[0].distance)} ---eventRadius = ${Math.round(data.warningMsg[0].eventRadius)} --speedMaxLimit = ${data.warningMsg[0].speedMaxLimit.toInt()}"
)
when (status) {
// 添加
MogoObuConstants.STATUS.ADD -> {
MogoObuConstants.STATUS.ADD -> { // 添加
//显示警告红边
// CallerHmiManager.showWarning(direction)
//不显示弹框,语音提示,数据在消息盒子里面展示,此处不在处理弹框
@@ -447,11 +446,9 @@ class MogoPrivateObuNewManager private constructor() {
}
MogoObuConstants.STATUS.UPDATE -> { // 更新
}
// 删除
MogoObuConstants.STATUS.DELETE -> {
MogoObuConstants.STATUS.DELETE -> { // 删除
// 关闭警告红边
// CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 移除顶部弹窗
@@ -467,7 +464,6 @@ class MogoPrivateObuNewManager private constructor() {
}
}
}
}
/**
@@ -489,11 +485,7 @@ class MogoPrivateObuNewManager private constructor() {
"onMogoObuRsmWarning ------> ${data.toString()}"
)
// 交通参与者类型 0x0:未知 UNKNOWN | 1机动车 2:非机动车 NON_MOTOR | 3:行人 PEDESTRIAN 4:obu
if (data != null && data.participant != null && (data.participant.ptcType == 1 || data.participant.ptcType == 3)) {
CallerLogger.d("$M_OBU${TAG_MOGO_OBU}",
"onMogoObuRsmWarning ---status---> ${data.status}"
)
if (data != null && data.participant != null) {
var v2xType = ""
if (data.participant.ptcType == 1) { //机动车
v2xType =
@@ -513,71 +505,69 @@ class MogoPrivateObuNewManager private constructor() {
var level = -1
val direction = getMessageDirection(data.participant.targetPosition)
if (data.warningMsg != null && data.warningMsg.warningData != null && data.warningMsg.warningData.size > 0) {
level = data.warningMsg.warningData[0].warningLevel
}
level = data.warningMsg.warningData[0].warningLevel //默认是1个
CallerLogger.d("$M_OBU${TAG_MOGO_OBU}",
"onMogoObuRsmWarning ---status---> ${data.status} ---data.warningMsg.warningData[0].status = ${data.warningMsg.warningData[0].status}"
)
when (data.status) {
MogoObuConstants.STATUS.ADD -> { // 添加
when (data.warningMsg.warningData[0].status) {
MogoObuConstants.STATUS.ADD -> { // 添加
// if (level == 2 || level == 3) { //不考虑level
//显示警告红边
CallerHmiManager.showWarning(direction)
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(
MsgBoxType.OBU,
V2XMsg(
v2xType,
alertContent,
ttsContent
//显示警告红边
CallerHmiManager.showWarning(direction)
CallerMsgBoxManager.saveMsgBox(
MsgBoxBean(
MsgBoxType.OBU,
V2XMsg(
v2xType,
alertContent,
ttsContent
)
)
)
)
CallerHmiManager.warningV2X(
v2xType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
(v2xType + direction.direction),//使用当前事件类型+方向记录tag当发生变化的时候关闭当前弹出新的
object : IMoGoWarningStatusListener {
override fun onDismiss() {
// 关闭警告红边
CallerHmiManager.showWarning(
WarningDirectionEnum.ALERT_WARNING_NON
)
}
},
true,
5000L
)
CallerHmiManager.warningV2X(
v2xType,
alertContent,
ttsContent,// 只有第一次才tts防止更新的时候不断的提醒
(v2xType + direction.direction),//使用当前事件类型+方向记录tag当发生变化的时候关闭当前弹出新的
object : IMoGoWarningStatusListener {
override fun onDismiss() {
// 关闭警告红边
CallerHmiManager.showWarning(
WarningDirectionEnum.ALERT_WARNING_NON
)
}
},
true,
5000L
)
// }
// 更新数据 TODO
// TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)?.let {
// CallerMapUIServiceManager.getMarkerService()
// ?.updateITrafficInfo(it)
// }
TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)?.let {
CallerLogger.d("$M_OBU${TAG_MOGO_OBU}", "cvxPtcThreatIndInfo2TrafficData ---it---> $it")
CallerMapUIServiceManager.getMarkerService()
?.updateITrafficThreatLevelInfo(it)
}
}
MogoObuConstants.STATUS.UPDATE -> {// 更新
}
// 删除
MogoObuConstants.STATUS.DELETE -> {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 更新数据
TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
?.let {
// 事件结束,还原交通参与者颜色
it.threatLevel = 0x01
// 更新数据
TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)?.let {
CallerLogger.d("$M_OBU${TAG_MOGO_OBU}", "add cvxPtcThreatIndInfo2TrafficData ---it---> $it")
CallerMapUIServiceManager.getMarkerService()
?.updateITrafficThreatLevelInfo(it)
}
}
MogoObuConstants.STATUS.UPDATE -> {// 更新
}
// 删除
MogoObuConstants.STATUS.DELETE -> {
// 关闭警告红边
CallerHmiManager.showWarning(WarningDirectionEnum.ALERT_WARNING_NON)
// 更新数据 TODO 删除原来的改变颜色删除marker。不影响别的模型添加
TrafficDataConvertUtilsNew.cvxPtcThreatIndInfo2TrafficData(data)
?.let {
// 事件结束,还原交通参与者颜色
it.threatLevel = 0x01
CallerMapUIServiceManager.getMarkerService()
?.updateITrafficThreatLevelInfo(it)
}
}
}
}
}

View File

@@ -34,7 +34,6 @@ class ObuTestNewObuReceiver : BroadcastReceiver() {
val obuStatus = intent.getIntExtra("status", 0)
val obuLevel = intent.getIntExtra("level", 3)
val direction = intent.getIntExtra("direction", 0)
Log.d("liyz", "obuType:$obuType obuStatus:$obuStatus obuLevel:$obuLevel")
val vehBasicsMsg = VehBasics(1)
vehBasicsMsg.targetPosition = direction

View File

@@ -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],

View File

@@ -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
}

View File

@@ -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
) {
}

View File

@@ -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"

View File

@@ -39,8 +39,8 @@ enum class EventTypeEnumWeaknessTraffic(
0.toString(),
"未知/错误/异常",
poiTypeSrcVr = R.drawable.icon_warning_v2x_abnormal_vehicle,
content = "",
tts = ""
content = "前方有未知障碍物",
tts = "前方有未知障碍物"
);

View File

@@ -57,10 +57,10 @@ enum class V2iEventTypeEnum(
),
TYPE_USECASE_ID_ROAD_SPEED_LIMIT(
1.toString(),
"",
"",
poiTypeSrcVr = R.drawable.icon_warning_v2x_over_speed,
content = "前方%s米限速",
tts = "前方%s米限速"
content = "您已超速,请减速行驶",
tts = "您已超速,请减速行驶"
),
//------------道路危险情况预警 end ----------->

View File

@@ -123,4 +123,9 @@ interface IDevaToolsProvider : IProvider {
fun startMonitor()
fun stopMonitor()
/**
* 同步AppConfigInfo信息
*/
fun syncConfig()
}

View File

@@ -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()
}
}

View File

@@ -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
}
}