Commit cb118fa1 authored by wanglei's avatar wanglei

...

parent 14c9bf84
......@@ -147,13 +147,6 @@
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.recovery.FileScanActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION"
android:value="true" />
......
......@@ -28,6 +28,7 @@ import com.base.datarecovery.utils.TimeUtils.isWithinSixMonths
import com.base.datarecovery.utils.TimeUtils.isWithinTwentyFourMonths
import com.base.datarecovery.view.DialogViews.showRecoveringDialog
import com.google.gson.Gson
import com.ironsource.li
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.io.File
......@@ -39,7 +40,6 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
ActivityFileRecoveryBinding.inflate(layoutInflater)
}
private var folderBean: FolderBean? = null
private lateinit var adapter: FileTimeColumnsAdapter
private lateinit var filterAdapter: RecoveryFilterAdapter
......@@ -70,22 +70,10 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
scanType = intent.extras?.getInt("ScanType") ?: 0
val json = intent.extras?.getString("Data") ?: ""
folderBean = Gson().fromJson(json, FolderBean::class.java)
when (scanType) {
SCAN_PHOTOS -> {
var size = 0
folderBean?.recoveryList?.forEach {
runCatching {
val bitmap = BitmapFactory.decodeFile(it.path)
if (bitmap.height < 256 || bitmap.width < 256) {
size++
it.isThumbnails = true
}
}
}
binding.tvThumbnails.text = "Hide thumbnails (${size})"
setThumbnails()
}
SCAN_DOCUMENTS -> {
......@@ -110,11 +98,29 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
filterDismiss(bean)
}
binding.rvFilter.adapter = filterAdapter
initData()
}
@SuppressLint("SetTextI18n")
private fun setThumbnails() = lifecycleScope.launch(Dispatchers.IO) {
var size = 0
folderBean?.recoveryList?.forEach {
runCatching {
val bitmap = BitmapFactory.decodeFile(it.path)
if (bitmap.height < 256 || bitmap.width < 256) {
size++
it.isThumbnails = true
}
}
}
launch(Dispatchers.Main) {
binding.tvThumbnails.text = "Hide thumbnails (${size})"
}
}
override fun onResume() {
super.onResume()
initData()
}
override fun initListener() {
......@@ -165,6 +171,7 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
showRecoveringDialog(lifecycleScope, list, dir, copyProgressAction = {
}, finish = {
adapter.toggleAllSelect(false)
startActivity(Intent(this, FileRecoveredActivity::class.java).apply {
putExtra("Number", list.size)
putExtra("ScanType", scanType)
......@@ -285,4 +292,11 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
}
}
companion object {
var folderBean: FolderBean? = FolderBean()
}
override fun onDestroy() {
super.onDestroy()
}
}
\ No newline at end of file
package com.base.datarecovery.activity.recovery
import android.annotation.SuppressLint
import android.graphics.Color
import androidx.activity.addCallback
import com.base.datarecovery.R
import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS
import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS
import com.base.datarecovery.databinding.ActivityFileScanBinding
import com.base.datarecovery.help.BaseActivity
import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.view.DialogViews.showExitFunctionDialog
/**
* 文件扫描,遍历文件夹的方式进行
*/
class FileScanActivity : BaseActivity<ActivityFileScanBinding>() {
private val TAG = "FileScanActivity"
private var scanOnce: Boolean = false
private var scanType = 0
override val binding: ActivityFileScanBinding by lazy {
ActivityFileScanBinding.inflate(layoutInflater)
}
@SuppressLint("SetTextI18n")
override fun initView() {
BarUtils.setStatusBarLightMode(this, false)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
scanType = intent.extras?.getInt("Type") ?: 0
when (scanType) {
SCAN_PHOTOS -> {
binding.tvTittle.text = "Photos Recovery"
binding.ivIcon.setImageResource(R.mipmap.tu_photos_scan)
}
SCAN_DOCUMENTS -> {
binding.tvTittle.text = "Documents Recovery"
binding.ivIcon.setImageResource(R.mipmap.tu_documents_scan)
}
SCAN_VIDEOS -> {
binding.tvTittle.text = "Videos Recovery"
binding.ivIcon.setImageResource(R.mipmap.tu_videos_scan)
}
}
}
override fun initListener() {
onBackPressedDispatcher.addCallback {
showExitFunctionDialog {
if (it) {
AdmobMaxHelper.admobMaxShowInterstitialAd(this@FileScanActivity) {
finishToMain()
}
} else {
finishToMain()
}
}
}
binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
}
private fun requestPermission() {
}
}
\ No newline at end of file
......@@ -73,9 +73,10 @@ class FileScanResultActivity : BaseActivity<ActivityFileScanResultBinding>() {
}
}
fileFolderAdapter = FileFolderAdapter(scanType) { folderBean ->
FileRecoveryActivity.folderBean = null
FileRecoveryActivity.folderBean = folderBean
startActivity(Intent(this, FileRecoveryActivity::class.java).apply {
putExtra("ScanType", scanType)
putExtra("Data", Gson().toJson(folderBean))
})
}
binding.rv.adapter = fileFolderAdapter
......
......@@ -8,7 +8,6 @@ import android.app.PendingIntent
import android.app.Service
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.Icon
import android.os.Build
......@@ -19,12 +18,10 @@ import androidx.core.graphics.drawable.IconCompat
import com.base.datarecovery.R
import com.base.datarecovery.activity.MainActivity
import com.base.datarecovery.activity.junkclean.ScanJunkActivity
import com.base.datarecovery.activity.recovery.FileScanActivity
import com.base.datarecovery.activity.recovery.FileScanResultActivity
import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS
import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS
import com.base.datarecovery.utils.LogEx
import kotlin.random.Random
......
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