Commit 6f711405 authored by wanglei's avatar wanglei

...

parent 6fb14be5
......@@ -10,6 +10,7 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_AUDIOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_DOCUMENTS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import com.base.filerecoveryrecyclebin.bean.FolderBean
import com.base.filerecoveryrecyclebin.databinding.ActivityFileRecoveredBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.utils.BarUtils
......@@ -66,4 +67,5 @@ class FileRecoveredActivity : BaseActivity<ActivityFileRecoveredBinding>() {
}
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.base.filerecoveryrecyclebin.activity.recovery
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.Color
import android.os.Environment
......@@ -29,6 +30,8 @@ import com.base.filerecoveryrecyclebin.utils.TimeUtils.isWithinSixMonths
import com.base.filerecoveryrecyclebin.utils.TimeUtils.isWithinTwentyFourMonths
import com.base.filerecoveryrecyclebin.view.DialogViews.showRecoveringDialog
import com.google.gson.Gson
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import java.io.File
class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
......@@ -38,7 +41,6 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
ActivityFileRecoveryBinding.inflate(layoutInflater)
}
private var folderBean: FolderBean? = null
private lateinit var adapter: FileTimeColumnsAdapter
private lateinit var filterAdapter: RecoveryFilterAdapter
......@@ -69,22 +71,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 -> {
......@@ -114,11 +104,32 @@ 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 { bean ->
runCatching {
val bitmap: Bitmap? = BitmapFactory.decodeFile(bean.path)
bitmap?.let {
if (it.height < 256 || it.width < 256) {
size++
bean.isThumbnails = true
}
}
}
}
launch(Dispatchers.Main) {
binding.tvThumbnails.text = "Hide thumbnails (${size})"
}
}
override fun onResume() {
super.onResume()
initData()
}
override fun initListener() {
......@@ -288,4 +299,8 @@ class FileRecoveryActivity : BaseActivity<ActivityFileRecoveryBinding>() {
}
}
companion object {
var folderBean: FolderBean? = FolderBean()
}
}
\ No newline at end of file
package com.base.filerecoveryrecyclebin.activity.recovery
import android.annotation.SuppressLint
import android.graphics.Color
import androidx.activity.addCallback
import com.base.filerecoveryrecyclebin.R
import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_DOCUMENTS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import com.base.filerecoveryrecyclebin.databinding.ActivityFileScanBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.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
......@@ -79,9 +79,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
......@@ -204,4 +205,6 @@ class FileScanResultActivity : BaseActivity<ActivityFileScanResultBinding>() {
hashMap[folder]?.add(recoveryBean)
return isNewFolder
}
}
\ No newline at end of file
......@@ -43,6 +43,7 @@ object AdMaxNativeUtils {
nativeAd = ad
nativeLoadTime = System.currentTimeMillis()
loadingListener?.invoke()
loadingListener = null
}
override fun onNativeAdLoadFailed(p0: String, p1: MaxError) {
......@@ -116,15 +117,18 @@ object AdMaxNativeUtils {
return
}
loadingListener = {
//展示广告
val adView = createNativeAdView(activity, layout)
if (System.currentTimeMillis() - nativeLoadTime <= 1000 * 60 * 60) {
//是否已经加载渲染
if (nativeAd?.nativeAd?.isExpired == true) {
nativeAdLoader.destroy(nativeAd)
nativeAdLoader.loadAd()
nativeAdLoader.loadAd(adView)
} else {
//展示广告
val adView = createNativeAdView(activity, layout)
parent.isVisible = true
nativeAdLoader.render(adView, nativeAd)
parent.removeAllViews()
......@@ -134,8 +138,7 @@ object AdMaxNativeUtils {
}
}
loadingListener = null
nativeAdLoader.loadAd()
nativeAdLoader.loadAd(adView)
LogEx.logDebug(TAG, "loadingListener finish")
}
......
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