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