- 新增 MQTT 客户端依赖及配置,实现设备端实时接收人脸变化推送 - 实现 FaceMqttSubscriber 单例,启动时解析环境选择对应 MQTT 配置 - 实现消息解析、乱序过滤及本地人脸库数据实时更新逻辑 - 设备端订阅人脸变更主题,连接/重连成功触发 HTTP 增量补拉兜底机制 - 在 LoginByFaceActivity 中订阅 MQTT 事件,实时刷新识别引擎内存 - MQTT 连接管理器 MqttManager 负责连接、重连、订阅及消息分发,实现完整生命周期管理 - 新增环境选择弹窗,优化初始化界面布局和按钮样式 - 配置激活码硬编码修正,避免测试环境激活码错误导致的问题 - 日志与错误提示等细节优化,提升稳定性与用户体验
69 lines
3.6 KiB
TOML
69 lines
3.6 KiB
TOML
[versions]
|
|
activityKtx = "1.9.0"
|
|
agp = "8.4.0"
|
|
fragmentKtx = "1.5.6"
|
|
kotlin = "2.0.21"
|
|
coreKtx = "1.10.1"
|
|
junit = "4.13.2"
|
|
junitVersion = "1.1.5"
|
|
espressoCore = "3.5.1"
|
|
appcompat = "1.6.1"
|
|
kotlinxCoroutinesAndroid = "1.6.4"
|
|
lifecycleViewmodelKtx = "2.8.3"
|
|
lifecycleRuntimeKtx = "2.8.3"
|
|
material = "1.10.0"
|
|
activity = "1.8.0"
|
|
constraintlayout = "2.1.4"
|
|
|
|
accompanistPermissions = "0.37.3"
|
|
cameraCore = "1.3.0"
|
|
retrofit = "3.0.0"
|
|
okhttp = "4.12.0"
|
|
timber = "5.0.1"
|
|
gson = "2.13.1"
|
|
hiltAndroid = "2.56.2"
|
|
paho = "1.2.5"
|
|
|
|
core = "3.4.1"
|
|
androidCore = "3.3.0"
|
|
|
|
[libraries]
|
|
android-core = { module = "com.google.zxing:android-core", version.ref = "androidCore" }
|
|
core = { module = "com.google.zxing:core", version.ref = "core" }
|
|
androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activityKtx" }
|
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
|
androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "fragmentKtx" }
|
|
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
|
|
androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
|
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
|
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
|
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
|
|
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
|
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
|
|
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
|
androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
|
|
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
|
|
|
|
androidx-camera-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "cameraCore" }
|
|
androidx-camera-core = { module = "androidx.camera:camera-core", version.ref = "cameraCore" }
|
|
androidx-camera-extensions = { module = "androidx.camera:camera-extensions", version.ref = "cameraCore" }
|
|
androidx-camera-view = { module = "androidx.camera:camera-view", version.ref = "cameraCore" }
|
|
androidx-camera-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "cameraCore" }
|
|
|
|
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
|
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltAndroid" }
|
|
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" }
|
|
|
|
logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
|
|
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
|
|
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
|
|
converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
|
|
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
|
|
paho-mqtt = { group = "org.eclipse.paho", name = "org.eclipse.paho.client.mqttv3", version.ref = "paho" }
|
|
|
|
[plugins]
|
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
|
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
android-library = { id = "com.android.library", version.ref = "agp" }
|
|
|