|  |  |  | @ -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") | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | } |