Commit 58312eb6 authored by wanglei's avatar wanglei

Merge branch 'master' of gitlab.huolea.com:koko/file-recovery-recyclebin

parents f6529464 2996d0bb
......@@ -3,13 +3,11 @@ package com.base.filerecoveryrecyclebin.activity.recyclebin
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import android.net.Uri
import android.os.Build
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.activity.addCallback
import androidx.annotation.RequiresApi
import androidx.core.content.FileProvider
import androidx.core.view.updatePadding
import com.base.filerecoveryrecyclebin.activity.ResultActivity
import com.base.filerecoveryrecyclebin.activity.recyclebin.RecycleBinFileEx.findRecycleBinFile
......@@ -35,6 +33,16 @@ class RecycleBinDetailActivity : BaseActivity<ActivityRecycleBinDetailBinding>()
ActivityRecycleBinDetailBinding.inflate(layoutInflater)
}
private var recycleBinBean: RecycleBinBean? = null
val mImageStr: Set<String> = HashSet(
mutableListOf(
".jpg", ".jpeg", ".png", ".gif", ".bmp"
)
)
val mVideoStr: Set<String> = HashSet(
mutableListOf(
".mp4", ".avi", ".mov", ".mkv"
)
)
@SuppressLint("SetTextI18n")
@RequiresApi(Build.VERSION_CODES.Q)
......@@ -48,24 +56,17 @@ class RecycleBinDetailActivity : BaseActivity<ActivityRecycleBinDetailBinding>()
LogEx.logDebug(TAG, "json=$json")
recycleBinBean = Gson().fromJson(json, RecycleBinBean::class.java)
recycleBinBean?.let { bean ->
if (bean.mimeType.contains("image/")) {
if (mImageStr.contains("."+bean.mimeType)) {
binding.ivBofang.visibility = View.GONE
}
if (bean.mimeType.contains("video/")) {
if (mVideoStr.contains("."+bean.mimeType)) {
binding.ivBofang.visibility = View.VISIBLE
}
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name)
val binJsonFile = findRecycleBinJsonFile(file.name)
if (binFile != null && binJsonFile != null) {
Glide.with(this).load(binFile.absoluteFile).centerCrop().into(binding.iv)
binding.tvName.text = bean.path
binding.tvSize.text = bean.size.toFormatSize()
binding.tvTime.text = "Delete time:${bean.deleteTime.toFormatTime()}"
}
Glide.with(this).load(bean.backupPath).centerCrop().into(binding.iv)
binding.tvName.text = bean.path
binding.tvSize.text = bean.size.toFormatSize()
binding.tvTime.text = "Delete time:${bean.deleteTime.toFormatTime()}"
}
}
......
......@@ -46,10 +46,12 @@ class RecycleBinAdapter(val click: (bean: RecycleBinBean) -> Unit) : RecyclerVie
override fun onBindViewHolder(holder: RBAV, position: Int) {
val binding = ItemRecyclebinFileBinding.bind(holder.itemView)
val bean = beanList[position]
val file = File(bean.path)
val binFile = findRecycleBinFile(file.name)
val file = File(bean.backupPath)
val context = holder.itemView.context
Glide.with(context).load(binFile?.absoluteFile).listener(object : RequestListener<Drawable> {
LogEx.logDebug("glc","bean.backupPath "+bean.backupPath)
LogEx.logDebug("glc","bean.absoluteFile "+bean.backupPath)
Glide.with(context).load(file?.absoluteFile).listener(object : RequestListener<Drawable> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>, isFirstResource: Boolean): Boolean {
LogEx.logDebug(TAG, "Failed to load image: $model")
return false
......@@ -66,7 +68,7 @@ class RecycleBinAdapter(val click: (bean: RecycleBinBean) -> Unit) : RecyclerVie
return false
}
}).centerCrop().into(binding.iv)
binding.tvName.text = file.name
binding.tvName.text = bean.name
binding.tvTime.text = "delete time:" + bean.deleteTime.toFormatTime()
binding.tvSize.text = bean.size.toFormatSize()
binding.root.setOnClickListener {
......
package com.base.filerecoveryrecyclebin.bean
import android.net.Uri
data class RecycleBinBean(
val name: String = "",
val path: String = "",
val backupPath: String = "",
var deleteTime: Long = 0,
......
......@@ -37,20 +37,6 @@ class RecycleBinFragment : BaseFragment<FragmentRecycleBinBinding>() {
@RequiresApi(Build.VERSION_CODES.Q)
override fun setView() {
// handler = Handler(requireActivity().mainLooper) { message ->
// if (message.what == 99) {
//// LogEx.logDebug(TAG, "媒体库更新了")
// initData()
// }
// if (message.what == 100) {
//// LogEx.logDebug(TAG, "回收站数据更新了")
// initData()
// }
// true
// }
// StayNotificationService.mainHandler = handler
recycleBinAdapter = RecycleBinAdapter { bean ->
startActivity(Intent(requireContext(), RecycleBinDetailActivity::class.java).apply {
putExtra("Json", Gson().toJson(bean))
......
......@@ -28,9 +28,9 @@ object BackUpUtils {
return
}
try {
val recycleBinFile = File(getRecycleBinDir(), ".\$name")
val recycleBinFile = File(getRecycleBinDir(), ".$path")
src.copyTo(recycleBinFile, true)
val binBean = RecycleBinBean(src.path, recycleBinFile.path,0, src.length(), getFileExtension(src), false)
val binBean = RecycleBinBean(path,src.path, recycleBinFile.absolutePath,0, src.length(), getFileExtension(src), false)
saveData(binBean, path)
} catch (e: Exception) {
......
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