|
|
|
@ -3,15 +3,18 @@
|
|
|
|
|
package com.yinuo.safetywatcher.watcher.ui
|
|
|
|
|
|
|
|
|
|
import android.view.View
|
|
|
|
|
import com.common.commonlib.db.DBUtils
|
|
|
|
|
import com.common.commonlib.db.entity.Gas
|
|
|
|
|
import com.common.commonlib.db.entity.Video
|
|
|
|
|
import com.common.commonlib.net.bean.BaseResponse
|
|
|
|
|
import com.common.commonlib.net.callback.RequestResultCallBack
|
|
|
|
|
import com.yinuo.library.vlc.utils.LogUtils
|
|
|
|
|
import com.yinuo.safetywatcher.R
|
|
|
|
|
import com.yinuo.safetywatcher.TestUtils
|
|
|
|
|
import com.yinuo.safetywatcher.databinding.ActivityCloudBinding
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
|
|
|
|
|
import com.common.commonlib.db.DBUtils
|
|
|
|
|
import com.common.commonlib.net.callback.RequestResultCallBack
|
|
|
|
|
import com.yinuo.library.vlc.utils.LogUtils
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.bean.GasReqBean
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.bean.LastTimeResponse
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.constant.GAS_CLOUD_UPLOAD_SIZE_ONCE
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.net.DevicesApi
|
|
|
|
|
import com.yinuo.safetywatcher.watcher.net.UploadFileApi
|
|
|
|
|
import kotlinx.coroutines.DelicateCoroutinesApi
|
|
|
|
@ -103,18 +106,17 @@ class CloudActivity : NoOptionsActivity() {
|
|
|
|
|
private fun getSensorDataUpload(cloudTime: Long) {
|
|
|
|
|
GlobalScope.launch {
|
|
|
|
|
val gasList = DBUtils.gasDao().getAllBySyncFlagOrTime(false, cloudTime)
|
|
|
|
|
val tempList = arrayListOf<GasReqBean>()
|
|
|
|
|
val tempList = arrayListOf<Gas>()
|
|
|
|
|
gasList.forEach {
|
|
|
|
|
tempList.add(GasReqBean(it))
|
|
|
|
|
if (tempList.size == 10) {
|
|
|
|
|
val upLoadList = arrayListOf<GasReqBean>()
|
|
|
|
|
upLoadList.addAll(tempList)
|
|
|
|
|
tempList.add(it)
|
|
|
|
|
if (tempList.size == GAS_CLOUD_UPLOAD_SIZE_ONCE) {
|
|
|
|
|
val cloneList: ArrayList<Gas> = tempList.clone() as ArrayList<Gas>
|
|
|
|
|
devicesApi.uploadGasData(cloneList, UploadGasCallback(tempList))
|
|
|
|
|
tempList.clear()
|
|
|
|
|
devicesApi.uploadGasData(upLoadList)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (tempList.isNotEmpty()) {
|
|
|
|
|
devicesApi.uploadGasData(tempList)
|
|
|
|
|
devicesApi.uploadGasData(tempList, UploadGasCallback(tempList))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -124,13 +126,32 @@ class CloudActivity : NoOptionsActivity() {
|
|
|
|
|
val videoDao = DBUtils.videoDao()
|
|
|
|
|
val videoList = videoDao.getAllByTime(cloudTime, System.currentTimeMillis())
|
|
|
|
|
// 上传
|
|
|
|
|
videoList?.forEach {
|
|
|
|
|
uploadFile(it.path)
|
|
|
|
|
videoList.forEach {
|
|
|
|
|
uploadFile(it)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun uploadFile(video: Video) {
|
|
|
|
|
TestUtils.testUploadFile(uploadApi, video, loadingDialog)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun uploadFile(path: String) {
|
|
|
|
|
TestUtils.testUploadFile(uploadApi, path, loadingDialog)
|
|
|
|
|
class UploadGasCallback(private val upLoadList: ArrayList<Gas>) :
|
|
|
|
|
RequestResultCallBack<BaseResponse>() {
|
|
|
|
|
override fun onResult(result: BaseResponse) {
|
|
|
|
|
GlobalScope.launch {
|
|
|
|
|
if (result.isOk()) {
|
|
|
|
|
val gasDao = DBUtils.gasDao()
|
|
|
|
|
upLoadList.forEach {
|
|
|
|
|
it.syncFlag = true
|
|
|
|
|
gasDao.update(it)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onError(error: String?) {
|
|
|
|
|
LogUtils.e("UploadGasCallback $error")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|