From f3dbb76112c0c01a0524fab8392c29183290b34f Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 2 Nov 2023 10:56:13 +0800 Subject: [PATCH] =?UTF-8?q?[6.2.0][=E5=9F=8B=E7=82=B9]=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=98=91=E6=96=B9=E6=8C=87=E4=BB=A4=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E8=BD=A6=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mofang/MoFangAnalyticUtils.kt | 50 ++++++++++----- .../mofang/MoFangCommandExecutor.kt | 55 ++++++++++++++-- .../mofang/MoGoMoFangProviderImpl.kt | 64 +++++++++++-------- 3 files changed, 121 insertions(+), 48 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt index 1214c246a3..c7acda810c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangAnalyticUtils.kt @@ -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) } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt index b187dba488..671928a546 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangCommandExecutor.kt @@ -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) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoGoMoFangProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoGoMoFangProviderImpl.kt index 309972293c..96e995ac69 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoGoMoFangProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoGoMoFangProviderImpl.kt @@ -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")) } } \ No newline at end of file