|
|
@@ -7,6 +7,7 @@ import com.google.gson.Gson
|
|
|
import com.google.gson.reflect.TypeToken
|
|
|
import com.grkj.iscs_mars.BusinessManager
|
|
|
import com.grkj.iscs_mars.MyApplication
|
|
|
+import com.grkj.iscs_mars.R
|
|
|
import com.grkj.iscs_mars.ble.BleConnectionManager
|
|
|
import com.grkj.iscs_mars.ble.BleSendDispatcher
|
|
|
import com.grkj.iscs_mars.modbus.DockBean
|
|
|
@@ -14,8 +15,10 @@ import com.grkj.iscs_mars.modbus.ModBusController
|
|
|
import com.grkj.iscs_mars.model.DeviceConst
|
|
|
import com.grkj.iscs_mars.model.bo.DockStatusBO
|
|
|
import com.grkj.iscs_mars.model.bo.LoginUserBO
|
|
|
+import com.grkj.iscs_mars.util.CommonUtils
|
|
|
import com.grkj.iscs_mars.util.NetApi
|
|
|
import com.grkj.iscs_mars.util.SPUtils
|
|
|
+import com.grkj.iscs_mars.util.ToastUtils
|
|
|
import com.grkj.iscs_mars.util.log.LogUtil
|
|
|
import com.grkj.iscs_mars.view.base.BaseViewModel
|
|
|
import com.grkj.iscs_mars.view.fragment.DockTestFragment
|
|
|
@@ -34,6 +37,7 @@ class DeviceRegistrationKeyAndLockViewModel : BaseViewModel() {
|
|
|
var isDestroy: Boolean = false
|
|
|
var newHardwareKeySize: Int = 0
|
|
|
var newHardwareLockSize: Int = 0
|
|
|
+ private var isInputting: Boolean = false
|
|
|
private val newHardwareKeyBean: MutableMap<Byte, MutableList<DockBean.KeyBean>> = mutableMapOf()
|
|
|
private val alreadyUsedMac: MutableList<String> = mutableListOf()
|
|
|
|
|
|
@@ -241,6 +245,11 @@ class DeviceRegistrationKeyAndLockViewModel : BaseViewModel() {
|
|
|
*/
|
|
|
fun deviceInputData(dockData: MutableList<DockStatusBO>): LiveData<Triple<Boolean, Int, Int>> {
|
|
|
return liveData(Dispatchers.IO) {
|
|
|
+ if (isInputting) {
|
|
|
+ ToastUtils.tip(CommonUtils.getStr(R.string.device_inputting))
|
|
|
+ return@liveData
|
|
|
+ }
|
|
|
+ isInputting = true
|
|
|
val dockList = dockData.map { it.dockList }.flatten()
|
|
|
val deviceList =
|
|
|
ModBusController.dockList.filter { it.addr in dockList.map { it.address } }
|
|
|
@@ -263,6 +272,7 @@ class DeviceRegistrationKeyAndLockViewModel : BaseViewModel() {
|
|
|
keyDevice.newHardware = false
|
|
|
}
|
|
|
}
|
|
|
+ isInputting = false
|
|
|
emit(
|
|
|
Triple(
|
|
|
true,
|