|  |  | @ -6,20 +6,18 @@ import android.view.View | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.common.commonlib.db.DBUtils |  |  |  | import com.common.commonlib.db.DBUtils | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.common.commonlib.db.entity.Gas |  |  |  | import com.common.commonlib.db.entity.Gas | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.common.commonlib.db.entity.Video |  |  |  | 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.library.vlc.utils.LogUtils | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.R |  |  |  | import com.yinuo.safetywatcher.R | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.TestUtils |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.databinding.ActivityCloudBinding |  |  |  | import com.yinuo.safetywatcher.databinding.ActivityCloudBinding | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity |  |  |  | import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.watcher.bean.LastTimeResponse |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.watcher.constant.GAS_CLOUD_UPLOAD_SIZE_ONCE |  |  |  | import com.yinuo.safetywatcher.watcher.constant.GAS_CLOUD_UPLOAD_SIZE_ONCE | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.watcher.net.DevicesApi |  |  |  | import com.yinuo.safetywatcher.watcher.net.DevicesApi | 
			
		
	
		
		
			
				
					
					|  |  |  | import com.yinuo.safetywatcher.watcher.net.UploadFileApi |  |  |  | import com.yinuo.safetywatcher.watcher.net.UploadFileApi | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import com.yinuo.safetywatcher.watcher.utils.showToast | 
			
		
	
		
		
			
				
					
					|  |  |  | import kotlinx.coroutines.DelicateCoroutinesApi |  |  |  | import kotlinx.coroutines.DelicateCoroutinesApi | 
			
		
	
		
		
			
				
					
					|  |  |  | import kotlinx.coroutines.GlobalScope |  |  |  | import kotlinx.coroutines.GlobalScope | 
			
		
	
		
		
			
				
					
					|  |  |  | import kotlinx.coroutines.launch |  |  |  | import kotlinx.coroutines.launch | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | import java.util.concurrent.atomic.AtomicBoolean | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | class CloudActivity : NoOptionsActivity() { |  |  |  | class CloudActivity : NoOptionsActivity() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     private val mBinding: ActivityCloudBinding by lazy { |  |  |  |     private val mBinding: ActivityCloudBinding by lazy { | 
			
		
	
	
		
		
			
				
					|  |  | @ -34,7 +32,10 @@ class CloudActivity : NoOptionsActivity() { | 
			
		
	
		
		
			
				
					
					|  |  |  |         DevicesApi() |  |  |  |         DevicesApi() | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun getTopBarTitle(): String? { |  |  |  |     private var uploadingGas = AtomicBoolean(false) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     private var uploadingVideo = AtomicBoolean(false) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     override fun getTopBarTitle(): String { | 
			
		
	
		
		
			
				
					
					|  |  |  |         return getString(R.string.cloud) |  |  |  |         return getString(R.string.cloud) | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -45,14 +46,32 @@ class CloudActivity : NoOptionsActivity() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun initView() { |  |  |  |     override fun initView() { | 
			
		
	
		
		
			
				
					
					|  |  |  |         mBinding.apply { |  |  |  |         mBinding.apply { | 
			
		
	
		
		
			
				
					
					|  |  |  |             syncSensor.setOnClickListener { |  |  |  |             syncSensor.setOnClickListener { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (uploadingGas.get()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     showToast(getString(R.string.repeat_click_sync_tip)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return@setOnClickListener | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 showLoadingDialog() |  |  |  |                 showLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 uploadSensorData() |  |  |  |                 GlobalScope.launch { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     uploadSensorData() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     closeLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             syncVedio.setOnClickListener { |  |  |  |             syncVedio.setOnClickListener { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (uploadingVideo.get()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     showToast(getString(R.string.repeat_click_sync_tip)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return@setOnClickListener | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 showLoadingDialog() |  |  |  |                 showLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 uploadVideo() |  |  |  |                 GlobalScope.launch { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     uploadVideo() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     closeLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |             syncOnce.setOnClickListener { |  |  |  |             syncOnce.setOnClickListener { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 if (uploadingGas.get() && uploadingVideo.get()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     showToast(getString(R.string.repeat_click_sync_tip)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     return@setOnClickListener | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 showLoadingDialog() |  |  |  |                 showLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 uploadOnece() |  |  |  |                 uploadOnece() | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
	
		
		
			
				
					|  |  | @ -60,98 +79,92 @@ class CloudActivity : NoOptionsActivity() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private fun uploadOnece() { |  |  |  |     private fun uploadOnece() { | 
			
		
	
		
		
			
				
					
					|  |  |  |         uploadSensorData() |  |  |  |         GlobalScope.launch { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         uploadVideo() |  |  |  |             uploadSensorData() | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             uploadVideo() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             closeLoadingDialog() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private fun uploadVideo() { |  |  |  |     private suspend fun uploadVideo() { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         // 1.拿到云端最新数据时间 |  |  |  |         if (!uploadingVideo.get()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         devicesApi.getVideoLastTime(object : RequestResultCallBack<LastTimeResponse>() { |  |  |  |             uploadingVideo.set(true) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             override fun onResult(result: LastTimeResponse) { |  |  |  |             // 1.拿到云端最新数据时间 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (result.isOk()) { |  |  |  |             val timeResponse = devicesApi.getVideoLastTime() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     val cloudTime = result.data |  |  |  |             if (timeResponse.isOk()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     // 2. 拿到待上传文件列表 上传 |  |  |  |                 val cloudTime = timeResponse.data | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     getFileListAndUpload(cloudTime) |  |  |  |                 // 2. 拿到待上传文件列表 上传 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  |                 getFileListAndUpload(cloudTime) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     LogUtils.e("getVideoLastTime error code = ${result.code}") |  |  |  |                 LogUtils.v("uploadVideo ok") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |             } else { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                 LogUtils.e("getVideoLastTime error code = ${timeResponse.code}") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             override fun onError(error: String?) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 LogUtils.e(error) |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }) |  |  |  |             uploadingVideo.set(false) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private fun uploadSensorData() { |  |  |  |     private suspend fun uploadSensorData() { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         // 1.拿到云端最新数据时间 |  |  |  |         if (!uploadingGas.get()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         devicesApi.getVideoLastTime(object : RequestResultCallBack<LastTimeResponse>() { |  |  |  |             uploadingGas.set(true) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             override fun onResult(result: LastTimeResponse) { |  |  |  |             // 1.拿到云端最新数据时间 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (result.isOk()) { |  |  |  |             val lastTimeResponse = devicesApi.getDetectionLastTime() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     val cloudTime = result.data |  |  |  |             if (lastTimeResponse.isOk()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     // 2. 查询本地数据库中该时间之后的数据 |  |  |  |                 val cloudTime = lastTimeResponse.data | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     // 3. 上传数据给服务器 |  |  |  |                 // 2. 查询本地数据库中该时间之后的数据 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     getSensorDataUpload(cloudTime) |  |  |  |                 // 3. 上传数据给服务器 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } else { |  |  |  |                 getSensorDataUpload(cloudTime) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     LogUtils.e("getVideoLastTime error code = ${result.code}") |  |  |  |                 LogUtils.v("uploadSensorData ok") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |             } else { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                 LogUtils.e("getVideoLastTime error code = ${lastTimeResponse.code}") | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |             override fun onError(error: String?) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 LogUtils.e(error) |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         }) |  |  |  |             uploadingGas.set(false) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private fun getSensorDataUpload(cloudTime: Long) { |  |  |  |     private suspend fun getSensorDataUpload(cloudTime: Long) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         GlobalScope.launch { |  |  |  |         val gasList = DBUtils.gasDao().getAllBySyncFlagOrTime(false, cloudTime) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             val gasList = DBUtils.gasDao().getAllBySyncFlagOrTime(false, cloudTime) |  |  |  |         val tempList = arrayListOf<Gas>() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             val tempList = arrayListOf<Gas>() |  |  |  |         gasList.forEach { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             gasList.forEach { |  |  |  |             tempList.add(it) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 tempList.add(it) |  |  |  |             if (tempList.size == GAS_CLOUD_UPLOAD_SIZE_ONCE) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 if (tempList.size == GAS_CLOUD_UPLOAD_SIZE_ONCE) { |  |  |  |                 val response = devicesApi.uploadGasData(tempList) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     val cloneList: ArrayList<Gas> = tempList.clone() as ArrayList<Gas> |  |  |  |                 if (response.isOk()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     devicesApi.uploadGasData(cloneList, UploadGasCallback(tempList)) |  |  |  |                     val gasDao = DBUtils.gasDao() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     tempList.clear() |  |  |  |                     tempList.forEach { gas -> | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         gas.syncFlag = true | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         gasDao.update(gas) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |                 tempList.clear() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             if (tempList.isNotEmpty()) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                 devicesApi.uploadGasData(tempList, UploadGasCallback(tempList)) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |         if (tempList.isNotEmpty()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |             val response = devicesApi.uploadGasData(tempList) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     private fun getFileListAndUpload(cloudTime: Long) { |  |  |  |             if (response.isOk()) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         GlobalScope.launch { |  |  |  |                 val gasDao = DBUtils.gasDao() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             val videoDao = DBUtils.videoDao() |  |  |  |                 tempList.forEach { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             val videoList = videoDao.getAllByTime(cloudTime, System.currentTimeMillis()) |  |  |  |                     it.syncFlag = true | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             // 上传 |  |  |  |                     gasDao.update(it) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             videoList.forEach { |  |  |  |                 } | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 uploadFile(it) |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             } |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     private fun uploadFile(video: Video) { |  |  |  |     private suspend fun getFileListAndUpload(cloudTime: Long) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         TestUtils.testUploadFile(uploadApi, video, loadingDialog) |  |  |  |         val videoDao = DBUtils.videoDao() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |         val videoList = videoDao.getAllByTime(cloudTime, System.currentTimeMillis()) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |         // 上传 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     class UploadGasCallback(private val upLoadList: ArrayList<Gas>) : |  |  |  |         videoList.forEach { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         RequestResultCallBack<BaseResponse>() { |  |  |  |             uploadFile(it) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         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?) { |  |  |  |     private suspend fun uploadFile(video: Video) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             LogUtils.e("UploadGasCallback $error") |  |  |  |         val response = uploadApi.singleUpload(video.path, video.time) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (response.isOk()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             val videoDaoImpl = DBUtils.videoDao() | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             video.uploaded = true | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             videoDaoImpl.update(video) | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } |