diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt index 9aa5c3b..3d7312c 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/ParseHelper.kt @@ -29,7 +29,8 @@ object ParseHelper { private val mPortRunnable = hashMapOf() private val mHandler = Handler(Looper.getMainLooper()) - private val tempGasData = mutableListOf() + private val tempGasReqData = mutableListOf() + private val tempGasData = mutableListOf() private val devicesApi by lazy { DevicesApi() } @@ -245,9 +246,18 @@ object ParseHelper { private suspend fun uploadGasData(gas: Gas) { try { // 上传实时气体数据 - tempGasData.add(GasReqBean(gas)) - if (tempGasData.size > GAS_CLOUD_UPLOAD_SIZE_ONCE) { - devicesApi.uploadGasData(tempGasData) + tempGasData.add(gas) + tempGasReqData.add(GasReqBean(gas)) + if (tempGasReqData.size > GAS_CLOUD_UPLOAD_SIZE_ONCE) { + val uploadGasData = devicesApi.uploadGasData(tempGasReqData) + if (uploadGasData?.isOk() == true) { + val gasDao = DBUtils.gasDao() + tempGasData.forEach { item -> + item.syncFlag = true + gasDao.update(item) + } + } + tempGasReqData.clear() tempGasData.clear() } } catch (e: Exception) { diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 9162788..159f2a0 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -11,9 +11,10 @@