[686][hardware]LED屏幕添加埋点以及日志,欢迎语更改添加结果吐司提示

This commit is contained in:
xinfengkun
2024-12-27 20:58:19 +08:00
parent 855dcf8661
commit 2bc9a72097
12 changed files with 404 additions and 61 deletions

View File

@@ -12,7 +12,6 @@ import com.mogo.eagle.core.function.datacenter.location.MoGoLocationDispatcher
import com.mogo.eagle.core.function.datacenter.v2x.SpeedLimitDispatcher
import com.mogo.eagle.core.function.datacenter.v2x.TrafficLightDispatcher
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.support.device.led.LedSourceManager
@Route(path = MogoServicePaths.PATH_DATA_CENTER_MODULE)
class DataCenterProvider : IDataCenterProvider {
@@ -26,23 +25,17 @@ class DataCenterProvider : IDataCenterProvider {
MoGoLocationDispatcher.initListener()
mContext = context
mContext?.let {
val isPassenger = AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)
LedSourceManager.init(!isPassenger)
CallerDataCenterBizManager.init()
CallerMsgBoxManager.queryAllMessages(it)
TrafficLightDispatcher.INSTANCE.initServer(it)
SpeedLimitDispatcher.INSTANCE.initLimit(it)
if (isPassenger) {
IotManager.init()
}
IotManager.init(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode))
}
}
override fun onDestroy() {
TrafficLightDispatcher.INSTANCE.destroy()
SpeedLimitDispatcher.INSTANCE.destroy()
if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) {
IotManager.destroy()
}
IotManager.destroy()
}
}

View File

@@ -10,6 +10,7 @@ import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.support.device.DevicesManager
import com.mogo.support.device.IWriteChainLogListener
import com.mogo.support.device.led.LedSourceManager
import com.zhjt.service.chain.ChainLog
import java.text.SimpleDateFormat
import java.util.Date
@@ -19,11 +20,18 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
private val sdf: SimpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS ", Locale.CHINA)
private val TAG = IotManager::class.java.simpleName
private const val EVENT_KEY_HARDWARE_DEVICES = "event_key_hardware_devices"
private var isPassenger: Boolean = false
fun init() {
CallerCloudListenerManager.addListener(TAG, this)
hardwareDeviceBind(SharedPrefsMgr.getInstance().sn)
DevicesManager.registerWriteChainLogListener(this)
fun init(isPassenger: Boolean) {
this.isPassenger = isPassenger
if (isPassenger) {
CallerCloudListenerManager.addListener(TAG, this)
DevicesManager.registerWriteChainLogListener(this)
hardwareDeviceBind(SharedPrefsMgr.getInstance().sn)
} else {
LedSourceManager.registerWriteChainLogListener(this)
LedSourceManager.init(true)
}
}
override fun tokenGot(token: String, sn: String) {
@@ -42,21 +50,27 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
}
fun destroy() {
DevicesManager.destroy()
DevicesManager.unregisterWriteChainLogListener()
if (isPassenger) {
DevicesManager.unregisterWriteChainLogListener()
DevicesManager.destroy()
} else {
LedSourceManager.unregisterWriteChainLogListener()
LedSourceManager.destroy()
}
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_INIT,
nodeAliasCode = ChainConstant.CHAIN_CODE_HARDWARE_DEVICES,
paramIndexes = [0, 1]
paramIndexes = [0, 1, 2]
)
override fun onWriteChainLog(title: String, info: String) {
override fun onWriteChainLog(tag: String, title: String, info: String) {
try {
i("${TAG}_${EVENT_KEY_HARDWARE_DEVICES}", "${title}_${info}")
i("${tag}_${EVENT_KEY_HARDWARE_DEVICES}", "${title}_${info}")
val params = HashMap<String, Any>()
params["time"] = sdf.format(Date())
params["tag"] = tag
params["title"] = title
params["info"] = info
MogoAnalyticUtils.track(EVENT_KEY_HARDWARE_DEVICES, params)