[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)

View File

@@ -64,7 +64,9 @@ import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils
import com.mogo.eagle.core.utilcode.rv.divider.CommonDividerItemDecoration
import com.mogo.eagle.core.utilcode.util.AppStateManager
import com.mogo.eagle.core.utilcode.util.GsonUtils.*
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.support.device.led.ILedForeverChangeWelcomeContentListener
import com.mogo.support.device.led.LedSourceManager
import com.zhjt.mogo.adas.data.AdasConstants
import com.zhjt.mogo.adas.data.bean.AdasParam
@@ -1522,7 +1524,19 @@ class OperatePanelLayout : LinearLayout {
clickEventAnalytics("外屏欢迎语", true)
LedSourceManager.foreverChangeWelcomeHint(
context?.applicationContext,
FunctionBuildConfig.welcomeWords
FunctionBuildConfig.welcomeWords,
object : ILedForeverChangeWelcomeContentListener {
override fun onChangeState(isSucceed: Boolean, errMsg: String) {
val customPreference: PreferenceWithWelcomeWords? =
findPreference(KEY_WELCOME_WORDS)
customPreference?.let {
ThreadUtils.runOnUiThread {
it.setOkBtnEnable()
}
}
ToastUtils.showLong(errMsg)
}
}
)
}
return super.onPreferenceClick(preference)

View File

@@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.hmi.ui.operate.preferences
import android.content.Context
import android.text.TextUtils
import android.util.AttributeSet
import android.view.View
import android.widget.EditText
import androidx.core.widget.doOnTextChanged
import androidx.preference.Preference
@@ -23,6 +24,7 @@ class PreferenceWithWelcomeWords: Preference {
private var mCurrentWelcomeWords: String? = null
private var btnOk: View? = null
override fun setDefaultValue(defaultValue: Any?) {
super.setDefaultValue(defaultValue)
@@ -36,21 +38,25 @@ class PreferenceWithWelcomeWords: Preference {
super.onBindViewHolder(holder)
val currentWelcomeWords = mCurrentWelcomeWords
val et = holder.findViewById(R.id.et_welcome_words) as? EditText
val btn_ok = holder.findViewById(R.id.bt_ok)
btn_ok.isEnabled = false
btnOk = holder.findViewById(R.id.bt_ok)
btnOk?.isEnabled = false
et?.doOnTextChanged { text, _, _, _ ->
if (!TextUtils.isEmpty(text)) {
btn_ok?.isEnabled = true
btnOk?.isEnabled = true
} else {
btn_ok?.isEnabled = false
btnOk?.isEnabled = false
}
}
if (!TextUtils.isEmpty(currentWelcomeWords)) {
et?.setText(currentWelcomeWords)
}
btn_ok.onClick {
btnOk?.onClick {
btnOk?.isEnabled = false
extras.putString(KEY_BUNDLE_CURRENT_EDIT_TEXT_VALUE, et?.text.toString())
onPreferenceClickListener?.onPreferenceClick(this)
}
}
fun setOkBtnEnable(){
btnOk?.isEnabled = true
}
}