Commit cc1d3bee authored by wanglei's avatar wanglei

...

parent bdee4010
......@@ -2,12 +2,10 @@ package com.base.browserwhite.ui.activity.download
import android.content.Intent
import android.graphics.Color
import android.os.Environment
import androidx.activity.addCallback
import androidx.core.content.FileProvider
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import com.base.browserwhite.R
import com.base.browserwhite.bean.DownloadBean
import com.base.browserwhite.databinding.ActivityWebDownloadManagerBinding
import com.base.browserwhite.ui.activity.BaseActivity
......@@ -22,6 +20,7 @@ import com.base.browserwhite.utils.IntentEx.shareAction
import com.base.browserwhite.utils.KotlinExt.toFormatTime
import com.base.browserwhite.utils.PermissionHelp.checkStorePermission
import com.base.browserwhite.utils.PermissionHelp.requestStorePermission
import com.google.gson.Gson
import java.io.File
class WebDownloadManagerActivity : BaseActivity<ActivityWebDownloadManagerBinding>() {
......@@ -43,8 +42,18 @@ class WebDownloadManagerActivity : BaseActivity<ActivityWebDownloadManagerBindin
showMediaMoreDialog(archView,
deleteAction = {
showDeleteTipDialog {
runCatching { File(item.path).delete() }
runCatching {
File(item.path).delete()
saveDeleteJson(item)
}
adapter.remove(item)
val list = adapter.items.filter { !it.isTime && it.time == item.time }
if (list.isEmpty()) {
adapter.items.filter { it.isTime && it.time == item.time }.forEach { timeBean ->
adapter.remove(timeBean)
}
binding.llEmpty.isVisible = adapter.items.isEmpty()
}
}
},
shareAction = {
......@@ -65,6 +74,14 @@ class WebDownloadManagerActivity : BaseActivity<ActivityWebDownloadManagerBindin
}
}
private fun saveDeleteJson(item: DownloadBean) {
val recordFile = getDownloadJson()
val list = getDownloadJsonBean(recordFile).toMutableList()
list.removeIf { it.path == item.path }
val json = Gson().toJson(list)
recordFile.writeText(json)
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
......@@ -89,14 +106,13 @@ class WebDownloadManagerActivity : BaseActivity<ActivityWebDownloadManagerBindin
val beanList = arrayListOf<DownloadBean>()
val timeList = arrayListOf<String>()
list.forEach { old ->
list.sortedBy { it.time }.forEach { old ->
val time = old.time.toFormatTime()
if (!timeList.contains(time)) {
timeList.add(time)
beanList.add(DownloadBean(time = old.time).apply { isTime = true })
} else {
beanList.add(old)
}
beanList.add(old.apply { uiType = 1 })
}
adapter.submitList(beanList)
}
......
......@@ -103,7 +103,11 @@ class WebViewFragment : BaseFragment<FragmentWebViewBinding>() {
val recordFile = requireContext().getDownloadJson()
val list = downloadList
list.filter { it.status != FileDownloadStatus.completed }.forEach { it.time = System.currentTimeMillis() }
list.filter {
it.status == FileDownloadStatus.completed ||
it.status == FileDownloadStatus.progress ||
it.status == FileDownloadStatus.paused
}.forEach { it.time = System.currentTimeMillis() }
val olderList = getDownloadJsonBean(recordFile, downloadBeanGson).filter { !list.contains(it) }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment