merge code
This commit is contained in:
parent
6c29e7f6c7
commit
884ec8a583
@ -89,8 +89,15 @@ class TaskListFragment : BaseFragment() {
|
||||
deleteItem.background = requireContext().getDrawable(R.color.red)
|
||||
deleteItem.setTextColor(requireContext().resources.getColor(R.color.white))
|
||||
rightMenu.addMenuItem(deleteItem)
|
||||
}
|
||||
|
||||
val resetDownLoad = SwipeMenuItem(context)
|
||||
resetDownLoad.height = Util.convertDpToPx(requireContext(), 60)
|
||||
resetDownLoad.width = Util.convertDpToPx(requireContext(), 80)
|
||||
resetDownLoad.text = "重新下载"
|
||||
resetDownLoad.background = requireContext().getDrawable(R.color.btn_bg_blue)
|
||||
resetDownLoad.setTextColor(requireContext().resources.getColor(R.color.white))
|
||||
rightMenu.addMenuItem(resetDownLoad)
|
||||
}
|
||||
|
||||
val layoutManager = LinearLayoutManager(context)
|
||||
//// 设置 RecyclerView 的固定大小,避免在滚动时重新计算视图大小和布局,提高性能
|
||||
@ -104,11 +111,15 @@ class TaskListFragment : BaseFragment() {
|
||||
binding.taskListRecyclerview.setOnItemMenuClickListener { menuBridge, position ->
|
||||
menuBridge.closeMenu()
|
||||
val taskBean = adapter.data[position]
|
||||
if (taskBean.syncStatus != FileManager.Companion.FileUploadStatus.DONE) {
|
||||
Toast.makeText(context, "数据未上传,不允许关闭!", Toast.LENGTH_SHORT)
|
||||
.show()
|
||||
} else {
|
||||
viewModel.removeTask(requireContext(), taskBean)
|
||||
if(menuBridge.position==0){
|
||||
if (taskBean.syncStatus != FileManager.Companion.FileUploadStatus.DONE) {
|
||||
Toast.makeText(context, "数据未上传,不允许关闭!", Toast.LENGTH_SHORT)
|
||||
.show()
|
||||
} else {
|
||||
viewModel.removeTask(requireContext(), taskBean)
|
||||
}
|
||||
}else{
|
||||
viewModel.resetDownload(requireContext(), taskBean)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -410,6 +410,62 @@ class TaskViewModel @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新下载数据任务
|
||||
*/
|
||||
fun resetDownload(context: Context, taskBean: TaskBean){
|
||||
val mDialog = FirstDialog(context)
|
||||
mDialog.setTitle("提示?")
|
||||
mDialog.setMessage("是否重置下载状态,请确认!")
|
||||
mDialog.setPositiveButton(
|
||||
"确定"
|
||||
) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
//删除已下载的数据
|
||||
val fileTemp = File("${Constant.DOWNLOAD_PATH}${taskBean.evaluationTaskName}_${taskBean.dataVersion}.zip")
|
||||
if(fileTemp.exists()){
|
||||
fileTemp.deleteOnExit()
|
||||
}
|
||||
val taskFileTemp = File(Constant.USER_DATA_PATH + "/${taskBean.id}")
|
||||
//重命名
|
||||
if(taskFileTemp.exists()){
|
||||
taskFileTemp.renameTo(File(Constant.USER_DATA_PATH + "/${taskBean.id}-back-${DateTimeUtil.getNowDate().time}"))
|
||||
}
|
||||
//将下载状态修改已下载
|
||||
val realm = realmOperateHelper.getRealmDefaultInstance()
|
||||
taskBean.syncStatus = FileManager.Companion.FileUploadStatus.NONE
|
||||
taskBean.status = FileManager.Companion.FileDownloadStatus.NONE
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(taskBean)
|
||||
}
|
||||
val nowTime: Long = DateTimeUtil.getNowDate().time
|
||||
val beginNowTime: Long = nowTime - 90 * 3600 * 24 * 1000L
|
||||
val syncUpload: Int = FileManager.Companion.FileUploadStatus.DONE
|
||||
val objects =
|
||||
realm.where(TaskBean::class.java).notEqualTo("syncStatus", syncUpload).or()
|
||||
.between("operationTime", beginNowTime, nowTime)
|
||||
.equalTo("syncStatus", syncUpload).findAll()
|
||||
val taskList = realm.copyFromRealm(objects)
|
||||
for (item in taskList) {
|
||||
FileManager.checkOMDBFileInfo(item)
|
||||
}
|
||||
liveDataTaskList.postValue(taskList)
|
||||
realm.close()
|
||||
withContext(Dispatchers.Main) {
|
||||
setSelectTaskBean(taskBean)
|
||||
}
|
||||
}
|
||||
}
|
||||
mDialog.setNegativeButton(
|
||||
"取消"
|
||||
) { _, _ ->
|
||||
liveDataCloseTask.postValue(false)
|
||||
mDialog.dismiss()
|
||||
}
|
||||
mDialog.show()
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭任务
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user