|
@@ -208,7 +208,7 @@ object BusinessManager {
|
|
|
dlg.setType(TipDialog.TYPE_CONFIRM)
|
|
dlg.setType(TipDialog.TYPE_CONFIRM)
|
|
|
dlg.setConfirmListener {
|
|
dlg.setConfirmListener {
|
|
|
ModBusController.controlKeyBuckle(false, isLeft, slaveIdx)
|
|
ModBusController.controlKeyBuckle(false, isLeft, slaveIdx)
|
|
|
- getTicketStatusBusiness(mac, ActivityUtils.currentActivity() as BaseActivity<*>) { b, s ->
|
|
|
|
|
|
|
+ getTicketStatusBusiness(mac, ActivityUtils.currentActivity() as BaseActivity<*>) { b, s, rst ->
|
|
|
(ActivityUtils.currentActivity() as BaseActivity<*>).handleLoading(b, s)
|
|
(ActivityUtils.currentActivity() as BaseActivity<*>).handleLoading(b, s)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -310,7 +310,7 @@ object BusinessManager {
|
|
|
private fun prepareBle(
|
|
private fun prepareBle(
|
|
|
mac: String,
|
|
mac: String,
|
|
|
activity: AppCompatActivity,
|
|
activity: AppCompatActivity,
|
|
|
- loadingCallBack: (Boolean, String?) -> Unit,
|
|
|
|
|
|
|
+ loadingCallBack: (Boolean, String?, Boolean?) -> Unit,
|
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
|
) {
|
|
) {
|
|
|
CommonUtils.checkBlePermission(activity) {
|
|
CommonUtils.checkBlePermission(activity) {
|
|
@@ -319,9 +319,9 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@AfterPermissionGranted(PERMISSION_REQUEST_CODE)
|
|
@AfterPermissionGranted(PERMISSION_REQUEST_CODE)
|
|
|
- fun doScanBle(mac: String, loadingCallBack: (Boolean, String?) -> Unit, prepareDoneCallBack: (Boolean, BleBean?) -> Unit) {
|
|
|
|
|
|
|
+ fun doScanBle(mac: String, loadingCallBack: (Boolean, String?, Boolean?) -> Unit, prepareDoneCallBack: (Boolean, BleBean?) -> Unit) {
|
|
|
LogUtil.d("扫描开始:$mac")
|
|
LogUtil.d("扫描开始:$mac")
|
|
|
- loadingCallBack(true, "正在扫描设备...")
|
|
|
|
|
|
|
+ loadingCallBack(true, "正在扫描设备...", null)
|
|
|
BleUtil.instance?.scan(object : CustomBleScanCallback() {
|
|
BleUtil.instance?.scan(object : CustomBleScanCallback() {
|
|
|
override fun onPrompt(promptStr: String?) {
|
|
override fun onPrompt(promptStr: String?) {
|
|
|
BleManager.getInstance().enableBluetooth()
|
|
BleManager.getInstance().enableBluetooth()
|
|
@@ -348,9 +348,10 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onScanFinished(scanResultList: MutableList<BleDevice>?) {
|
|
override fun onScanFinished(scanResultList: MutableList<BleDevice>?) {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, null)
|
|
|
if (BleUtil.instance?.deviceList?.isEmpty() == true) {
|
|
if (BleUtil.instance?.deviceList?.isEmpty() == true) {
|
|
|
ToastUtils.tip(R.string.ble_no_device_found)
|
|
ToastUtils.tip(R.string.ble_no_device_found)
|
|
|
|
|
+ loadingCallBack.invoke(false, null, false)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
BleUtil.instance?.getBleDeviceByMac(mac)?.bleDevice?.let {
|
|
BleUtil.instance?.getBleDeviceByMac(mac)?.bleDevice?.let {
|
|
@@ -365,26 +366,26 @@ object BusinessManager {
|
|
|
*/
|
|
*/
|
|
|
fun doConnect(
|
|
fun doConnect(
|
|
|
bleDevice: BleDevice,
|
|
bleDevice: BleDevice,
|
|
|
- loadingCallBack: (Boolean, String?) -> Unit,
|
|
|
|
|
|
|
+ loadingCallBack: (Boolean, String?, Boolean?) -> Unit,
|
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
|
) {
|
|
) {
|
|
|
- loadingCallBack.invoke(true, CommonUtils.getStr(R.string.ble_connecting))
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, CommonUtils.getStr(R.string.ble_connecting), null)
|
|
|
BleManager.getInstance().disconnect(bleDevice)
|
|
BleManager.getInstance().disconnect(bleDevice)
|
|
|
BleUtil.instance?.connectBySelect(bleDevice,
|
|
BleUtil.instance?.connectBySelect(bleDevice,
|
|
|
object : CustomBleGattCallback() {
|
|
object : CustomBleGattCallback() {
|
|
|
override fun onPrompt(promptStr: String?) {
|
|
override fun onPrompt(promptStr: String?) {
|
|
|
- loadingCallBack.invoke(false, promptStr)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, promptStr, false)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onStartConnect() {}
|
|
override fun onStartConnect() {}
|
|
|
|
|
|
|
|
override fun onConnectFail(bleDevice: BleDevice?, exception: BleException?) {
|
|
override fun onConnectFail(bleDevice: BleDevice?, exception: BleException?) {
|
|
|
- loadingCallBack.invoke(false, CommonUtils.getStr(R.string.ble_connect_fail))
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, CommonUtils.getStr(R.string.ble_connect_fail), false)
|
|
|
prepareDoneCallBack.invoke(false, null)
|
|
prepareDoneCallBack.invoke(false, null)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onConnectSuccess(bleDevice: BleDevice?, gatt: BluetoothGatt?, status: Int) {
|
|
override fun onConnectSuccess(bleDevice: BleDevice?, gatt: BluetoothGatt?, status: Int) {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, null)
|
|
|
LogUtil.i("onConnectSuccess : $bleDevice")
|
|
LogUtil.i("onConnectSuccess : $bleDevice")
|
|
|
bleDevice?.let {
|
|
bleDevice?.let {
|
|
|
val bleBean = BleBean(it)
|
|
val bleBean = BleBean(it)
|
|
@@ -402,7 +403,7 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onDisConnected(isActiveDisConnected: Boolean, device: BleDevice?, gatt: BluetoothGatt?, status: Int) {
|
|
override fun onDisConnected(isActiveDisConnected: Boolean, device: BleDevice?, gatt: BluetoothGatt?, status: Int) {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, false)
|
|
|
ToastUtils.tip(CommonUtils.getStr(R.string.ble_disconnect))
|
|
ToastUtils.tip(CommonUtils.getStr(R.string.ble_disconnect))
|
|
|
BleUtil.instance?.getBleDeviceByMac(device?.mac)?.let {
|
|
BleUtil.instance?.getBleDeviceByMac(device?.mac)?.let {
|
|
|
BleUtil.instance?.deviceList?.remove(it)
|
|
BleUtil.instance?.deviceList?.remove(it)
|
|
@@ -416,10 +417,10 @@ object BusinessManager {
|
|
|
*/
|
|
*/
|
|
|
private fun indicate(
|
|
private fun indicate(
|
|
|
bleBean: BleBean?,
|
|
bleBean: BleBean?,
|
|
|
- loadingCallBack: (Boolean, String?) -> Unit,
|
|
|
|
|
|
|
+ loadingCallBack: (Boolean, String?, Boolean?) -> Unit,
|
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
|
) {
|
|
) {
|
|
|
- loadingCallBack.invoke(true, "开始监听...")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, "开始监听...", null)
|
|
|
bleBean?.let {
|
|
bleBean?.let {
|
|
|
BleUtil.instance?.indicate(it.bleDevice, indicateCallback = object : CustomBleIndicateCallback() {
|
|
BleUtil.instance?.indicate(it.bleDevice, indicateCallback = object : CustomBleIndicateCallback() {
|
|
|
override fun onPrompt(promptStr: String?) {
|
|
override fun onPrompt(promptStr: String?) {
|
|
@@ -442,7 +443,7 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onIndicateFailure(exception: BleException?) {
|
|
override fun onIndicateFailure(exception: BleException?) {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, false)
|
|
|
ToastUtils.tip("监听失败")
|
|
ToastUtils.tip("监听失败")
|
|
|
LogUtil.i("监听失败")
|
|
LogUtil.i("监听失败")
|
|
|
prepareDoneCallBack.invoke(false, null)
|
|
prepareDoneCallBack.invoke(false, null)
|
|
@@ -463,20 +464,20 @@ object BusinessManager {
|
|
|
*/
|
|
*/
|
|
|
private fun getToken(
|
|
private fun getToken(
|
|
|
bleBean: BleBean?,
|
|
bleBean: BleBean?,
|
|
|
- loadingCallBack: (Boolean, String?) -> Unit,
|
|
|
|
|
|
|
+ loadingCallBack: (Boolean, String?, Boolean?) -> Unit,
|
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
prepareDoneCallBack: (Boolean, BleBean?) -> Unit
|
|
|
) {
|
|
) {
|
|
|
- loadingCallBack.invoke(true, "开始获取token...")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, "开始获取token...", null)
|
|
|
bleBean?.let {
|
|
bleBean?.let {
|
|
|
BleCmdManager.getToken(it.bleDevice.mac, object : CustomBleWriteCallback() {
|
|
BleCmdManager.getToken(it.bleDevice.mac, object : CustomBleWriteCallback() {
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
- loadingCallBack.invoke(false, "token获取成功")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "token获取成功", null)
|
|
|
LogUtil.i("getToken success : ${bleBean.bleDevice.mac}")
|
|
LogUtil.i("getToken success : ${bleBean.bleDevice.mac}")
|
|
|
prepareDoneCallBack.invoke(true, bleBean)
|
|
prepareDoneCallBack.invoke(true, bleBean)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
- loadingCallBack.invoke(false, "token获取失败")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "token获取失败", false)
|
|
|
LogUtil.e("getToken fail : ${bleBean.bleDevice.mac}")
|
|
LogUtil.e("getToken fail : ${bleBean.bleDevice.mac}")
|
|
|
prepareDoneCallBack.invoke(false, null)
|
|
prepareDoneCallBack.invoke(false, null)
|
|
|
}
|
|
}
|
|
@@ -493,7 +494,7 @@ object BusinessManager {
|
|
|
mac: String,
|
|
mac: String,
|
|
|
ticketDetail: TicketDetailRespVO,
|
|
ticketDetail: TicketDetailRespVO,
|
|
|
activity: AppCompatActivity,
|
|
activity: AppCompatActivity,
|
|
|
- loadingCallBack: (Boolean, String?) -> Unit,
|
|
|
|
|
|
|
+ loadingCallBack: (Boolean, String?, Boolean?) -> Unit,
|
|
|
) {
|
|
) {
|
|
|
prepareBle(mac, activity, loadingCallBack) { done, bleBean ->
|
|
prepareBle(mac, activity, loadingCallBack) { done, bleBean ->
|
|
|
if (done) {
|
|
if (done) {
|
|
@@ -505,7 +506,7 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, false)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -513,29 +514,29 @@ object BusinessManager {
|
|
|
/**
|
|
/**
|
|
|
* 读取工作票完成情况
|
|
* 读取工作票完成情况
|
|
|
*/
|
|
*/
|
|
|
- fun getTicketStatusBusiness(mac: String, activity: AppCompatActivity, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
|
|
+ fun getTicketStatusBusiness(mac: String, activity: AppCompatActivity, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
prepareBle(mac, activity, loadingCallBack) { done, bleBean ->
|
|
prepareBle(mac, activity, loadingCallBack) { done, bleBean ->
|
|
|
if (done) {
|
|
if (done) {
|
|
|
Executor.delayOnMain(500) {
|
|
Executor.delayOnMain(500) {
|
|
|
getTicketStatus(bleBean!!.bleDevice, loadingCallBack)
|
|
getTicketStatus(bleBean!!.bleDevice, loadingCallBack)
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, false)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private fun sendTicket(jsonStr: String, bleDevice: BleDevice, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
- loadingCallBack.invoke(true, "开始下发工作票...")
|
|
|
|
|
|
|
+ private fun sendTicket(jsonStr: String, bleDevice: BleDevice, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
|
|
+ loadingCallBack.invoke(true, "开始下发工作票...", null)
|
|
|
BleCmdManager.sendWorkTicket(jsonStr, bleDevice = bleDevice, callback = object : CustomBleWriteCallback() {
|
|
BleCmdManager.sendWorkTicket(jsonStr, bleDevice = bleDevice, callback = object : CustomBleWriteCallback() {
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("sendTicket success")
|
|
println("sendTicket success")
|
|
|
- loadingCallBack.invoke(true, "工作票下发中...")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, "工作票下发中...", null)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
LogUtil.e("sendTicket fail : ${bleDevice.mac}")
|
|
LogUtil.e("sendTicket fail : ${bleDevice.mac}")
|
|
|
- loadingCallBack.invoke(false, "工作票下发失败")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "工作票下发失败", null)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
@@ -588,7 +589,7 @@ object BusinessManager {
|
|
|
return jsonStr
|
|
return jsonStr
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- fun handleRsp(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
|
|
+ fun handleRsp(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
// TODO Token校验
|
|
// TODO Token校验
|
|
|
// val len = byteArray[2].toInt()
|
|
// val len = byteArray[2].toInt()
|
|
|
// val token = byteArray.copyOfRange(len + 7, len + 11)
|
|
// val token = byteArray.copyOfRange(len + 7, len + 11)
|
|
@@ -627,26 +628,27 @@ object BusinessManager {
|
|
|
* job : 0x01:工作模式 0x02:待机模式
|
|
* job : 0x01:工作模式 0x02:待机模式
|
|
|
* res : 0x01:成功 0x02:失败
|
|
* res : 0x01:成功 0x02:失败
|
|
|
*/
|
|
*/
|
|
|
- private fun handleSwitchModeResult(byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
|
|
+ private fun handleSwitchModeResult(byteArray: ByteArray, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
LogUtil.i("handleSwitchModeResult : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleSwitchModeResult : ${byteArray.toHexStrings()}")
|
|
|
val job = byteArray[4]
|
|
val job = byteArray[4]
|
|
|
val res = byteArray[5]
|
|
val res = byteArray[5]
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, null)
|
|
|
if (res == 0x01.toByte() && job == 0x01.toByte()) {
|
|
if (res == 0x01.toByte() && job == 0x01.toByte()) {
|
|
|
- loadingCallBack.invoke(false, "切换工作模式成功")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "切换工作模式成功", null)
|
|
|
} else if (res == 0x02.toByte() && job == 0x01.toByte()) {
|
|
} else if (res == 0x02.toByte() && job == 0x01.toByte()) {
|
|
|
- loadingCallBack.invoke(false, "切换待机模式成功")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "切换待机模式成功", null)
|
|
|
}
|
|
}
|
|
|
- BleManager.getInstance().disconnectAllDevice()
|
|
|
|
|
|
|
+ // TODO 切换完不断开
|
|
|
|
|
+// BleManager.getInstance().disconnectAllDevice()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 工作票下发结果
|
|
* 工作票下发结果
|
|
|
* res:0x00:成功 0x01:失败 0x02:传输超时 0x0D:当前IDX超出范围 0x0E:当前数据CRC校验失败 0x14:JSON结构错误 0x63:未知错误
|
|
* res:0x00:成功 0x01:失败 0x02:传输超时 0x0D:当前IDX超出范围 0x0E:当前数据CRC校验失败 0x14:JSON结构错误 0x63:未知错误
|
|
|
*/
|
|
*/
|
|
|
- private fun handleWorkTicketResult(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
|
|
+ private fun handleWorkTicketResult(bleBean: BleBean, byteArray: ByteArray, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
LogUtil.i("handleWorkTicketResult : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleWorkTicketResult : ${byteArray.toHexStrings()}")
|
|
|
- loadingCallBack.invoke(false, null)
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, null, null)
|
|
|
val idx = byteArray[4] + byteArray[5]
|
|
val idx = byteArray[4] + byteArray[5]
|
|
|
val total = byteArray[6] + byteArray[7]
|
|
val total = byteArray[6] + byteArray[7]
|
|
|
val res = byteArray[8]
|
|
val res = byteArray[8]
|
|
@@ -667,7 +669,7 @@ object BusinessManager {
|
|
|
} else {
|
|
} else {
|
|
|
LogUtil.i("Work ticket is done")
|
|
LogUtil.i("Work ticket is done")
|
|
|
// 下发完毕,切换工作模式
|
|
// 下发完毕,切换工作模式
|
|
|
- loadingCallBack.invoke(true, "切换钥匙为工作模式")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, "切换钥匙为工作模式", null)
|
|
|
BleCmdManager.switchMode(STATUS_WORK, bleBean.bleDevice, object : CustomBleWriteCallback() {
|
|
BleCmdManager.switchMode(STATUS_WORK, bleBean.bleDevice, object : CustomBleWriteCallback() {
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("switch mode 1 success")}
|
|
println("switch mode 1 success")}
|
|
@@ -677,9 +679,10 @@ object BusinessManager {
|
|
|
// 打开钥匙卡扣
|
|
// 打开钥匙卡扣
|
|
|
val keyBean = ModBusController.getKeyByRfid(bleBean.bleDevice.mac)
|
|
val keyBean = ModBusController.getKeyByRfid(bleBean.bleDevice.mac)
|
|
|
if (keyBean == null) {
|
|
if (keyBean == null) {
|
|
|
- loadingCallBack.invoke(false, "未找到钥匙信息")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "未找到钥匙信息", false)
|
|
|
ToastUtils.tip(R.string.key_not_exists)
|
|
ToastUtils.tip(R.string.key_not_exists)
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ loadingCallBack.invoke(false, null, true)
|
|
|
val dock = ModBusController.getDockByKeyMac(bleBean.bleDevice.mac)
|
|
val dock = ModBusController.getDockByKeyMac(bleBean.bleDevice.mac)
|
|
|
ModBusController.controlKeyBuckle(true, keyBean.isLeft, dock?.addr?.toInt())
|
|
ModBusController.controlKeyBuckle(true, keyBean.isLeft, dock?.addr?.toInt())
|
|
|
}
|
|
}
|
|
@@ -689,7 +692,7 @@ object BusinessManager {
|
|
|
/**
|
|
/**
|
|
|
* 处理工作票完成情况
|
|
* 处理工作票完成情况
|
|
|
*/
|
|
*/
|
|
|
- private fun handleTicketStatus(bleDevice: BleDevice, byteArray: ByteArray, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
|
|
+ private fun handleTicketStatus(bleDevice: BleDevice, byteArray: ByteArray, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
// TODO 需要有超时重传机制
|
|
// TODO 需要有超时重传机制
|
|
|
LogUtil.i("handleTicketStatus : ${byteArray.toHexStrings()}")
|
|
LogUtil.i("handleTicketStatus : ${byteArray.toHexStrings()}")
|
|
|
|
|
|
|
@@ -704,7 +707,7 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
// TODO 缺少res处理
|
|
// TODO 缺少res处理
|
|
|
if (idx != total - 1) {
|
|
if (idx != total - 1) {
|
|
|
- loadingCallBack.invoke(true, "获取工作票分包")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(true, "获取工作票分包", null)
|
|
|
getTicketStatusPart((idx + 1).toByteArray(), total.toByteArray(), byteArrayOf(0x01.toByte()), bleDevice, object : CustomBleWriteCallback() {
|
|
getTicketStatusPart((idx + 1).toByteArray(), total.toByteArray(), byteArrayOf(0x01.toByte()), bleDevice, object : CustomBleWriteCallback() {
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
println("getTicketStatusPart success")
|
|
println("getTicketStatusPart success")
|
|
@@ -715,10 +718,11 @@ object BusinessManager {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
} else {
|
|
} else {
|
|
|
- loadingCallBack.invoke(false, "工作票完成状态读取完成")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "工作票完成状态读取完成", null)
|
|
|
BleUtil.instance?.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
BleUtil.instance?.getBleDeviceByMac(bleDevice.mac)?.let {
|
|
|
println("工作票完成接收 : ${String(it.ticketStatus)}")
|
|
println("工作票完成接收 : ${String(it.ticketStatus)}")
|
|
|
- loadingCallBack.invoke(false, "工作票完成接收${String(it.ticketStatus)}")
|
|
|
|
|
|
|
+ // TD:Ticket Done
|
|
|
|
|
+ loadingCallBack.invoke(false, "TD${String(it.ticketStatus)}", true)
|
|
|
// TODO 清空ticket
|
|
// TODO 清空ticket
|
|
|
it.ticketStatus = byteArrayOf()
|
|
it.ticketStatus = byteArrayOf()
|
|
|
// TODO 根据工作票完成情况,切换为待机模式
|
|
// TODO 根据工作票完成情况,切换为待机模式
|
|
@@ -772,14 +776,14 @@ object BusinessManager {
|
|
|
/**
|
|
/**
|
|
|
* 获取工作票完成情况
|
|
* 获取工作票完成情况
|
|
|
*/
|
|
*/
|
|
|
- private fun getTicketStatus(bleDevice: BleDevice, loadingCallBack: (Boolean, String?) -> Unit) {
|
|
|
|
|
- loadingCallBack.invoke(true, "开始获取工作票")
|
|
|
|
|
|
|
+ private fun getTicketStatus(bleDevice: BleDevice, loadingCallBack: (Boolean, String?, Boolean?) -> Unit) {
|
|
|
|
|
+ loadingCallBack.invoke(true, "开始获取工作票", null)
|
|
|
BleCmdManager.getTicketStatus(bleDevice, object : CustomBleWriteCallback() {
|
|
BleCmdManager.getTicketStatus(bleDevice, object : CustomBleWriteCallback() {
|
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
override fun onWriteSuccess(current: Int, total: Int, justWrite: ByteArray?) {
|
|
|
- loadingCallBack.invoke(false, "工作票获取成功")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "工作票获取成功", null)
|
|
|
println("getTicketStatus success")}
|
|
println("getTicketStatus success")}
|
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
override fun onWriteFailure(exception: BleException?) {
|
|
|
- loadingCallBack.invoke(false, "工作票获取失败")
|
|
|
|
|
|
|
+ loadingCallBack.invoke(false, "工作票获取失败", false)
|
|
|
println("getTicketStatus fail")}
|
|
println("getTicketStatus fail")}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|