Commit b35fdad3 authored by wanglei's avatar wanglei

...

parent 98e2c70e
package com.base.filerecoveryrecyclebin.activity package com.base.filerecoveryrecyclebin.activity
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Intent import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.graphics.Typeface import android.graphics.Typeface
import android.view.View import android.view.View
import android.widget.Toast
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.isVisible
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatActivity import com.base.filerecoveryrecyclebin.activity.repeat.RepeatActivity
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatActivity.Companion.similarPhotoDeleted
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotActivity.Companion.screenPhotoDeleted
import com.base.filerecoveryrecyclebin.ads.admob.AdmobBannerUtils import com.base.filerecoveryrecyclebin.ads.admob.AdmobBannerUtils
import com.base.filerecoveryrecyclebin.bean.MediaBean import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.databinding.ActivityMainBinding import com.base.filerecoveryrecyclebin.databinding.ActivityMainBinding
...@@ -37,6 +35,7 @@ import kotlinx.coroutines.Dispatchers ...@@ -37,6 +35,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.last
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.io.File import java.io.File
import java.util.Locale import java.util.Locale
...@@ -120,8 +119,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -120,8 +119,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
logger.logEvent("home") logger.logEvent("home")
AppPreferences.getInstance().put("fb_home", 1) AppPreferences.getInstance().put("fb_home", 1)
} }
} }
private fun initStayServiceObserver() { private fun initStayServiceObserver() {
...@@ -179,9 +176,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -179,9 +176,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
if (checkStorePermission()) { if (checkStorePermission()) {
initStayServiceObserver() initStayServiceObserver()
if (photoSizejob == null) { initPhotoSize()
photoSizejob = initPhotoSize()
}
} }
lifecycleScope.launch(Dispatchers.Main) { lifecycleScope.launch(Dispatchers.Main) {
...@@ -190,27 +185,35 @@ class MainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -190,27 +185,35 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
} }
} }
var photoSizejob: Job? = null private var initPhotoSizeFirst = true
private fun initPhotoSize() = lifecycleScope.launch(Dispatchers.IO) { private fun initPhotoSize() = lifecycleScope.launch(Dispatchers.IO) {
LogEx.logDebug(TAG, "initPhotoSize") LogEx.logDebug(TAG, "initPhotoSize")
val list = arrayListOf<MediaBean>() val list = arrayListOf<MediaBean>()
getImageMedia(list) getImageMedia(list)
val screenSize =
list.filter { it.path.lowercase(Locale.ENGLISH).contains("screenshot") }.map { File(it.path) }.sumOf { it.length() }
val similarPhoto = calculateSimilar(list) var screenSize = 0L
RepeatActivity.readySimilarList = similarPhoto if (screenPhotoDeleted || initPhotoSizeFirst) {
screenSize =
val similar = similarPhoto.flatMap { it.value }.map { File(it.path) }.sumOf { it.length() } list.filter { it.path.lowercase(Locale.ENGLISH).contains("screenshot") }.map { File(it.path) }.sumOf { it.length() }
screenPhotoDeleted = false
delay(1500)
photoSizeFlow.emit(Pair(screenSize, 0L))
}
LogEx.logDebug(TAG, "screenSize=$screenSize") var similar = 0L
if (similarPhotoDeleted || initPhotoSizeFirst) {
val similarPhoto = calculateSimilar(list)
RepeatActivity.readySimilarList = similarPhoto
similar = similarPhoto.flatMap { it.value }.map { File(it.path) }.sumOf { it.length() }
similarPhotoDeleted = false
delay(1500)
photoSizeFlow.emit(Pair(screenSize, similar))
}
delay(1500) initPhotoSizeFirst = false
photoSizeFlow.emit(Pair(screenSize, similar))
photoSizejob = null
} }
} }
\ No newline at end of file
...@@ -119,6 +119,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() { ...@@ -119,6 +119,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() {
private fun cleanFile() { private fun cleanFile() {
similarPhotoDeleted = true
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch(Dispatchers.IO) {
val cleanList = mediaAdapter.getSelectData().second val cleanList = mediaAdapter.getSelectData().second
cleanList.forEach { cleanList.forEach {
...@@ -181,6 +182,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() { ...@@ -181,6 +182,7 @@ class RepeatActivity : BaseActivity<ActivityRepeatBinding>() {
companion object { companion object {
var readySimilarList: HashMap<String, ArrayList<MediaBean>>? = null var readySimilarList: HashMap<String, ArrayList<MediaBean>>? = null
var similarPhotoDeleted: Boolean = false
} }
} }
\ No newline at end of file
...@@ -70,7 +70,6 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() { ...@@ -70,7 +70,6 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
private fun setCleanUpUi(size: Int) { private fun setCleanUpUi(size: Int) {
if (size > 0) { if (size > 0) {
binding.tvClean.isEnabled = true binding.tvClean.isEnabled = true
...@@ -141,6 +140,7 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() { ...@@ -141,6 +140,7 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
private fun cleanFile() { private fun cleanFile() {
screenPhotoDeleted = true
val files = screenShotAdapter.getSelectData() val files = screenShotAdapter.getSelectData()
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch(Dispatchers.IO) {
async { async {
...@@ -195,4 +195,9 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() { ...@@ -195,4 +195,9 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
return beans return beans
} }
companion object {
var screenPhotoDeleted: Boolean = false
}
} }
\ No newline at end of file
...@@ -60,7 +60,7 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() { ...@@ -60,7 +60,7 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
binding.tvDuplicateSize.visibility = View.VISIBLE binding.tvDuplicateSize.visibility = View.VISIBLE
binding.tvDuplicateSize.text = pair.second.toFormatSize() binding.tvDuplicateSize.text = pair.second.toFormatSize()
} else { } else {
binding.tvDuplicateSize.visibility = View.VISIBLE binding.tvDuplicateSize.visibility = View.GONE
} }
} }
} }
......
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