refactor(offlineCmd): 重构离线语音命令服务实现

- 移除过时的语音命令配置选项
- 将初始化逻辑简化并移除不必要的异步执行
- 添加针对不同页面的专用语音命令监听器方法
- 在各个Activity中集成对应的语音命令功能
- 为任务列表页面添加语音操作提示文本
- 统一管理语音命令的添加和移除操作
- 优化语音命令的页面特定功能支持
这个提交包含在:
徐勤民 2026-04-15 11:11:16 +08:00
父节点 7ce1fbfae4
当前提交 5632119792
共有 11 个文件被更改,包括 246 次插入121 次删除

查看文件

@ -1,8 +1,10 @@
package com.nova.brain.glass.helper 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.open.sdk.GlassSdk
import com.rokid.security.glass3.sdk.base.data.offlineCmd.bean.VoiceAction 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.glass3.sdk.base.data.offlineCmd.listener.IVoiceCallback
import com.rokid.security.system.server.offlineCmd.IOfflineCmdService
import com.xuqm.base.common.LogHelper import com.xuqm.base.common.LogHelper
import java.util.concurrent.Executors import java.util.concurrent.Executors
@ -33,174 +35,89 @@ object OfflineCmdServiceHelper {
add(OfflineCmdBean("通过", "tong guo")) add(OfflineCmdBean("通过", "tong guo"))
add(OfflineCmdBean("合格", "he ge")) add(OfflineCmdBean("合格", "he ge"))
add(OfflineCmdBean("不合格", "bu he ge")) add(OfflineCmdBean("不合格", "bu he ge"))
add(OfflineCmdBean("改为合格", "gai wei he ge"))
add(OfflineCmdBean("改为不合格", "gai wei bu he ge"))
add(OfflineCmdBean("设置为合格", "she zhi wei he ge"))
add(OfflineCmdBean("设置为不合格", "she zhi wei bu he ge"))
add(OfflineCmdBean("取消修改", "qu xiao xiu gai"))
add(OfflineCmdBean("取消", "qu xiao")) add(OfflineCmdBean("取消", "qu xiao"))
add(OfflineCmdBean("查看第一条任务", "cha kan di yi tiao ren wu"))
add(OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu")) add(OfflineCmdBean("查看第一项任务", "cha kan di yi xiang ren wu"))
add(OfflineCmdBean("查看第一个任务", "cha kan di yi ge ren wu"))
add(OfflineCmdBean("第一个", "di yi ge")) add(OfflineCmdBean("第一个", "di yi ge"))
add(OfflineCmdBean("第一条", "di yi tiao"))
add(OfflineCmdBean("第一项", "di yi xiang"))
add(OfflineCmdBean("打开第一条任务", "da kai di yi tiao ren wu"))
add(OfflineCmdBean("打开第一项任务", "da kai di yi xiang ren wu"))
add(OfflineCmdBean("打开第一个任务", "da kai di yi ge ren wu"))
add(OfflineCmdBean("处理第一条任务", "chu li di yi tiao ren wu"))
add(OfflineCmdBean("处理第一项任务", "chu li di yi xiang ren wu"))
add(OfflineCmdBean("处理第一个任务", "chu li di yi ge ren wu"))
add(OfflineCmdBean("查看第二条任务", "cha kan di er tiao ren wu"))
add(OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu")) add(OfflineCmdBean("查看第二项任务", "cha kan di er xiang ren wu"))
add(OfflineCmdBean("第二个", "di er ge")) add(OfflineCmdBean("第二个", "di er ge"))
add(OfflineCmdBean("第二条", "di er tiao"))
add(OfflineCmdBean("第二项", "di er xiang"))
add(OfflineCmdBean("打开第二条任务", "da kai di er tiao ren wu"))
add(OfflineCmdBean("打开第二项任务", "da kai di er xiang ren wu"))
add(OfflineCmdBean("处理第二条任务", "chu li di er tiao ren wu"))
add(OfflineCmdBean("处理第二项任务", "chu li di er xiang ren wu"))
add(OfflineCmdBean("查看第三条任务", "cha kan di san tiao ren wu"))
add(OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu")) add(OfflineCmdBean("查看第三项任务", "cha kan di san xiang ren wu"))
add(OfflineCmdBean("第三个", "di san ge")) add(OfflineCmdBean("第三个", "di san ge"))
add(OfflineCmdBean("第三条", "di san tiao"))
add(OfflineCmdBean("第三项", "di san xiang"))
add(OfflineCmdBean("打开第三条任务", "da kai di san tiao ren wu"))
add(OfflineCmdBean("打开第三项任务", "da kai di san xiang ren wu"))
add(OfflineCmdBean("处理第三条任务", "chu li di san tiao ren wu"))
add(OfflineCmdBean("处理第三项任务", "chu li di san xiang ren wu"))
add(OfflineCmdBean("查看第四条任务", "cha kan di si tiao ren wu"))
add(OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu")) add(OfflineCmdBean("查看第四项任务", "cha kan di si xiang ren wu"))
add(OfflineCmdBean("第四个", "di si ge")) add(OfflineCmdBean("第四个", "di si ge"))
add(OfflineCmdBean("第四条", "di si tiao"))
add(OfflineCmdBean("第四项", "di si xiang"))
add(OfflineCmdBean("打开第四条任务", "da kai di si tiao ren wu"))
add(OfflineCmdBean("打开第四项任务", "da kai di si xiang ren wu"))
add(OfflineCmdBean("处理第四条任务", "chu li di si tiao ren wu"))
add(OfflineCmdBean("处理第四项任务", "chu li di si xiang ren wu"))
add(OfflineCmdBean("查看第五条任务", "cha kan di wu tiao ren wu"))
add(OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu")) add(OfflineCmdBean("查看第五项任务", "cha kan di wu xiang ren wu"))
add(OfflineCmdBean("第五个", "di wu ge")) add(OfflineCmdBean("第五个", "di wu ge"))
add(OfflineCmdBean("第五条", "di wu tiao"))
add(OfflineCmdBean("第五项", "di wu xiang"))
add(OfflineCmdBean("打开第五条任务", "da kai di wu tiao ren wu"))
add(OfflineCmdBean("打开第五项任务", "da kai di wu xiang ren wu"))
add(OfflineCmdBean("处理第五条任务", "chu li di wu tiao ren wu"))
add(OfflineCmdBean("处理第五项任务", "chu li di wu xiang ren wu"))
add(OfflineCmdBean("查看第六条任务", "cha kan di liu tiao ren wu"))
add(OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu")) add(OfflineCmdBean("查看第六项任务", "cha kan di liu xiang ren wu"))
add(OfflineCmdBean("第六个", "di liu ge")) add(OfflineCmdBean("第六个", "di liu ge"))
add(OfflineCmdBean("第六条", "di liu tiao"))
add(OfflineCmdBean("第六项", "di liu xiang"))
add(OfflineCmdBean("打开第六条任务", "da kai di liu tiao ren wu"))
add(OfflineCmdBean("打开第六项任务", "da kai di liu xiang ren wu"))
add(OfflineCmdBean("处理第六条任务", "chu li di liu tiao ren wu"))
add(OfflineCmdBean("处理第六项任务", "chu li di liu xiang ren wu"))
add(OfflineCmdBean("查看第七条任务", "cha kan di qi tiao ren wu"))
add(OfflineCmdBean("查看第七项任务", "cha kan di qi xiang ren wu")) add(OfflineCmdBean("查看第七项任务", "cha kan di qi xiang ren wu"))
add(OfflineCmdBean("第七个", "di qi ge")) add(OfflineCmdBean("第七个", "di qi ge"))
add(OfflineCmdBean("第七条", "di qi tiao"))
add(OfflineCmdBean("第七项", "di qi xiang"))
add(OfflineCmdBean("打开第七条任务", "da kai di qi tiao ren wu"))
add(OfflineCmdBean("打开第七项任务", "da kai di qi xiang ren wu"))
add(OfflineCmdBean("处理第七条任务", "chu li di qi tiao ren wu"))
add(OfflineCmdBean("处理第七项任务", "chu li di qi xiang ren wu"))
add(OfflineCmdBean("查看第八条任务", "cha kan di ba tiao ren wu"))
add(OfflineCmdBean("查看第八项任务", "cha kan di ba xiang ren wu")) add(OfflineCmdBean("查看第八项任务", "cha kan di ba xiang ren wu"))
add(OfflineCmdBean("第八个", "di ba ge")) add(OfflineCmdBean("第八个", "di ba ge"))
add(OfflineCmdBean("第八条", "di ba tiao"))
add(OfflineCmdBean("第八项", "di ba xiang"))
add(OfflineCmdBean("打开第八条任务", "da kai di ba tiao ren wu"))
add(OfflineCmdBean("打开第八项任务", "da kai di ba xiang ren wu"))
add(OfflineCmdBean("处理第八条任务", "chu li di ba tiao ren wu"))
add(OfflineCmdBean("处理第八项任务", "chu li di ba xiang ren wu"))
add(OfflineCmdBean("查看第九条任务", "cha kan di jiu tiao ren wu"))
add(OfflineCmdBean("查看第九项任务", "cha kan di jiu xiang ren wu")) add(OfflineCmdBean("查看第九项任务", "cha kan di jiu xiang ren wu"))
add(OfflineCmdBean("第九个", "di jiu ge")) add(OfflineCmdBean("第九个", "di jiu ge"))
add(OfflineCmdBean("第九条", "di jiu tiao"))
add(OfflineCmdBean("第九项", "di jiu xiang"))
add(OfflineCmdBean("打开第九条任务", "da kai di jiu tiao ren wu"))
add(OfflineCmdBean("打开第九项任务", "da kai di jiu xiang ren wu"))
add(OfflineCmdBean("处理第九条任务", "chu li di jiu tiao ren wu"))
add(OfflineCmdBean("处理第九项任务", "chu li di jiu xiang ren wu"))
add(OfflineCmdBean("查看第十条任务", "cha kan di shi tiao ren wu"))
add(OfflineCmdBean("查看第十项任务", "cha kan di shi xiang ren wu")) add(OfflineCmdBean("查看第十项任务", "cha kan di shi xiang ren wu"))
add(OfflineCmdBean("第十个", "di shi ge")) add(OfflineCmdBean("第十个", "di shi ge"))
add(OfflineCmdBean("第十条", "di shi tiao"))
add(OfflineCmdBean("第十项", "di shi xiang"))
add(OfflineCmdBean("打开第十条任务", "da kai di shi tiao ren wu"))
add(OfflineCmdBean("打开第十项任务", "da kai di shi xiang ren wu"))
add(OfflineCmdBean("处理第十条任务", "chu li di shi tiao ren wu"))
add(OfflineCmdBean("处理第十项任务", "chu li di shi xiang ren wu"))
//喷涂 //喷涂
add(OfflineCmdBean("开始", "kai shi")) add(OfflineCmdBean("开始", "kai shi"))
add(OfflineCmdBean("开始拍照", "kai shi pai zhao"))
add(OfflineCmdBean("拍照", "pai zhao"))
add(OfflineCmdBean("开始任务", "kai shi ren wu")) add(OfflineCmdBean("开始任务", "kai shi ren wu"))
add(OfflineCmdBean("重拍", "chong pai")) add(OfflineCmdBean("重拍", "chong pai"))
add(OfflineCmdBean("重新拍", "chong xin pai"))
add(OfflineCmdBean("再拍一次", "zai pai yi ci"))
add(OfflineCmdBean("继续拍摄", "ji xu pai she")) add(OfflineCmdBean("继续拍摄", "ji xu pai she"))
add(OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo")) add(OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"))
add(OfflineCmdBean("更正结果", "geng zheng jie guo"))
add(OfflineCmdBean("人工更正", "ren gong geng zheng")) add(OfflineCmdBean("人工更正", "ren gong geng zheng"))
add(OfflineCmdBean("更正", "geng zheng")) add(OfflineCmdBean("更正", "geng zheng"))
add(OfflineCmdBean("结束任务", "jie shu ren wu")) add(OfflineCmdBean("结束任务", "jie shu ren wu"))
add(OfflineCmdBean("结束", "jie shu"))
add(OfflineCmdBean("完成", "wan cheng"))
add(OfflineCmdBean("完成任务", "wan cheng ren wu"))
add(OfflineCmdBean("补充照片", "bu chong zhao pian")) add(OfflineCmdBean("补充照片", "bu chong zhao pian"))
add(OfflineCmdBean("确认提交", "que ren ti jiao")) add(OfflineCmdBean("确认提交", "que ren ti jiao"))
add(OfflineCmdBean("提交", "ti jiao"))
add(OfflineCmdBean("确认", "que ren"))
// //
} }
private var service: IOfflineCmdService? = null
@Synchronized @Synchronized
fun init(){ fun init(){
LogHelper.d("init") service = GlassSdk.getGlassOfflineCmdService()
if (initialized || initializing) { // LogHelper.d("init")
return // if (initialized || initializing) {
} // return
LogHelper.d("init111") // }
initializing = true // LogHelper.d("init111")
LogHelper.d("init222") // initializing = true
initExecutor.execute { // LogHelper.d("init222")
try { // initExecutor.execute {
val service = GlassSdk.getGlassOfflineCmdService() // try {
if (service == null){ // val service = GlassSdk.getGlassOfflineCmdService()
LogHelper.e("OfflineCmdServiceHelper","service is null") // if (service == null){
return@execute // LogHelper.e("OfflineCmdServiceHelper","service is null")
} // return@execute
LogHelper.d("init444") // }
LogHelper.e("OfflineCmdServiceHelper","service 存在") // LogHelper.d("init444")
for (bean in list) { // LogHelper.e("OfflineCmdServiceHelper","service 存在")
service.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() { // for (bean in list) {
override fun onVoiceTriggered() { // service.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
LogHelper.d("onOfflineCmd: ${bean.text}") // override fun onVoiceTriggered() {
for (l in listenerList) { // LogHelper.d("onOfflineCmd: ${bean.text}")
l.onOfflineCmd(bean.text) // for (l in listenerList) {
} // l.onOfflineCmd(bean.text)
} // }
})) // }
} // }))
LogHelper.d("init555") // }
initialized = true // LogHelper.d("init555")
} finally { // initialized = true
LogHelper.d("init333") // } finally {
initializing = false // LogHelper.d("init333")
} // initializing = false
} // }
// }
} }
fun addOnLineListener(listener: OfflineCmdListener){ fun addOnLineListener(listener: OfflineCmdListener){
this.listenerList.add(listener) this.listenerList.add(listener)
@ -209,5 +126,176 @@ object OfflineCmdServiceHelper {
this.listenerList.remove(listener) this.listenerList.remove(listener)
} }
fun addListenerList(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
// 任务列表
add(OfflineCmdBean("下一页", "xia yi ye"))
add(OfflineCmdBean("上一页", "shang yi ye"))
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
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"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun removeAll(){
service?.removeAll()
}
fun addListenerFo(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerInspection(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("驳回", "bo hui"))
add(OfflineCmdBean("通过", "tong guo"))
add(OfflineCmdBean("同意", "bo hui"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerSpraying(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("开始任务", "kai shi ren wu"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerSprayingFinish(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("补充照片", "bu chong zhao pian"))
add(OfflineCmdBean("确认提交", "que ren ti jiao"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerSprayingManualResulth(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("合格", "he ge"))
add(OfflineCmdBean("不合格", "bu he ge"))
add(OfflineCmdBean("取消", "qu xiao"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerSprayingOCR(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("重拍", "chong pai"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
fun addListenerSprayingResult(){
for (bean in mutableListOf<OfflineCmdBean>().apply {
add(OfflineCmdBean("退出", "tui chu"))
add(OfflineCmdBean("返回", "fan hui"))
add(OfflineCmdBean("重拍", "chong pai"))
add(OfflineCmdBean("继续拍摄", "ji xu pai she"))
add(OfflineCmdBean("人工更正结果", "ren gong geng zheng jie guo"))
add(OfflineCmdBean("更正", "geng zheng"))
add(OfflineCmdBean("结束任务", "jie shu ren wu"))
}) {
LogHelper.d("------>>>>>>>>>--------${service!==null}")
service?.add(VoiceAction(bean.text, bean.pinyin, object : IVoiceCallback.Stub() {
override fun onVoiceTriggered() {
LogHelper.d("onOfflineCmd: ${bean.text}")
for (l in listenerList) {
l.onOfflineCmd(bean.text)
}
}
}))
}
}
} }

查看文件

@ -25,6 +25,7 @@ class FoActivity : BaseActivity<ActivityFoBinding>() {
} }
override fun initData() { override fun initData() {
super.initData() super.initData()
OfflineCmdServiceHelper.addListenerFo()
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
val html = "<b>加粗</b> <br><br>换行 <br><br><h1>h1</h1>" val html = "<b>加粗</b> <br><br>换行 <br><br><h1>h1</h1>"
binding.content.text = Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY) binding.content.text = Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY)
@ -33,6 +34,7 @@ class FoActivity : BaseActivity<ActivityFoBinding>() {
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
OfflineCmdServiceHelper.removeAll()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
} }
} }

查看文件

@ -38,6 +38,7 @@ class InspectionActivity : BaseListFormLayoutNormalActivity<ItemItem, ItemListVM
override fun initData() { override fun initData() {
super.initData() super.initData()
window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
OfflineCmdServiceHelper.addListenerInspection()
} }
override fun onResume() { override fun onResume() {
@ -50,6 +51,10 @@ class InspectionActivity : BaseListFormLayoutNormalActivity<ItemItem, ItemListVM
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
} }
override fun onDestroy() {
super.onDestroy()
OfflineCmdServiceHelper.removeAll()
}
private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_item) { private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_item) {
override fun convert(holder: ViewHolder, item: ItemItem, position: Int) { override fun convert(holder: ViewHolder, item: ItemItem, position: Int) {
holder holder

查看文件

@ -37,6 +37,7 @@ class ReviewActivity : BaseListFormLayoutNormalActivity<ItemItem, ItemListVM, Ac
} }
override fun initData() { override fun initData() {
super.initData() super.initData()
OfflineCmdServiceHelper.addListenerInspection()
window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
} }
@ -44,6 +45,7 @@ class ReviewActivity : BaseListFormLayoutNormalActivity<ItemItem, ItemListVM, Ac
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
OfflineCmdServiceHelper.removeAll()
} }
private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_item) { private val adapter = object : CommonPagedAdapter<ItemItem>(R.layout.item_item) {

查看文件

@ -106,12 +106,14 @@ class SprayingActivity :
super.onResume() super.onResume()
GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback)
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
OfflineCmdServiceHelper.addListenerSpraying()
} }
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback)
OfflineCmdServiceHelper.removeAll()
} }
private var isPhoto = false private var isPhoto = false

查看文件

@ -41,6 +41,7 @@ class SprayingFinishActivity :
override fun initData() { override fun initData() {
super.initData() super.initData()
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
OfflineCmdServiceHelper.addListenerSprayingFinish()
renderPhotos() renderPhotos()
} }
@ -50,6 +51,7 @@ class SprayingFinishActivity :
binding.photo2.setImageDrawable(null) binding.photo2.setImageDrawable(null)
binding.photo3.setImageDrawable(null) binding.photo3.setImageDrawable(null)
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
OfflineCmdServiceHelper.removeAll()
} }
private fun renderPhotos() { private fun renderPhotos() {

查看文件

@ -35,11 +35,13 @@ class SprayingManualResultActivity :
override fun initData() { override fun initData() {
super.initData() super.initData()
OfflineCmdServiceHelper.addListenerSprayingManualResulth()
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
} }
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
OfflineCmdServiceHelper.removeAll()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
} }

