|
|
@@ -369,7 +369,7 @@ object BusinessManager {
|
|
|
/**
|
|
|
* 连接监听反注册
|
|
|
*/
|
|
|
- fun unregisterConnectListener(mac: String, bleBean: BleBean?) {
|
|
|
+ fun unregisterConnectListener(mac: String, bleBean: BleBean? = null) {
|
|
|
if (notConnectedList.contains(mac)) {
|
|
|
notConnectedList.remove(mac)
|
|
|
connectListeners.find { it.mac == mac }?.let {
|
|
|
@@ -426,7 +426,7 @@ object BusinessManager {
|
|
|
* @param loadingCallBack 是否显示loading、loading文字、流程是否结束
|
|
|
* @param prepareDoneCallBack 蓝牙连接是否成功、蓝牙连接对象
|
|
|
*/
|
|
|
- fun prepareBle(
|
|
|
+ private fun prepareBle(
|
|
|
mac: String,
|
|
|
activity: AppCompatActivity,
|
|
|
loadingCallBack: ((Boolean, String?, Boolean?) -> Unit)?,
|
|
|
@@ -514,11 +514,14 @@ object BusinessManager {
|
|
|
getBleDeviceByMac(device?.mac)?.let {
|
|
|
deviceList.remove(it)
|
|
|
}
|
|
|
+ bleDevice.mac?.let { itMac ->
|
|
|
+ unregisterConnectListener(itMac)
|
|
|
+ }
|
|
|
// TODO 待定
|
|
|
if (!isActiveDisConnected) {
|
|
|
// TODO 断开和重连之间最好间隔一段时间,否则可能会出现长时间连接不上的情况
|
|
|
- Executor.delayOnMain(200) {
|
|
|
- prepareBle(bleDevice.mac, ActivityUtils.currentActivity() as BaseActivity<*>, loadingCallBack, prepareDoneCallBack)
|
|
|
+ Executor.delayOnMain(300) {
|
|
|
+ registerConnectListener(bleDevice.mac)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -629,15 +632,9 @@ object BusinessManager {
|
|
|
* 读取工作票完成情况
|
|
|
*/
|
|
|
fun getTicketStatusBusiness(mac: String, activity: AppCompatActivity, loadingCallBack: ((Boolean, String?, Boolean?) -> Unit)?) {
|
|
|
- prepareBle(mac, activity, loadingCallBack) { done, bleBean ->
|
|
|
- if (done) {
|
|
|
+ registerConnectListener(mac) { isDone, bleBean ->
|
|
|
+ if (isDone) {
|
|
|
Executor.delayOnMain(500) {
|
|
|
- // TODO 蓝牙准备操作
|
|
|
-// val bleBean = getBleDeviceByMac(mac)
|
|
|
-// if (bleBean == null) {
|
|
|
-// ToastUtils.tip(R.string.simple_key_is_not_connected)
|
|
|
-// return@delayOnMain
|
|
|
-// }
|
|
|
getTicketStatus(bleBean!!.bleDevice, loadingCallBack)
|
|
|
}
|
|
|
} else {
|