Merge branch 'dev_robotaxi-d_231031_6.2.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_231031_6.2.0
This commit is contained in:
@@ -66,6 +66,13 @@ object DataManager {
|
||||
mutableListOf<MsgBoxBean>()
|
||||
}
|
||||
|
||||
/**
|
||||
* FSM消息(缓存数据库时使用)
|
||||
*/
|
||||
private val fmInfoList by lazy {
|
||||
mutableListOf<MsgBoxBean>()
|
||||
}
|
||||
|
||||
private val scope by lazy {
|
||||
Utils.getApp().lifeCycleScope
|
||||
}
|
||||
@@ -122,6 +129,12 @@ object DataManager {
|
||||
}
|
||||
CallerMsgBoxListenerManager.invokeListener(MsgCategory.NOTICE, msg)
|
||||
}
|
||||
MsgBoxType.FMINFO -> {
|
||||
CallerMsgBoxListenerManager.invokeListener(MsgCategory.FM_INFO, msg)
|
||||
}
|
||||
MsgBoxType.VOICE -> {
|
||||
CallerMsgBoxListenerManager.invokeListener(MsgCategory.VOICE_INFO, msg)
|
||||
}
|
||||
MsgBoxType.OBU, MsgBoxType.NOTICE, MsgBoxType.OPERATION -> {
|
||||
synchronized(this) {
|
||||
notifyList.add(msg)
|
||||
|
||||
@@ -21,23 +21,23 @@ class DynamicConfigImpl: IDynamicConfig {
|
||||
}
|
||||
|
||||
override fun get(key: String?, defStr: String?): String {
|
||||
return ""
|
||||
return defStr ?: ""
|
||||
}
|
||||
|
||||
override fun get(key: String?, defInt: Int): Int {
|
||||
return 0
|
||||
return defInt
|
||||
}
|
||||
|
||||
override fun get(key: String?, defLong: Long): Long {
|
||||
return 0L
|
||||
return defLong
|
||||
}
|
||||
|
||||
override fun get(key: String?, defBool: Boolean): Boolean {
|
||||
return false
|
||||
return true
|
||||
}
|
||||
|
||||
override fun get(key: String?, defFloat: Float): Float {
|
||||
return 0f
|
||||
return defFloat
|
||||
}
|
||||
|
||||
}
|
||||
@@ -11,31 +11,51 @@ internal class MoFangAnalyticUtils {
|
||||
|
||||
// 魔方连接状态
|
||||
const val EVENT_MOFANG_CONNECT = "event_mofang_connect"
|
||||
const val EVENT_SUB_START_CONNECT = "event_sub_start_connect"
|
||||
const val EVENT_SUB_CONNECT_SUCCESS = "event_sub_connect_success"
|
||||
const val EVENT_SUB_START_DISCONNECT = "event_sub_start_disconnect"
|
||||
const val EVENT_SUB_DISCONNECT_SUCCESS = "event_sub_disconnect_success"
|
||||
const val EVENT_SUB_DISCONNECT_SLEEP = "event_sub_disconnect_sleep"
|
||||
const val EVENT_SUB_BLUETOOTH_SETTING_REQ = "event_sub_ble_set_req"
|
||||
const val EVENT_SUB_BLUETOOTH_OPEN_DENY = "event_sub_ble_open_deny"
|
||||
const val EVENT_SUB_BLUETOOTH_OPEN_AGREE = "event_sub_ble_open_agree"
|
||||
const val EVENT_SUB_IS_VALID = "event_sub_is_ipt_valid"
|
||||
const val EVENT_SUB_IS_INVALID = "event_sub_is_ipt_invalid"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_START_CONNECT = "event_sub_start_connect"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_CONNECT_SUCCESS = "event_sub_connect_success"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_START_DISCONNECT = "event_sub_start_disconnect"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SUCCESS = "event_sub_disconnect_success"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SLEEP = "event_sub_disconnect_sleep"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_SETTING_REQ = "event_sub_ble_set_req"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_OPEN_DENY = "event_sub_ble_open_deny"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_OPEN_AGREE = "event_sub_ble_open_agree"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_IS_VALID = "event_sub_is_ipt_valid"
|
||||
const val EVENT_MOFANG_CONNECT_PARAMS_IS_INVALID = "event_sub_is_ipt_invalid"
|
||||
|
||||
// 魔方电量
|
||||
const val EVENT_BATTERY = "event_mofang_battery"
|
||||
const val EVENT_BATTERY_VALUE = "battery"
|
||||
const val EVENT_BATTERY_PARAMS_VALUE = "battery"
|
||||
const val EVENT_BATTERY_PARAMS_DUR = "dur"
|
||||
|
||||
|
||||
// 收到魔方按键指令
|
||||
const val EVENT_INPUT = "event_mofang_input"
|
||||
const val EVENT_INPUT_SUB_KEYCODE = "keycode"
|
||||
const val EVENT_INPUT_SUB_TYPE = "input_type" // 1:单击,2:长按, 3:组合键
|
||||
const val EVENT_INPUT_PARAMS_KEYCODE = "keycode"
|
||||
const val EVENT_INPUT_PARAMS_TYPE = "input_type" // 1:单击,2:长按, 3:组合键
|
||||
|
||||
// 执行魔方按键指令
|
||||
const val EVENT_EXECUTE = "event_mofang_execute"
|
||||
const val EVENT_EXECUTE_SUB_KEYCODE = "keycode"
|
||||
const val EVENT_EXECUTE_SUB_TYPE = "input_type" // 1:单击,2:长按, 3:组合键
|
||||
const val EVENT_EXECUTE_PARAMS_KEYCODE = "keycode"
|
||||
const val EVENT_EXECUTE_PARAMS_TYPE = "input_type" // 1:单击,2:长按, 3:组合键
|
||||
const val EVENT_EXECUTE_PARAMS_LON = "lon" // 执行时自车经度
|
||||
const val EVENT_EXECUTE_PARAMS_LAT = "lat" // 执行时自车纬度
|
||||
const val EVENT_EXECUTE_PARAMS_SPEED = "speed" // 执行时自车速度
|
||||
const val EVENT_EXECUTE_PARAMS_ACC = "acc" // 执行时自车加速度
|
||||
const val EVENT_EXECUTE_PARAMS_HEADING = "head" // 执行时自车航向角
|
||||
const val EVENT_EXECUTE_PARAMS_LINE_ID = "line_id" // 执行时的路线id
|
||||
|
||||
|
||||
// 魔方按键指令回执
|
||||
const val EVENT_EXECUTE_FEEDBACK = "event_mofang_feedback"
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_CODE = "code"
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_MSG = "msg"
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_LON = "lon" // 执行时自车经度
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_LAT = "lat" // 执行时自车纬度
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_SPEED = "speed" // 执行时自车速度
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_ACC = "acc" // 执行时自车加速度
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_HEADING = "head" // 执行时自车航向角
|
||||
const val EVENT_EXECUTE_FEEDBACK_PARAMS_LINE_ID = "line_id" // 执行时的路线id
|
||||
|
||||
|
||||
private val handler by lazy { HandlerThread("mofang-analytic-worker", Process.THREAD_PRIORITY_BACKGROUND).let { it.start(); Handler(it.looper) } }
|
||||
|
||||
|
||||
@@ -8,8 +8,14 @@ import com.mogo.eagle.core.function.call.autopilot.*
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil
|
||||
import com.mogo.eagle.core.utilcode.mogo.*
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_SUB_KEYCODE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_SUB_TYPE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_ACC
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_HEADING
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_KEYCODE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_LAT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_LINE_ID
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_LON
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_SPEED
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_EXECUTE_PARAMS_TYPE
|
||||
|
||||
internal class MoFangCommandExecutor {
|
||||
|
||||
@@ -35,6 +41,7 @@ internal class MoFangCommandExecutor {
|
||||
private val handlerCallback = Handler.Callback { msg ->
|
||||
val message = whatToString(msg.what, ", msg_info:[obj:${msg.obj}, arg1: ${msg.arg1}, arg2: ${msg.arg2}]")
|
||||
linkedLog?.record(mapOf("收到:${System.currentTimeMillis()}" to "$message"))
|
||||
val location = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
when(msg.what) {
|
||||
MSG_WHAT_KEY_CODE_A, MSG_WHAT_KEY_CODE_B, MSG_WHAT_KEY_CODE_AB, MSG_WHAT_KEY_CODE_AL -> {
|
||||
var send = false
|
||||
@@ -42,7 +49,16 @@ internal class MoFangCommandExecutor {
|
||||
val acc = msg.obj as? Double
|
||||
if (acc != null) {
|
||||
send = acc != 0.0
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(EVENT_EXECUTE_SUB_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""), EVENT_EXECUTE_SUB_TYPE to (getInputTypeByWhat(msg.what) ?: "")))
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(
|
||||
EVENT_EXECUTE_PARAMS_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_TYPE to (getInputTypeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_LON to location.longitude,
|
||||
EVENT_EXECUTE_PARAMS_LAT to location.latitude,
|
||||
EVENT_EXECUTE_PARAMS_SPEED to location.gnssSpeed,
|
||||
EVENT_EXECUTE_PARAMS_ACC to location.acceleration,
|
||||
EVENT_EXECUTE_PARAMS_HEADING to location.heading,
|
||||
EVENT_EXECUTE_PARAMS_LINE_ID to CallerAutoPilotStatusListenerManager.getLineId()
|
||||
))
|
||||
linkedLog?.record(mapOf("执行:${System.currentTimeMillis()}" to "$message, $acc"))
|
||||
CallerAutoPilotControlManager.sendOperatorSetAcceleratedSpeed(acc)
|
||||
}
|
||||
@@ -61,7 +77,16 @@ internal class MoFangCommandExecutor {
|
||||
return@Callback true
|
||||
}
|
||||
val isLeft = msg.arg1 == -1
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(EVENT_EXECUTE_SUB_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""), EVENT_EXECUTE_SUB_TYPE to (getInputTypeByWhat(msg.what) ?: "")))
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(
|
||||
EVENT_EXECUTE_PARAMS_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_TYPE to (getInputTypeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_LON to location.longitude,
|
||||
EVENT_EXECUTE_PARAMS_LAT to location.latitude,
|
||||
EVENT_EXECUTE_PARAMS_SPEED to location.gnssSpeed,
|
||||
EVENT_EXECUTE_PARAMS_ACC to location.acceleration,
|
||||
EVENT_EXECUTE_PARAMS_HEADING to location.heading,
|
||||
EVENT_EXECUTE_PARAMS_LINE_ID to CallerAutoPilotStatusListenerManager.getLineId()
|
||||
))
|
||||
if (isLeft) {
|
||||
linkedLog?.record(mapOf("执行:${System.currentTimeMillis()}" to "$message"))
|
||||
Log.d(TAG, "--- 左变道执行了 ----")
|
||||
@@ -81,7 +106,16 @@ internal class MoFangCommandExecutor {
|
||||
val autoPilotStatusInfo = CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo()
|
||||
val parameters = autoPilotStatusInfo.autopilotControlParameters
|
||||
val json = GsonUtil.jsonFromObject(parameters)
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(EVENT_EXECUTE_SUB_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""), EVENT_EXECUTE_SUB_TYPE to (getInputTypeByWhat(msg.what) ?: "")))
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(
|
||||
EVENT_EXECUTE_PARAMS_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_TYPE to (getInputTypeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_LON to location.longitude,
|
||||
EVENT_EXECUTE_PARAMS_LAT to location.latitude,
|
||||
EVENT_EXECUTE_PARAMS_SPEED to location.gnssSpeed,
|
||||
EVENT_EXECUTE_PARAMS_ACC to location.acceleration,
|
||||
EVENT_EXECUTE_PARAMS_HEADING to location.heading,
|
||||
EVENT_EXECUTE_PARAMS_LINE_ID to CallerAutoPilotStatusListenerManager.getLineId()
|
||||
))
|
||||
linkedLog?.record(mapOf("执行:${System.currentTimeMillis()}" to "$message, $json"))
|
||||
Log.d(TAG, "--- 启动自驾 ----入参:$json")
|
||||
//清扫车有FSM模块,魔方启动自驾时需要将Source修改为魔方,以便telamatics做区分并在转发时增加flag标记
|
||||
@@ -103,7 +137,16 @@ internal class MoFangCommandExecutor {
|
||||
if (value != null && value != 0.0) {
|
||||
send = value != 2.0
|
||||
Log.d(TAG, "--- 长按鸣笛 ---入参:$value")
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(EVENT_EXECUTE_SUB_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""), EVENT_EXECUTE_SUB_TYPE to (getInputTypeByWhat(msg.what) ?: "")))
|
||||
MoFangAnalyticUtils.track(EVENT_EXECUTE, mutableMapOf(
|
||||
EVENT_EXECUTE_PARAMS_KEYCODE to (getKeycodeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_TYPE to (getInputTypeByWhat(msg.what) ?: ""),
|
||||
EVENT_EXECUTE_PARAMS_LON to location.longitude,
|
||||
EVENT_EXECUTE_PARAMS_LAT to location.latitude,
|
||||
EVENT_EXECUTE_PARAMS_SPEED to location.gnssSpeed,
|
||||
EVENT_EXECUTE_PARAMS_ACC to location.acceleration,
|
||||
EVENT_EXECUTE_PARAMS_HEADING to location.heading,
|
||||
EVENT_EXECUTE_PARAMS_LINE_ID to CallerAutoPilotStatusListenerManager.getLineId()
|
||||
))
|
||||
linkedLog?.record(mapOf("执行:${System.currentTimeMillis()}" to "$message, $value"))
|
||||
CallerAutoPilotControlManager.sendOperatorSetHorn(value)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.app.*
|
||||
import android.bluetooth.*
|
||||
import android.graphics.*
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.SystemClock
|
||||
import android.util.*
|
||||
import android.view.*
|
||||
import android.view.Window.Callback
|
||||
@@ -23,21 +24,22 @@ 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.*
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_BATTERY
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_BATTERY_VALUE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_BATTERY_PARAMS_DUR
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_BATTERY_PARAMS_VALUE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_INPUT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_INPUT_SUB_KEYCODE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_INPUT_SUB_TYPE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_INPUT_PARAMS_KEYCODE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_INPUT_PARAMS_TYPE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_BLUETOOTH_OPEN_AGREE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_BLUETOOTH_OPEN_DENY
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_BLUETOOTH_SETTING_REQ
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_CONNECT_SUCCESS
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_DISCONNECT_SLEEP
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_DISCONNECT_SUCCESS
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_IS_INVALID
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_IS_VALID
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_START_CONNECT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_SUB_START_DISCONNECT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_OPEN_AGREE
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_OPEN_DENY
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_SETTING_REQ
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_CONNECT_SUCCESS
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SLEEP
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SUCCESS
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_IS_INVALID
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_IS_VALID
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_START_CONNECT
|
||||
import com.zhjt.mogo_core_function_devatools.mofang.MoFangAnalyticUtils.Companion.EVENT_MOFANG_CONNECT_PARAMS_START_DISCONNECT
|
||||
import kotlinx.coroutines.*
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
@@ -63,6 +65,8 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
private var job: Job? = null
|
||||
|
||||
private var batteryTime : Long = -1
|
||||
|
||||
override fun enableTest(enable: Boolean) {
|
||||
isTest.set(enable)
|
||||
SPUtils.getInstance().put(SP_KEY_TEST_ENABLE, enable)
|
||||
@@ -85,7 +89,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
}
|
||||
|
||||
override fun onBluetoothStartConnect() {
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_START_CONNECT to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_START_CONNECT to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("connect" to "real-start"))
|
||||
}
|
||||
|
||||
@@ -102,7 +106,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
override fun disconnect() {
|
||||
try {
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_START_DISCONNECT to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_START_DISCONNECT to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("disconnect" to "start"))
|
||||
MoFangManager.disconnect()
|
||||
linkedLog.record(mapOf("disconnect" to "success"))
|
||||
@@ -142,7 +146,13 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
override fun onBluetoothBatteryChanged(battery: Int) {
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothBatteryChanged:$battery"))
|
||||
MoFangAnalyticUtils.track(EVENT_BATTERY, mutableMapOf(EVENT_BATTERY_VALUE to "$battery"))
|
||||
val now = SystemClock.elapsedRealtime()
|
||||
val dur = if (batteryTime < 0) 0 else (now - batteryTime)
|
||||
batteryTime = now
|
||||
MoFangAnalyticUtils.track(EVENT_BATTERY, mutableMapOf(
|
||||
EVENT_BATTERY_PARAMS_VALUE to "$battery",
|
||||
EVENT_BATTERY_PARAMS_DUR to dur
|
||||
))
|
||||
UiThreadHandler.post {
|
||||
listeners.values.forEach {
|
||||
it.onMoFangBatteryChanged(battery)
|
||||
@@ -157,7 +167,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
} catch (t: Throwable) {
|
||||
t.printStackTrace()
|
||||
}
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_CONNECT_SUCCESS to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_CONNECT_SUCCESS to "${System.currentTimeMillis()}"))
|
||||
UiThreadHandler.post {
|
||||
listeners.values.forEach {
|
||||
it.onMoFangConnected()
|
||||
@@ -172,7 +182,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
} catch (t: Throwable) {
|
||||
t.printStackTrace()
|
||||
}
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_DISCONNECT_SUCCESS to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SUCCESS to "${System.currentTimeMillis()}"))
|
||||
UiThreadHandler.post {
|
||||
listeners.values.forEach {
|
||||
it.onMoFangDisconnected()
|
||||
@@ -186,7 +196,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
showToast("[$keycodesText]")
|
||||
}
|
||||
try {
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_SUB_KEYCODE to keycodesText, EVENT_INPUT_SUB_TYPE to "3"))
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_PARAMS_KEYCODE to keycodesText, EVENT_INPUT_PARAMS_TYPE to "3"))
|
||||
linkedLog.record(mapOf("command" to "combine_clicked: $keycodesText"))
|
||||
executor.handleCombineClick(*keyCodes)
|
||||
} finally {
|
||||
@@ -202,7 +212,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
showToast("[$key$key]")
|
||||
}
|
||||
try {
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_SUB_KEYCODE to keyCode.toString(), EVENT_INPUT_SUB_TYPE to "2"))
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_PARAMS_KEYCODE to keyCode.toString(), EVENT_INPUT_PARAMS_TYPE to "2"))
|
||||
linkedLog.record(mapOf("command" to "long_clicked: ${ KeyEvent.keyCodeToString(keyCode) }"))
|
||||
executor.handleLongClick(keyCode)
|
||||
} finally {
|
||||
@@ -220,7 +230,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
showToast("[${keycodeText.replace("KEYCODE_", "", true)}]")
|
||||
}
|
||||
try {
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_SUB_KEYCODE to keyCode.toString(), EVENT_INPUT_SUB_TYPE to "1"))
|
||||
MoFangAnalyticUtils.track(EVENT_INPUT, mutableMapOf(EVENT_INPUT_PARAMS_KEYCODE to keyCode.toString(), EVENT_INPUT_PARAMS_TYPE to "1"))
|
||||
linkedLog.record(mapOf("command" to "clicked: $keycodeText"))
|
||||
executor.handleSingleClick(keyCode)
|
||||
} finally {
|
||||
@@ -269,7 +279,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
override fun onBluetoothKeyboardInputInvalid() {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothKeyboardInputInvalid ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_IS_INVALID to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_IS_INVALID to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothKeyboardInputInvalid"))
|
||||
UiThreadHandler.post {
|
||||
listeners.values.forEach {
|
||||
@@ -280,25 +290,25 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
override fun onBluetoothKeyboardInputValid() {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothKeyboardInputValid ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_IS_VALID to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_IS_VALID to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothKeyboardInputValid"))
|
||||
}
|
||||
|
||||
override fun onBluetoothOpenAgreed() {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothOpenAgreed ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_BLUETOOTH_OPEN_AGREE to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_OPEN_AGREE to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothOpenAgreed"))
|
||||
}
|
||||
|
||||
override fun onBluetoothOpenDenied() {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothOpenDenied ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_BLUETOOTH_OPEN_DENY to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_OPEN_DENY to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothOpenDenied"))
|
||||
}
|
||||
|
||||
override fun onBluetoothSettingRequest() {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothSettingRequest ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_BLUETOOTH_SETTING_REQ to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_SETTING_REQ to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothSettingRequest"))
|
||||
UiThreadHandler.post {
|
||||
Toast.makeText(Utils.getApp(), "检测到魔方未正确连接,请在系统蓝牙设置页面,找到魔方并配对连接...", Toast.LENGTH_SHORT).show()
|
||||
@@ -307,7 +317,7 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
|
||||
|
||||
override fun onBluetoothKeyboardAbnormalDisconnected(status: Int) {
|
||||
CallerLogger.d(M_DEVA+TAG, "--- onBluetoothKeyboardAbnormalDisconnected(status: $status) ---")
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_SUB_DISCONNECT_SLEEP to "${System.currentTimeMillis()}"))
|
||||
MoFangAnalyticUtils.track(EVENT_MOFANG_CONNECT, mutableMapOf(EVENT_MOFANG_CONNECT_PARAMS_DISCONNECT_SLEEP to "${System.currentTimeMillis()}"))
|
||||
linkedLog.record(mapOf("callback" to "onBluetoothKeyboardAbnormalDisconnected:$status"))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.mogo.eagle.core.data.msgbox
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
/**
|
||||
* FM数据的类型
|
||||
*/
|
||||
data class FMInfoMsg(
|
||||
var level: Int,// 级别
|
||||
var faultName: String?,// 故障名称
|
||||
var timeStamp: Long,// 接收消息的时间戳
|
||||
var faultResult: String?,// 故障后果
|
||||
var faultId: String?,// 故障码(ID)
|
||||
var policyCode: String?,//故障策略
|
||||
var faultAction: String?// 建议操作
|
||||
) : Serializable
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mogo.eagle.core.data.msgbox
|
||||
|
||||
enum class MsgBoxType {
|
||||
// 按功能划分为几大类:运营、通知、V2X模块、OBU模块、工控机Report、录制、交通等
|
||||
OPERATION, NOTICE, V2X, OBU, REPORT, RECORD, TRAFFIC
|
||||
// 按功能划分为几大类:运营、通知、V2X模块、OBU模块、工控机Report、录制、交通、FM、语音等
|
||||
OPERATION, NOTICE, V2X, OBU, REPORT, RECORD, TRAFFIC, FMINFO, VOICE
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.mogo.eagle.core.data.msgbox
|
||||
|
||||
enum class MsgCategory {
|
||||
// 按UI展示划分为三大类:通知、系统信息、录制
|
||||
NOTICE, SYS_INFO, RECORD_BAG
|
||||
// 按UI展示划分为三大类:通知、系统信息、录制、FM消息、语音(如小智)
|
||||
NOTICE, SYS_INFO, RECORD_BAG, FM_INFO, VOICE_INFO
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.mogo.eagle.core.data.msgbox
|
||||
|
||||
/**
|
||||
* ASR识别后传输的数据结构
|
||||
*/
|
||||
data class VoiceMsg(
|
||||
var isWakeUp: Boolean,// 是否是唤醒事件,false代表正常语音识别后的字符串
|
||||
var isWakeUpEnd: Boolean,// 是否是唤醒的结束事件,反之为开始事件
|
||||
var msg: String?,// 消息
|
||||
var isLastMsg: Boolean,// 是否是最后一条消息
|
||||
var isResp: Boolean// false:用户说的,true:表示反馈
|
||||
)
|
||||
@@ -86,11 +86,11 @@ object ConstantExt {
|
||||
|
||||
|
||||
//VR模式下的洱海默认视角 角度
|
||||
const val MAP_STYLE_VR_OVER_LOOK_ANGLE_ERHAI = 13f
|
||||
const val MAP_STYLE_VR_OVER_LOOK_ANGLE_ERHAI = 12f
|
||||
//VR模式下的洱海默认视角 缩放值
|
||||
const val MAP_STYLE_VR_ZOOM_VAL_ERHAI = 1f
|
||||
//VR模式下的洱海默认视角 高度
|
||||
const val MAP_STYLE_VR_EYE_HEIGHT_ERHAI = 15f
|
||||
const val MAP_STYLE_VR_EYE_HEIGHT_ERHAI = 18f
|
||||
|
||||
|
||||
//后方来车300米视角 高度
|
||||
|
||||
Reference in New Issue
Block a user