查看文件

@ -109,6 +109,7 @@ class SprayingOCRActivity :
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
OfflineCmdServiceHelper.addListenerSprayingOCR()
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback)
} }
@ -117,6 +118,7 @@ class SprayingOCRActivity :
resultCountdown?.cancel() resultCountdown?.cancel()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback)
OfflineCmdServiceHelper.removeAll()
} }
override fun onDestroy() { override fun onDestroy() {

查看文件

@ -186,12 +186,14 @@ class SprayingResultActivity :
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
OfflineCmdServiceHelper.addListenerSprayingResult()
OfflineCmdServiceHelper.addOnLineListener(listener) OfflineCmdServiceHelper.addOnLineListener(listener)
GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.addPhotoCallback(mPhotoFileCallback)
} }
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
OfflineCmdServiceHelper.removeOnLineListener(listener) OfflineCmdServiceHelper.removeOnLineListener(listener)
OfflineCmdServiceHelper.removeAll()
GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback) GlassMediaServiceHelper.removePhotoCallback(mPhotoFileCallback)
} }
override fun onDestroy() { override fun onDestroy() {

查看文件

@ -172,12 +172,14 @@ class TaskListActivity :
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
OfflineCmdServiceHelper.addListenerList()
LogHelper.d(">>>>>>>>>>>>--------------------") LogHelper.d(">>>>>>>>>>>>--------------------")
OfflineCmdServiceHelper.addOnLineListener(offlineCmdListener) OfflineCmdServiceHelper.addOnLineListener(offlineCmdListener)
} }
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
OfflineCmdServiceHelper.removeAll()
OfflineCmdServiceHelper.removeOnLineListener(offlineCmdListener) OfflineCmdServiceHelper.removeOnLineListener(offlineCmdListener)
} }

查看文件

@ -67,5 +67,21 @@
android:text="下一页" android:text="下一页"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/baseRefreshLayout" /> app:layout_constraintTop_toBottomOf="@+id/baseRefreshLayout" />
<TextView
android:id="@+id/hint"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginEnd="28dp"
android:layout_marginBottom="56dp"
android:gravity="center"
android:lineSpacingExtra="6dp"
android:text="滑动选择某一条后单击可查看对应任务&#10;语音输入“第一条”或“查看第几项任务”,可查看对应任务&#10;单击或语音输入“返回”返回上级页面"
android:textColor="#4AFE59"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>