|
|
@@ -1,92 +1,81 @@
|
|
|
package com.nova.brain.glass.helper
|
|
|
|
|
|
-import com.luck.picture.lib.config.PictureSelectionConfig.listener
|
|
|
import com.rokid.security.glass3.open.sdk.GlassSdk
|
|
|
import com.rokid.security.glass3.sdk.base.data.offlineCmd.bean.VoiceAction
|
|
|
import com.rokid.security.glass3.sdk.base.data.offlineCmd.listener.IVoiceCallback
|
|
|
import com.rokid.security.system.server.offlineCmd.IOfflineCmdService
|
|
|
import com.xuqm.base.common.LogHelper
|
|
|
-import java.util.concurrent.Executors
|
|
|
+import java.util.concurrent.CopyOnWriteArrayList
|
|
|
|
|
|
data class OfflineCmdBean(val text: String, val pinyin: String)
|
|
|
|
|
|
object OfflineCmdServiceHelper {
|
|
|
- private var listenerList = mutableListOf<OfflineCmdListener>()
|
|
|
- private val initExecutor = Executors.newSingleThreadExecutor()
|
|
|
- @Volatile
|
|
|
- private var initialized = false
|
|
|
- @Volatile
|
|
|
- private var initializing = false
|
|
|
-
|
|
|
- private val list = mutableListOf<OfflineCmdBean>().apply {
|
|
|
- // 首页
|
|
|
- add(OfflineCmdBean("任务列表", "ren wu lie biao"))
|
|
|
- add(OfflineCmdBean("查看任务", "cha kan ren wu"))
|
|
|
- add(OfflineCmdBean("查看任务列表", "cha kan ren wu lie biao"))
|
|
|
- // 任务列表
|
|
|
- add(OfflineCmdBean("下一页", "xia yi ye"))
|
|
|
- add(OfflineCmdBean("上一页", "shang yi ye"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("退出", "tui chu"))
|
|
|
- add(OfflineCmdBean("返回", "fan hui"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("同意", "tong yi"))
|
|
|
- add(OfflineCmdBean("驳回", "bo hui"))
|
|
|
- add(OfflineCmdBean("通过", "tong guo"))
|
|
|
- add(OfflineCmdBean("合格", "he ge"))
|
|
|
- add(OfflineCmdBean("不合格", "bu he ge"))
|
|
|
- add(OfflineCmdBean("取消", "qu xiao"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第一个", "di yi ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第二个", "di er ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第三个", "di san ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第四个", "di si ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第五个", "di wu ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第六个", "di liu ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第七项任务", "cha kan di qi xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第七个", "di qi ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第八项任务", "cha kan di ba xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第八个", "di ba ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第九项任务", "cha kan di jiu xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第九个", "di jiu ge"))
|
|
|
-
|
|
|
- add(OfflineCmdBean("查看第十项任务", "cha kan di shi xiang ren wu"))
|
|
|
- add(OfflineCmdBean("第十个", "di shi ge"))
|
|
|
-
|
|
|
- //喷涂
|
|
|
- add(OfflineCmdBean("开始", "kai shi"))
|
|
|
- add(OfflineCmdBean("开始任务", "kai shi ren wu"))
|
|
|
- add(OfflineCmdBean("重拍", "chong pai"))
|
|
|
- add(OfflineCmdBean("继续拍摄", "ji xu pai she"))
|
|
|
- add(OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"))
|
|
|
- add(OfflineCmdBean("人工更正", "ren gong geng zheng"))
|
|
|
- add(OfflineCmdBean("更正", "geng zheng"))
|
|
|
- add(OfflineCmdBean("结束任务", "jie shu ren wu"))
|
|
|
- add(OfflineCmdBean("补充照片", "bu chong zhao pian"))
|
|
|
- add(OfflineCmdBean("确认提交", "que ren ti jiao"))
|
|
|
- //
|
|
|
- }
|
|
|
+ // CopyOnWriteArrayList:遍历时不需要加锁,add/remove 不会引发 ConcurrentModificationException
|
|
|
+ private val listenerList = CopyOnWriteArrayList<OfflineCmdListener>()
|
|
|
|
|
|
- // 所有页面通用关键词
|
|
|
+ // 所有页面通用关键词(常量,只分配一次)
|
|
|
private val COMMON_CMDS = listOf(
|
|
|
OfflineCmdBean("退出", "tui chu"),
|
|
|
OfflineCmdBean("返回", "fan hui")
|
|
|
)
|
|
|
|
|
|
+ // 各页面独有命令列表(常量,避免每次 onResume/onPause 重复创建对象)
|
|
|
+ private val CMDS_TASK_LIST = listOf(
|
|
|
+ OfflineCmdBean("下一页", "xia yi ye"),
|
|
|
+ OfflineCmdBean("上一页", "shang yi ye"),
|
|
|
+ OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu"),
|
|
|
+ OfflineCmdBean("第一个", "di yi ge"),
|
|
|
+ OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu"),
|
|
|
+ OfflineCmdBean("第二个", "di er ge"),
|
|
|
+ OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu"),
|
|
|
+ OfflineCmdBean("第三个", "di san ge"),
|
|
|
+ OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu"),
|
|
|
+ OfflineCmdBean("第四个", "di si ge"),
|
|
|
+ OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu"),
|
|
|
+ OfflineCmdBean("第五个", "di wu ge"),
|
|
|
+ OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu"),
|
|
|
+ OfflineCmdBean("第六个", "di liu ge")
|
|
|
+ )
|
|
|
+ private val CMDS_INSPECTION = listOf(
|
|
|
+ OfflineCmdBean("驳回", "bo hui"),
|
|
|
+ OfflineCmdBean("通过", "tong guo"),
|
|
|
+ OfflineCmdBean("同意", "tong yi")
|
|
|
+ )
|
|
|
+ private val CMDS_SPRAYING = listOf(
|
|
|
+ OfflineCmdBean("开始任务", "kai shi ren wu")
|
|
|
+ )
|
|
|
+ private val CMDS_SPRAYING_FINISH = listOf(
|
|
|
+ OfflineCmdBean("补充照片", "bu chong zhao pian"),
|
|
|
+ OfflineCmdBean("确认提交", "que ren ti jiao")
|
|
|
+ )
|
|
|
+ private val CMDS_SPRAYING_MANUAL_RESULT = listOf(
|
|
|
+ OfflineCmdBean("合格", "he ge"),
|
|
|
+ OfflineCmdBean("不合格", "bu he ge"),
|
|
|
+ OfflineCmdBean("取消", "qu xiao")
|
|
|
+ )
|
|
|
+ private val CMDS_SPRAYING_OCR = listOf(
|
|
|
+ OfflineCmdBean("重拍", "chong pai")
|
|
|
+ )
|
|
|
+ private val CMDS_SPRAYING_RESULT = listOf(
|
|
|
+ OfflineCmdBean("重拍", "chong pai"),
|
|
|
+ OfflineCmdBean("继续拍摄", "ji xu pai she"),
|
|
|
+ OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"),
|
|
|
+ OfflineCmdBean("更正", "geng zheng"),
|
|
|
+ OfflineCmdBean("结束任务", "jie shu ren wu")
|
|
|
+ )
|
|
|
+ private val CMDS_INSPECTION_RESULT = listOf(
|
|
|
+ OfflineCmdBean("重拍照", "chong pai zhao"),
|
|
|
+ OfflineCmdBean("结束任务", "jie shu ren wu"),
|
|
|
+ OfflineCmdBean("继续任务", "ji xu ren wu")
|
|
|
+ )
|
|
|
+ private val CMDS_INSPECTION_MISSING = listOf(
|
|
|
+ OfflineCmdBean("补充单证", "bu chong dan zheng"),
|
|
|
+ OfflineCmdBean("继续提交", "ji xu ti jiao")
|
|
|
+ )
|
|
|
+ private val CMDS_INSPECTION_COMPLETE = listOf(
|
|
|
+ OfflineCmdBean("完成任务", "wan cheng ren wu")
|
|
|
+ )
|
|
|
+
|
|
|
private var service: IOfflineCmdService? = null
|
|
|
|
|
|
private fun registerBeans(beans: List<OfflineCmdBean>) {
|
|
|
@@ -131,24 +120,8 @@ object OfflineCmdServiceHelper {
|
|
|
this.listenerList.remove(listener)
|
|
|
}
|
|
|
|
|
|
- fun addListenerList(){
|
|
|
- // 任务列表独有关键词(通用关键词已在 init 注册,无需重复)
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("下一页", "xia yi ye"),
|
|
|
- OfflineCmdBean("上一页", "shang yi ye"),
|
|
|
- OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu"),
|
|
|
- OfflineCmdBean("第一个", "di yi ge"),
|
|
|
- OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu"),
|
|
|
- OfflineCmdBean("第二个", "di er ge"),
|
|
|
- OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu"),
|
|
|
- OfflineCmdBean("第三个", "di san ge"),
|
|
|
- OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu"),
|
|
|
- OfflineCmdBean("第四个", "di si ge"),
|
|
|
- OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu"),
|
|
|
- OfflineCmdBean("第五个", "di wu ge"),
|
|
|
- OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu"),
|
|
|
- OfflineCmdBean("第六个", "di liu ge")
|
|
|
- ))
|
|
|
+ fun addListenerList() {
|
|
|
+ registerBeans(CMDS_TASK_LIST)
|
|
|
}
|
|
|
|
|
|
fun removeAll(){
|
|
|
@@ -158,167 +131,48 @@ object OfflineCmdServiceHelper {
|
|
|
// addListenerFo: 无独有关键词,通用关键词已在 init 注册
|
|
|
fun addListenerFo(){ }
|
|
|
|
|
|
- fun addListenerInspection(){
|
|
|
- // 巡检页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("驳回", "bo hui"),
|
|
|
- OfflineCmdBean("通过", "tong guo"),
|
|
|
- OfflineCmdBean("同意", "tong yi")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerInspection() = registerBeans(CMDS_INSPECTION)
|
|
|
|
|
|
- fun addListenerSpraying(){
|
|
|
- // 喷涂页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("开始任务", "kai shi ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerSpraying() = registerBeans(CMDS_SPRAYING)
|
|
|
|
|
|
- fun addListenerSprayingFinish(){
|
|
|
- // 喷涂完成页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("补充照片", "bu chong zhao pian"),
|
|
|
- OfflineCmdBean("确认提交", "que ren ti jiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerSprayingFinish() = registerBeans(CMDS_SPRAYING_FINISH)
|
|
|
|
|
|
- fun addListenerSprayingManualResulth(){
|
|
|
- // 喷涂人工更正页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("合格", "he ge"),
|
|
|
- OfflineCmdBean("不合格", "bu he ge"),
|
|
|
- OfflineCmdBean("取消", "qu xiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerSprayingManualResulth() = registerBeans(CMDS_SPRAYING_MANUAL_RESULT)
|
|
|
|
|
|
- fun addListenerSprayingOCR(){
|
|
|
- // 喷涂OCR页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("重拍", "chong pai")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerSprayingOCR() = registerBeans(CMDS_SPRAYING_OCR)
|
|
|
|
|
|
- fun addListenerSprayingResult(){
|
|
|
- // 喷涂结果页独有关键词
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("重拍", "chong pai"),
|
|
|
- OfflineCmdBean("继续拍摄", "ji xu pai she"),
|
|
|
- OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"),
|
|
|
- OfflineCmdBean("更正", "geng zheng"),
|
|
|
- OfflineCmdBean("结束任务", "jie shu ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerSprayingResult() = registerBeans(CMDS_SPRAYING_RESULT)
|
|
|
|
|
|
// ---- 各页面离开时移除独有关键词(退出/返回为公共关键词,不移除)----
|
|
|
|
|
|
- fun removeListenerList(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("下一页", "xia yi ye"),
|
|
|
- OfflineCmdBean("上一页", "shang yi ye"),
|
|
|
- OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu"),
|
|
|
- OfflineCmdBean("第一个", "di yi ge"),
|
|
|
- OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu"),
|
|
|
- OfflineCmdBean("第二个", "di er ge"),
|
|
|
- OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu"),
|
|
|
- OfflineCmdBean("第三个", "di san ge"),
|
|
|
- OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu"),
|
|
|
- OfflineCmdBean("第四个", "di si ge"),
|
|
|
- OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu"),
|
|
|
- OfflineCmdBean("第五个", "di wu ge"),
|
|
|
- OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu"),
|
|
|
- OfflineCmdBean("第六个", "di liu ge")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerList() = removeBeans(CMDS_TASK_LIST)
|
|
|
|
|
|
// addListenerFo 无独有关键词,无需对应 remove 方法
|
|
|
|
|
|
- fun removeListenerInspection(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("驳回", "bo hui"),
|
|
|
- OfflineCmdBean("通过", "tong guo"),
|
|
|
- OfflineCmdBean("同意", "tong yi")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerInspection() = removeBeans(CMDS_INSPECTION)
|
|
|
|
|
|
- fun removeListenerSpraying(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("开始任务", "kai shi ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerSpraying() = removeBeans(CMDS_SPRAYING)
|
|
|
|
|
|
- fun removeListenerSprayingFinish(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("补充照片", "bu chong zhao pian"),
|
|
|
- OfflineCmdBean("确认提交", "que ren ti jiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerSprayingFinish() = removeBeans(CMDS_SPRAYING_FINISH)
|
|
|
|
|
|
- fun removeListenerSprayingManualResulth(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("合格", "he ge"),
|
|
|
- OfflineCmdBean("不合格", "bu he ge"),
|
|
|
- OfflineCmdBean("取消", "qu xiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerSprayingManualResulth() = removeBeans(CMDS_SPRAYING_MANUAL_RESULT)
|
|
|
|
|
|
- fun removeListenerSprayingOCR(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("重拍", "chong pai")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerSprayingOCR() = removeBeans(CMDS_SPRAYING_OCR)
|
|
|
|
|
|
- fun removeListenerSprayingResult(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("重拍", "chong pai"),
|
|
|
- OfflineCmdBean("继续拍摄", "ji xu pai she"),
|
|
|
- OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"),
|
|
|
- OfflineCmdBean("更正", "geng zheng"),
|
|
|
- OfflineCmdBean("结束任务", "jie shu ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerSprayingResult() = removeBeans(CMDS_SPRAYING_RESULT)
|
|
|
|
|
|
// ---- Inspection 页面关键词 ----
|
|
|
|
|
|
- fun addListenerInspectionResult(){
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("重拍照", "chong pai zhao"),
|
|
|
- OfflineCmdBean("结束任务", "jie shu ren wu"),
|
|
|
- OfflineCmdBean("继续任务", "ji xu ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerInspectionResult() = registerBeans(CMDS_INSPECTION_RESULT)
|
|
|
|
|
|
- fun removeListenerInspectionResult(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("重拍照", "chong pai zhao"),
|
|
|
- OfflineCmdBean("结束任务", "jie shu ren wu"),
|
|
|
- OfflineCmdBean("继续任务", "ji xu ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerInspectionResult() = removeBeans(CMDS_INSPECTION_RESULT)
|
|
|
|
|
|
- fun addListenerInspectionMissing(){
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("补充单证", "bu chong dan zheng"),
|
|
|
- OfflineCmdBean("继续提交", "ji xu ti jiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerInspectionMissing() = registerBeans(CMDS_INSPECTION_MISSING)
|
|
|
|
|
|
- fun removeListenerInspectionMissing(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("补充单证", "bu chong dan zheng"),
|
|
|
- OfflineCmdBean("继续提交", "ji xu ti jiao")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerInspectionMissing() = removeBeans(CMDS_INSPECTION_MISSING)
|
|
|
|
|
|
- fun addListenerInspectionComplete(){
|
|
|
- registerBeans(listOf(
|
|
|
- OfflineCmdBean("完成任务", "wan cheng ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun addListenerInspectionComplete() = registerBeans(CMDS_INSPECTION_COMPLETE)
|
|
|
|
|
|
- fun removeListenerInspectionComplete(){
|
|
|
- removeBeans(listOf(
|
|
|
- OfflineCmdBean("完成任务", "wan cheng ren wu")
|
|
|
- ))
|
|
|
- }
|
|
|
+ fun removeListenerInspectionComplete() = removeBeans(CMDS_INSPECTION_COMPLETE)
|
|
|
|
|
|
}
|