|
|
@@ -986,12 +986,14 @@ object BusinessManager {
|
|
|
// TD:Ticket Done
|
|
|
if (isNeedLoading) mEventBus.postValue(MsgEvent(MSG_EVENT_LOADING, LoadingMsg(false, "TD$ticketJson}", true)))
|
|
|
// TODO 根据工作票完成情况,切换为待机模式
|
|
|
- BleCmdManager.switchMode(STATUS_READY, bleDevice, object : CustomBleWriteCallback() {
|
|
|
- override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
- LogUtil.i("switch mode ready success")}
|
|
|
- override fun onWriteFailure(exception: BleException?) {
|
|
|
- LogUtil.e("switch mode ready fail")}
|
|
|
- })
|
|
|
+ switchReadyMode(bleDevice) { isSuccess ->
|
|
|
+ if (isSuccess) {
|
|
|
+ // 延时再次获取当前状态,触发handleCurrentMode里工作票下发状态检查
|
|
|
+ Executor.delayOnMain(500) {
|
|
|
+ getCurrentStatus(bleDevice)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// TODO 和confirm dialog冲突,待定
|
|
|
val dock = ModBusController.getDockByKeyMac(bleDevice.mac)
|
|
|
@@ -1030,6 +1032,22 @@ object BusinessManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun switchReadyMode(bleDevice: BleDevice, processCallback: ((Boolean) -> Unit)) {
|
|
|
+ BleCmdManager.switchMode(STATUS_READY, bleDevice, object : CustomBleWriteCallback() {
|
|
|
+ override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
+ LogUtil.i("switch mode ready success : ${bleDevice.mac}")
|
|
|
+ processCallback.invoke(true)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onWriteFailure(exception: BleException?) {
|
|
|
+ LogUtil.e("switch mode ready fail : ${bleDevice.mac}")
|
|
|
+ Executor.delayOnMain(300) {
|
|
|
+ switchReadyMode(bleDevice, processCallback)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取工作票完成情况
|
|
|
*/
|