Commit 9dfff531 authored by wanglei's avatar wanglei

...

parent 400f50c1
...@@ -125,18 +125,24 @@ ...@@ -125,18 +125,24 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<!-- <activity --> <activity
<!-- android:name=".activity.whatsapp.WhatsAppCleanerActivity" --> android:name=".activity.whatsapp.WhatsAppCleanerAnimationActivity"
<!-- android:exported="false" --> android:exported="false"
<!-- android:launchMode="singleTop" --> android:launchMode="singleTop"
<!-- android:screenOrientation="portrait" --> android:screenOrientation="portrait"
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" /> --> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<!-- <activity --> <activity
<!-- android:name=".activity.whatsapp.WhatsAppMessageCleanActivity" --> android:name=".activity.whatsapp.WhatsAppCleanerActivity"
<!-- android:exported="false" --> android:exported="false"
<!-- android:launchMode="singleTop" --> android:launchMode="singleTop"
<!-- android:screenOrientation="portrait" --> android:screenOrientation="portrait"
<!-- tools:ignore="DiscouragedApi,LockedOrientationActivity" /> --> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".activity.whatsapp.WhatsAppMessageCleanActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".activity.privacyspace.PrivacyPinTwoActivity" android:name=".activity.privacyspace.PrivacyPinTwoActivity"
android:exported="false" android:exported="false"
......
...@@ -12,11 +12,14 @@ import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity ...@@ -12,11 +12,14 @@ import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
import com.base.datarecovery.activity.recovery.FileScanResultActivity import com.base.datarecovery.activity.recovery.FileScanResultActivity
import com.base.datarecovery.activity.repeat.RepeatAnimationActivity import com.base.datarecovery.activity.repeat.RepeatAnimationActivity
import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity
import com.base.datarecovery.activity.whatsapp.WhatsAppCleanerActivity
import com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.datarecovery.adapter.AppFunctionAdapter import com.base.datarecovery.adapter.AppFunctionAdapter
import com.base.datarecovery.ads.AdmobMaxHelper import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.ads.admob.AdmobInterstitialUtils import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
import com.base.datarecovery.ads.admob.AdmobNativeUtils import com.base.datarecovery.ads.admob.AdmobNativeUtils
import com.base.datarecovery.bean.ConstObject.JUNK_CLEANER import com.base.datarecovery.bean.ConstObject.JUNK_CLEANER
import com.base.datarecovery.bean.ConstObject.LARGE_FILE
import com.base.datarecovery.bean.ConstObject.PRIVACY_SPACE import com.base.datarecovery.bean.ConstObject.PRIVACY_SPACE
import com.base.datarecovery.bean.ConstObject.RECOVERY_DOCUMENTS import com.base.datarecovery.bean.ConstObject.RECOVERY_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.RECOVERY_PHOTOS import com.base.datarecovery.bean.ConstObject.RECOVERY_PHOTOS
...@@ -26,6 +29,7 @@ import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS ...@@ -26,6 +29,7 @@ import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS
import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS
import com.base.datarecovery.bean.ConstObject.SCREENSHOT_CLEANER import com.base.datarecovery.bean.ConstObject.SCREENSHOT_CLEANER
import com.base.datarecovery.bean.ConstObject.WHATSAPP_CLEANER
import com.base.datarecovery.bean.ConstObject.privacyPinPassword import com.base.datarecovery.bean.ConstObject.privacyPinPassword
import com.base.datarecovery.databinding.ActivityLayoutResultBinding import com.base.datarecovery.databinding.ActivityLayoutResultBinding
import com.base.datarecovery.help.BaseActivity import com.base.datarecovery.help.BaseActivity
...@@ -88,6 +92,13 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() { ...@@ -88,6 +92,13 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
}) })
} }
} }
WHATSAPP_CLEANER -> {
startActivity(Intent(this, WhatsAppCleanerAnimationActivity::class.java))
}
LARGE_FILE->{
}
} }
finish() finish()
} }
...@@ -109,7 +120,9 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() { ...@@ -109,7 +120,9 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
.put("last_use_junk_cleaner", System.currentTimeMillis()) .put("last_use_junk_cleaner", System.currentTimeMillis())
} }
else -> {} else -> {
binding.tvInfo.text = "Completed!"
}
} }
from?.let { from?.let {
binding.tvTitle.text = it binding.tvTitle.text = it
......
...@@ -13,6 +13,7 @@ import androidx.lifecycle.lifecycleScope ...@@ -13,6 +13,7 @@ import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.MyApplication import com.base.datarecovery.MyApplication
import com.base.datarecovery.activity.guide.GuideActivity import com.base.datarecovery.activity.guide.GuideActivity
import com.base.datarecovery.activity.junkclean.ScanJunkActivity import com.base.datarecovery.activity.junkclean.ScanJunkActivity
import com.base.datarecovery.activity.photomanager.PhotoManagerAnimationActivity
import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity import com.base.datarecovery.activity.privacyspace.PrivacyPinOneActivity
import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
import com.base.datarecovery.activity.recovery.FileScanResultActivity import com.base.datarecovery.activity.recovery.FileScanResultActivity
...@@ -20,6 +21,7 @@ import com.base.datarecovery.activity.repeat.RepeatActivity ...@@ -20,6 +21,7 @@ import com.base.datarecovery.activity.repeat.RepeatActivity
import com.base.datarecovery.activity.repeat.RepeatAnimationActivity import com.base.datarecovery.activity.repeat.RepeatAnimationActivity
import com.base.datarecovery.activity.screenshot.ScreenShotActivity import com.base.datarecovery.activity.screenshot.ScreenShotActivity
import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity
import com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.datarecovery.ads.AdmobMaxHelper import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.ads.admob.AdmobInterstitialUtils import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
import com.base.datarecovery.ads.admob.AdmobNativeUtils import com.base.datarecovery.ads.admob.AdmobNativeUtils
...@@ -28,13 +30,16 @@ import com.base.datarecovery.ads.max.AdMaxInit.maxInitAction ...@@ -28,13 +30,16 @@ import com.base.datarecovery.ads.max.AdMaxInit.maxInitAction
import com.base.datarecovery.ads.max.AdMaxInterstitialUtils import com.base.datarecovery.ads.max.AdMaxInterstitialUtils
import com.base.datarecovery.ads.max.AdMaxOpenUtils import com.base.datarecovery.ads.max.AdMaxOpenUtils
import com.base.datarecovery.bean.ConstObject import com.base.datarecovery.bean.ConstObject
import com.base.datarecovery.bean.ConstObject.ID_APP_MANAGER
import com.base.datarecovery.bean.ConstObject.ID_JUNK_CLEAN_PUSH import com.base.datarecovery.bean.ConstObject.ID_JUNK_CLEAN_PUSH
import com.base.datarecovery.bean.ConstObject.ID_LARGE_FILE
import com.base.datarecovery.bean.ConstObject.ID_PRIVACY_SPACE import com.base.datarecovery.bean.ConstObject.ID_PRIVACY_SPACE
import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_DOCUMENTS import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_PHOTOS import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_PHOTOS
import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_VIDEOS import com.base.datarecovery.bean.ConstObject.ID_RECOVERY_VIDEOS
import com.base.datarecovery.bean.ConstObject.ID_SCREENSHOT_CLEAN import com.base.datarecovery.bean.ConstObject.ID_SCREENSHOT_CLEAN
import com.base.datarecovery.bean.ConstObject.ID_SIMILAR_IMAGE import com.base.datarecovery.bean.ConstObject.ID_SIMILAR_IMAGE
import com.base.datarecovery.bean.ConstObject.ID_WHATSAPP_CLEANER
import com.base.datarecovery.bean.ConstObject.ifAgreePrivacy import com.base.datarecovery.bean.ConstObject.ifAgreePrivacy
import com.base.datarecovery.bean.ConstObject.isGuide import com.base.datarecovery.bean.ConstObject.isGuide
import com.base.datarecovery.bean.ConstObject.privacyPinPassword import com.base.datarecovery.bean.ConstObject.privacyPinPassword
...@@ -144,11 +149,11 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() { ...@@ -144,11 +149,11 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
} }
ID_SIMILAR_IMAGE -> { ID_SIMILAR_IMAGE -> {
startActivity(Intent(this, RepeatAnimationActivity::class.java)) startActivity(Intent(this, PhotoManagerAnimationActivity::class.java))
} }
ID_SCREENSHOT_CLEAN -> { ID_SCREENSHOT_CLEAN -> {
startActivity(Intent(this, ScreenShotAnimationActivity::class.java)) startActivity(Intent(this, PhotoManagerAnimationActivity::class.java))
} }
ID_RECOVERY_PHOTOS -> { ID_RECOVERY_PHOTOS -> {
...@@ -179,6 +184,18 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() { ...@@ -179,6 +184,18 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
} }
} }
ID_WHATSAPP_CLEANER -> {
startActivity(Intent(this, WhatsAppCleanerAnimationActivity::class.java))
}
ID_LARGE_FILE -> {
}
ID_APP_MANAGER -> {
}
else -> { else -> {
val isHotLaunch = intent?.extras?.getBoolean("isHotLaunch", false) ?: false val isHotLaunch = intent?.extras?.getBoolean("isHotLaunch", false) ?: false
if (!isHotLaunch) { if (!isHotLaunch) {
......
//package com.base.datarecovery.activity.whatsapp package com.base.datarecovery.activity.whatsapp
//
//import android.content.Intent import android.content.Intent
//import android.graphics.Color import android.graphics.Color
//import android.os.Environment import android.os.Environment
//import androidx.activity.addCallback import androidx.activity.addCallback
//import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
//import com.base.datarecovery.R import com.base.datarecovery.R
//import com.base.datarecovery.adapter.WhatsAppCleanerAdapter import com.base.datarecovery.activity.ResultActivity
//import com.base.datarecovery.ads.admob.AdmobInterstitialUtils import com.base.datarecovery.adapter.WhatsAppCleanerAdapter
//import com.base.datarecovery.ads.admob.AdmobNativeUtils import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
//import com.base.datarecovery.bean.WhatsAppCleanerBean import com.base.datarecovery.bean.ConstObject.WHATSAPP_CLEANER
//import com.base.datarecovery.databinding.ActivityWhatsAppCleanerBinding import com.base.datarecovery.bean.WhatsAppCleanerBean
//import com.base.datarecovery.help.BaseActivity import com.base.datarecovery.databinding.ActivityWhatsAppCleanerBinding
//import com.base.datarecovery.help.FileHelp.getDirFiles import com.base.datarecovery.help.BaseActivity
//import com.base.datarecovery.help.KotlinExt.toFormatSize import com.base.datarecovery.help.FileHelp.getDirFiles
//import com.base.datarecovery.help.PermissionHelp.checkStorePermission import com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.help.PermissionHelp.requestStorePermission import com.base.datarecovery.help.PermissionHelp.checkStorePermission
//import com.base.datarecovery.utils.BarUtils import com.base.datarecovery.help.PermissionHelp.requestStorePermission
//import com.base.datarecovery.utils.FileHexEx.isImage import com.base.datarecovery.utils.BarUtils
//import com.base.datarecovery.utils.FileHexEx.isVideo import com.base.datarecovery.utils.FileHexEx.isImage
//import com.base.datarecovery.utils.LogEx import com.base.datarecovery.utils.FileHexEx.isVideo
//import com.base.datarecovery.view.DialogViews.showGerPermission import com.base.datarecovery.utils.LogEx
//import com.google.gson.Gson import com.base.datarecovery.view.DialogViews.showGerPermission
//import kotlinx.coroutines.Dispatchers import com.google.gson.Gson
//import kotlinx.coroutines.launch import kotlinx.coroutines.Dispatchers
//import java.io.File import kotlinx.coroutines.launch
// import java.io.File
//class WhatsAppCleanerActivity : BaseActivity<ActivityWhatsAppCleanerBinding>() {
// class WhatsAppCleanerActivity : BaseActivity<ActivityWhatsAppCleanerBinding>() {
// private val TAG = "WhatsAppCleanerActivity"
// private lateinit var adapter: WhatsAppCleanerAdapter private val TAG = "WhatsAppCleanerActivity"
// private lateinit var adapter: WhatsAppCleanerAdapter
// override val binding: ActivityWhatsAppCleanerBinding by lazy {
// ActivityWhatsAppCleanerBinding.inflate(layoutInflater) override val binding: ActivityWhatsAppCleanerBinding by lazy {
// } ActivityWhatsAppCleanerBinding.inflate(layoutInflater)
// }
//
// override fun initView() {
// BarUtils.setStatusBarLightMode(this, true) override fun initView() {
// BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarLightMode(this, true)
// BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
// adapter = WhatsAppCleanerAdapter {
// startActivity(Intent(this, WhatsAppMessageCleanActivity::class.java).apply { adapter = WhatsAppCleanerAdapter {
// putExtra("PathList", Gson().toJson(it.subFile.toTypedArray())) startActivity(Intent(this, WhatsAppMessageCleanActivity::class.java).apply {
// putExtra("Tittle", it.tittle) putExtra("PathList", Gson().toJson(it.subFile.toTypedArray()))
// }) putExtra("Tittle", it.tittle)
// finish() })
// } finish()
// binding.rv.adapter = adapter }
// binding.rv.adapter = adapter
// if (checkStorePermission()) {
// initData() if (checkStorePermission()) {
// } else { initData()
// showGerPermission(null, deny = { } else {
// finishToMain() showGerPermission(null, deny = {
// }, allow = { finishToMain()
// requestStorePermission( }, allow = {
// launcher, requestStorePermission(
// result = { flag -> launcher,
// if (flag) { result = { flag ->
// initData() if (flag) {
// } else { initData()
// finishToMain() } else {
// } finishToMain()
// }, }
// ) },
// }) )
// } })
// AdmobNativeUtils.showNativeAd(this, binding.flAd) }
// } }
//
// override fun initListener() { override fun initListener() {
// binding.flBack.setOnClickListener { binding.flBack.setOnClickListener {
// onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
// } }
// onBackPressedDispatcher.addCallback { onBackPressedDispatcher.addCallback {
// AdmobInterstitialUtils.showInterstitialAd(this@WhatsAppCleanerActivity) { AdmobInterstitialUtils.showInterstitialAd(this@WhatsAppCleanerActivity) {
// finishToMain() finishToMain()
// } }
// } }
// binding.tvTvGotIt.setOnClickListener { binding.tvTvGotIt.setOnClickListener {
// startActivity(Intent(this, ResultActivity::class.java).apply {
// } putExtra("from", WHATSAPP_CLEANER)
// })
// } finish()
// }
//
// private fun initData() = lifecycleScope.launch(Dispatchers.IO) { }
//
// val whatsAppRoot = File(Environment.getExternalStorageDirectory(), "Android/media/com.whatsapp/WhatsApp/Media/")
// LogEx.logDebug(TAG, whatsAppRoot.absolutePath) private fun initData() = lifecycleScope.launch(Dispatchers.IO) {
// val list = arrayListOf<WhatsAppCleanerBean>()
// list.add(WhatsAppCleanerBean(R.mipmap.videomessages, "Video Messages")) val whatsAppRoot = File(Environment.getExternalStorageDirectory(), "Android/media/com.whatsapp/WhatsApp/Media/")
// list.add(WhatsAppCleanerBean(R.mipmap.imagemessages, "Image Messages")) LogEx.logDebug(TAG, whatsAppRoot.absolutePath)
// list.add(WhatsAppCleanerBean(R.mipmap.audiomessages, "Audio Messages")) val list = arrayListOf<WhatsAppCleanerBean>()
// var totalSize = 0L list.add(WhatsAppCleanerBean(R.mipmap.videomessages, "Video Messages"))
// whatsAppRoot.listFiles()?.forEach { file -> list.add(WhatsAppCleanerBean(R.mipmap.imagemessages, "Image Messages"))
// list.add(WhatsAppCleanerBean(R.mipmap.audiomessages, "Audio Messages"))
// if (file.name == "WhatsApp Video") { var totalSize = 0L
// LogEx.logDebug(TAG, "whatsapp file=${file.absolutePath}") whatsAppRoot.listFiles()?.forEach { file ->
// val bean = list.find { it.tittle == "Video Messages" }
// val subFile = getDirFiles(file).filter { isVideo(it) } if (file.name == "WhatsApp Video") {
// val size = subFile.sumOf { it.length() } LogEx.logDebug(TAG, "whatsapp file=${file.absolutePath}")
// bean?.size = size val bean = list.find { it.tittle == "Video Messages" }
// totalSize += size val subFile = getDirFiles(file).filter { isVideo(it) }
// bean?.subFile = subFile.map { it.absolutePath } val size = subFile.sumOf { it.length() }
//// subFile.forEach { path -> bean?.size = size
//// LogEx.logDebug(TAG, "path=$path") totalSize += size
//// } bean?.subFile = subFile.map { it.absolutePath }
// } // subFile.forEach { path ->
// if (file.name == "WhatsApp Images") { // LogEx.logDebug(TAG, "path=$path")
// val bean = list.find { it.tittle == "Image Messages" } // }
// val subFile = getDirFiles(file).filter { isImage(it) } }
// val size = subFile.sumOf { it.length() } if (file.name == "WhatsApp Images") {
// bean?.size = size val bean = list.find { it.tittle == "Image Messages" }
// totalSize += size val subFile = getDirFiles(file).filter { isImage(it) }
// bean?.subFile = subFile.map { it.absolutePath } val size = subFile.sumOf { it.length() }
// } bean?.size = size
// if (file.name == "WhatsApp Audio") { totalSize += size
// val bean = list.find { it.tittle == "Audio Messages" } bean?.subFile = subFile.map { it.absolutePath }
// val subFile = getDirFiles(file).filter { it.name.contains(".mp3") } }
// val size = subFile.sumOf { it.length() } if (file.name == "WhatsApp Audio") {
// bean?.size = size val bean = list.find { it.tittle == "Audio Messages" }
// totalSize += size val subFile = getDirFiles(file).filter { it.name.contains(".mp3") }
// bean?.subFile = subFile.map { it.absolutePath } val size = subFile.sumOf { it.length() }
// } bean?.size = size
// } totalSize += size
// launch(Dispatchers.Main) { bean?.subFile = subFile.map { it.absolutePath }
// adapter.setData(list) }
// val split = totalSize.toFormatSize().split(" ") }
// binding.tvSize.text = split[0] launch(Dispatchers.Main) {
// binding.tvUnit.text = split[1] adapter.setData(list)
// } val split = totalSize.toFormatSize().split(" ")
// } binding.tvSize.text = split[0]
// binding.tvUnit.text = split[1]
//} }
\ No newline at end of file }
}
\ No newline at end of file
package com.base.datarecovery.activity.whatsapp
import android.annotation.SuppressLint
import android.content.Intent
import android.view.View
import android.widget.Toast
import androidx.activity.addCallback
import androidx.lifecycle.lifecycleScope
import com.base.datarecovery.ads.AdmobMaxHelper
import com.base.datarecovery.databinding.ActivityWhatsAppCleanerAnimationBinding
import com.base.datarecovery.help.BaseActivity
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlin.random.Random
class WhatsAppCleanerAnimationActivity : BaseActivity<ActivityWhatsAppCleanerAnimationBinding>() {
override val binding: ActivityWhatsAppCleanerAnimationBinding by lazy {
ActivityWhatsAppCleanerAnimationBinding.inflate(layoutInflater)
}
override fun initView() {
playLottie()
}
override fun initListener() {
onBackPressedDispatcher.addCallback {
Toast.makeText(this@WhatsAppCleanerAnimationActivity, "wait a moment", Toast.LENGTH_SHORT).show()
}
}
@SuppressLint("SetTextI18n")
private fun playLottie() {
binding.lottie.imageAssetsFolder = "junk_scan/images/"
binding.lottie.setAnimation("junk_scan/data.json")
binding.lottie.playAnimation()
lifecycleScope.launch {
delay(Random.nextLong(3500, 4500))
binding.lottie.cancelAnimation()
binding.lottie.visibility = View.GONE
binding.lottieCompleted.visibility = View.VISIBLE
binding.lottieCompleted.playAnimation()
binding.tv.text="Completed!"
delay(1000)
AdmobMaxHelper.admobMaxShowInterstitialAd(this@WhatsAppCleanerAnimationActivity){
startActivity(Intent(this@WhatsAppCleanerAnimationActivity, WhatsAppCleanerActivity::class.java))
finish()
}
}
}
}
\ No newline at end of file
//package com.base.datarecovery.activity.whatsapp package com.base.datarecovery.activity.whatsapp
//
//import android.content.Intent import android.content.Intent
//import android.graphics.Color import android.graphics.Color
//import androidx.activity.addCallback import androidx.activity.addCallback
//import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
//import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
//import com.base.datarecovery.adapter.WhatsAppMediaAdapter import com.base.datarecovery.adapter.WhatsAppMediaAdapter
//import com.base.datarecovery.ads.admob.AdmobInterstitialUtils import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
//import com.base.datarecovery.ads.admob.AdmobNativeUtils import com.base.datarecovery.ads.admob.AdmobNativeUtils
//import com.base.datarecovery.bean.MediaBean import com.base.datarecovery.bean.MediaBean
//import com.base.datarecovery.databinding.ActivityWhatsAppMessageCleanBinding import com.base.datarecovery.databinding.ActivityWhatsAppMessageCleanBinding
//import com.base.datarecovery.help.BaseActivity import com.base.datarecovery.help.BaseActivity
//import com.base.datarecovery.help.KotlinExt.toFormatSize import com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.utils.BarUtils import com.base.datarecovery.utils.BarUtils
//import com.google.gson.Gson import com.google.gson.Gson
//import java.io.File import java.io.File
//
//class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBinding>() { class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBinding>() {
//
// private val pathList by lazy { private val pathList by lazy {
// val json = intent.extras?.getString("PathList") val json = intent.extras?.getString("PathList")
// val list = Gson().fromJson(json, Array<String>::class.java) val list = Gson().fromJson(json, Array<String>::class.java)
// list.map { MediaBean(it) } list.map { MediaBean(it) }
// } }
// private lateinit var adapter: WhatsAppMediaAdapter private lateinit var adapter: WhatsAppMediaAdapter
//
// override val binding: ActivityWhatsAppMessageCleanBinding by lazy { override val binding: ActivityWhatsAppMessageCleanBinding by lazy {
// ActivityWhatsAppMessageCleanBinding.inflate(layoutInflater) ActivityWhatsAppMessageCleanBinding.inflate(layoutInflater)
// } }
//
//
// override fun initView() { override fun initView() {
// BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
// BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
//
// val tittle = intent.extras?.getString("Tittle") ?: "" val tittle = intent.extras?.getString("Tittle") ?: ""
// binding.tvTitle.text = tittle binding.tvTitle.text = tittle
//
// var isList = false var isList = false
// when (tittle) { when (tittle) {
// "Audio Messages" -> { "Audio Messages" -> {
// binding.rv.layoutManager = LinearLayoutManager(this) binding.rv.layoutManager = LinearLayoutManager(this)
// isList = true isList = true
// } }
//
// else -> { else -> {
// binding.rv.layoutManager = GridLayoutManager(this, 3) binding.rv.layoutManager = GridLayoutManager(this, 3)
// } }
// } }
//
// adapter = WhatsAppMediaAdapter(isList) { adapter = WhatsAppMediaAdapter(isList) {
// binding.llSelectAll.isSelected = it binding.llSelectAll.isSelected = it
// binding.tvClean.isEnabled = adapter.getSelectData().isNotEmpty() binding.tvClean.isEnabled = adapter.getSelectData().isNotEmpty()
// val split = adapter.getSelectDataSize().toFormatSize().split(" ") val split = adapter.getSelectDataSize().toFormatSize().split(" ")
// binding.tvSize.text = split[0] binding.tvSize.text = split[0]
// binding.tvUnit.text = split[1] binding.tvUnit.text = split[1]
// } }
// binding.rv.adapter = adapter binding.rv.adapter = adapter
// adapter.setData(pathList) adapter.setData(pathList)
//
// AdmobNativeUtils.showNativeAd(this, binding.flAd) AdmobNativeUtils.showNativeAd(this, binding.flAd)
// } }
//
// override fun initListener() { override fun initListener() {
// binding.flBack.setOnClickListener { binding.flBack.setOnClickListener {
// onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
// } }
// onBackPressedDispatcher.addCallback { onBackPressedDispatcher.addCallback {
// AdmobInterstitialUtils.showInterstitialAd(this@WhatsAppMessageCleanActivity, isShowInterVal = false) { AdmobInterstitialUtils.showInterstitialAd(this@WhatsAppMessageCleanActivity) {
// finishToMain() finishToMain()
// } }
// } }
// binding.llSelectAll.setOnClickListener { binding.llSelectAll.setOnClickListener {
// it.isSelected = !it.isSelected it.isSelected = !it.isSelected
// adapter.toggleSelect(it.isSelected) adapter.toggleSelect(it.isSelected)
// binding.tvClean.isEnabled = it.isSelected binding.tvClean.isEnabled = it.isSelected
// val split = adapter.getSelectDataSize().toFormatSize().split(" ") val split = adapter.getSelectDataSize().toFormatSize().split(" ")
// binding.tvSize.text = split[0] binding.tvSize.text = split[0]
// binding.tvUnit.text = split[1] binding.tvUnit.text = split[1]
// } }
//
// binding.tvClean.setOnClickListener { binding.tvClean.setOnClickListener {
//
// AdmobInterstitialUtils.showInterstitialAd(this) { AdmobInterstitialUtils.showInterstitialAd(this) {
// val list = adapter.getSelectData() val list = adapter.getSelectData()
// runCatching { runCatching {
// list.forEach { File(it).delete() } list.forEach { File(it).delete() }
// } }
// finish() finish()
// } }
// } }
// } }
//
//
//} }
\ No newline at end of file \ No newline at end of file
...@@ -7,13 +7,16 @@ import androidx.core.content.ContextCompat ...@@ -7,13 +7,16 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.datarecovery.R import com.base.datarecovery.R
import com.base.datarecovery.bean.ConstObject.APP_MANAGER
import com.base.datarecovery.bean.ConstObject.JUNK_CLEANER import com.base.datarecovery.bean.ConstObject.JUNK_CLEANER
import com.base.datarecovery.bean.ConstObject.LARGE_FILE
import com.base.datarecovery.bean.ConstObject.PRIVACY_SPACE import com.base.datarecovery.bean.ConstObject.PRIVACY_SPACE
import com.base.datarecovery.bean.ConstObject.RECOVERY_DOCUMENTS import com.base.datarecovery.bean.ConstObject.RECOVERY_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.RECOVERY_PHOTOS import com.base.datarecovery.bean.ConstObject.RECOVERY_PHOTOS
import com.base.datarecovery.bean.ConstObject.RECOVERY_VIDEOS import com.base.datarecovery.bean.ConstObject.RECOVERY_VIDEOS
import com.base.datarecovery.bean.ConstObject.REPEAT_PHOTOS import com.base.datarecovery.bean.ConstObject.REPEAT_PHOTOS
import com.base.datarecovery.bean.ConstObject.SCREENSHOT_CLEANER import com.base.datarecovery.bean.ConstObject.SCREENSHOT_CLEANER
import com.base.datarecovery.bean.ConstObject.WHATSAPP_CLEANER
import com.base.datarecovery.databinding.ItemResultFun2Binding import com.base.datarecovery.databinding.ItemResultFun2Binding
import com.base.datarecovery.databinding.ItemResultFunBinding import com.base.datarecovery.databinding.ItemResultFunBinding
import com.base.datarecovery.utils.AppPreferences import com.base.datarecovery.utils.AppPreferences
...@@ -31,6 +34,9 @@ class AppFunctionAdapter(val click: (name: String) -> Unit) : ...@@ -31,6 +34,9 @@ class AppFunctionAdapter(val click: (name: String) -> Unit) :
Fun(PRIVACY_SPACE, R.mipmap.space), Fun(PRIVACY_SPACE, R.mipmap.space),
Fun(REPEAT_PHOTOS, R.mipmap.repeatedphotos), Fun(REPEAT_PHOTOS, R.mipmap.repeatedphotos),
Fun(SCREENSHOT_CLEANER, R.mipmap.screenshots), Fun(SCREENSHOT_CLEANER, R.mipmap.screenshots),
Fun(WHATSAPP_CLEANER, R.mipmap.whatsapp),
Fun(LARGE_FILE, R.mipmap.large),
Fun(APP_MANAGER, R.mipmap.app),
) )
class JJJ(view: View) : ViewHolder(view) class JJJ(view: View) : ViewHolder(view)
......
//package com.base.datarecovery.adapter package com.base.datarecovery.adapter
//
//import android.annotation.SuppressLint import android.annotation.SuppressLint
//import android.graphics.Color import android.graphics.Color
//import android.view.View import android.view.View
//import android.view.ViewGroup import android.view.ViewGroup
//import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
//import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
//import androidx.recyclerview.widget.RecyclerView.ViewHolder import androidx.recyclerview.widget.RecyclerView.ViewHolder
//import com.base.datarecovery.R import com.base.datarecovery.R
//import com.base.datarecovery.bean.WhatsAppCleanerBean import com.base.datarecovery.bean.WhatsAppCleanerBean
//import com.base.datarecovery.databinding.ItemWhatsappBinding import com.base.datarecovery.databinding.ItemWhatsappBinding
//import com.base.datarecovery.help.KotlinExt.toFormatSize import com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.utils.ScreenUtil.dpToPx import com.base.datarecovery.utils.ScreenUtil.dpToPx
//import com.base.datarecovery.view.XmlEx.inflate import com.base.datarecovery.view.XmlEx.inflate
//import com.bumptech.glide.Glide import com.bumptech.glide.Glide
//import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.load.resource.bitmap.CenterCrop
//import com.bumptech.glide.load.resource.bitmap.RoundedCorners import com.bumptech.glide.load.resource.bitmap.RoundedCorners
//import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.RequestOptions
//
//class WhatsAppCleanerAdapter(val click: (bean: WhatsAppCleanerBean) -> Unit) : RecyclerView.Adapter<WhatsAppCleanerAdapter.Whats>() { class WhatsAppCleanerAdapter(val click: (bean: WhatsAppCleanerBean) -> Unit) : RecyclerView.Adapter<WhatsAppCleanerAdapter.Whats>() {
//
// private val beanList = arrayListOf<WhatsAppCleanerBean>() private val beanList = arrayListOf<WhatsAppCleanerBean>()
//
// class Whats(view: View) : ViewHolder(view) { class Whats(view: View) : ViewHolder(view) {
//
// } }
//
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Whats { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Whats {
// return Whats(R.layout.item_whatsapp.inflate(parent)) return Whats(R.layout.item_whatsapp.inflate(parent))
// } }
//
// override fun getItemCount(): Int { override fun getItemCount(): Int {
// return beanList.size return beanList.size
// } }
//
// override fun onBindViewHolder(holder: Whats, position: Int) { override fun onBindViewHolder(holder: Whats, position: Int) {
// val binding = ItemWhatsappBinding.bind(holder.itemView) val binding = ItemWhatsappBinding.bind(holder.itemView)
// val context = holder.itemView.context val context = holder.itemView.context
// val bean = beanList[position] val bean = beanList[position]
// binding.iv.setImageDrawable(ContextCompat.getDrawable(context, bean.icon)) binding.iv.setImageDrawable(ContextCompat.getDrawable(context, bean.icon))
// binding.tvTitle.text = bean.tittle binding.tvTitle.text = bean.tittle
// if (bean.subFile.isEmpty()) { if (bean.subFile.isEmpty()) {
// binding.llIv.visibility = View.GONE binding.llIv.visibility = View.GONE
// binding.tvSize.setTextColor(Color.parseColor("#999999")) binding.tvSize.setTextColor(Color.parseColor("#999999"))
// binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotu_whatsapp)) binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotu_whatsapp))
// binding.tvNoMessage.visibility = View.VISIBLE binding.tvNoMessage.visibility = View.VISIBLE
// } else { } else {
// binding.llIv.visibility = View.VISIBLE binding.llIv.visibility = View.VISIBLE
// runCatching { runCatching {
// val options = RequestOptions().transform(CenterCrop(), RoundedCorners(context.dpToPx(10))) val options = RequestOptions().transform(CenterCrop(), RoundedCorners(context.dpToPx(10)))
// val image1 = bean.subFile[0] val image1 = bean.subFile[0]
// Glide.with(context).load(image1).apply(options).into(binding.iv1) Glide.with(context).load(image1).apply(options).into(binding.iv1)
//
// val image2 = bean.subFile[1] val image2 = bean.subFile[1]
// Glide.with(context).load(image2).apply(options).into(binding.iv2) Glide.with(context).load(image2).apply(options).into(binding.iv2)
//
// val image3 = bean.subFile[2] val image3 = bean.subFile[2]
// Glide.with(context).load(image3).apply(options).into(binding.iv3) Glide.with(context).load(image3).apply(options).into(binding.iv3)
// } }
// binding.tvSize.setTextColor(Color.parseColor("#355BEA")) binding.tvSize.setTextColor(Color.parseColor("#355BEA"))
// binding.tvSize.text = bean.size.toFormatSize() binding.tvSize.text = bean.size.toFormatSize()
// binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotul_whatsapp)) binding.ivArrow.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.jianotul_whatsapp))
// binding.tvNoMessage.visibility = View.GONE binding.tvNoMessage.visibility = View.GONE
// } }
// binding.root.setOnClickListener { binding.root.setOnClickListener {
// if (bean.subFile.isEmpty()) { if (bean.subFile.isEmpty()) {
// return@setOnClickListener return@setOnClickListener
// } }
// click.invoke(bean) click.invoke(bean)
// } }
// } }
//
// @SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
// fun setData(list: List<WhatsAppCleanerBean>) { fun setData(list: List<WhatsAppCleanerBean>) {
// beanList.clear() beanList.clear()
// beanList.addAll(list) beanList.addAll(list)
// notifyDataSetChanged() notifyDataSetChanged()
// } }
//
//
//} }
\ No newline at end of file \ No newline at end of file
//package com.base.datarecovery.adapter package com.base.datarecovery.adapter
//
//import android.annotation.SuppressLint import android.annotation.SuppressLint
//import android.view.View import android.view.View
//import android.view.ViewGroup import android.view.ViewGroup
//import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
//import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
//import com.base.datarecovery.R import com.base.datarecovery.R
//import com.base.datarecovery.bean.MediaBean import com.base.datarecovery.bean.MediaBean
//import com.base.datarecovery.databinding.ItemMediaFileBinding import com.base.datarecovery.databinding.ItemMediaFileBinding
//import com.base.datarecovery.databinding.ItemMediaSelectBinding import com.base.datarecovery.databinding.ItemMediaSelectBinding
//import com.base.datarecovery.help.KotlinExt.toFormatSize import com.base.datarecovery.help.KotlinExt.toFormatSize
//import com.base.datarecovery.view.XmlEx.inflate import com.base.datarecovery.view.XmlEx.inflate
//import com.bumptech.glide.Glide import com.bumptech.glide.Glide
//import java.io.File import java.io.File
//
//class WhatsAppMediaAdapter( class WhatsAppMediaAdapter(
// private val isList: Boolean = false, private val isList: Boolean = false,
// private val click: (allSelect: Boolean) -> Unit private val click: (allSelect: Boolean) -> Unit
//) : RecyclerView.Adapter<WhatsAppMediaAdapter.WhatMedia>() { ) : RecyclerView.Adapter<WhatsAppMediaAdapter.WhatMedia>() {
//
// private val beanList = arrayListOf<MediaBean>() private val beanList = arrayListOf<MediaBean>()
//
// class WhatMedia(view: View) : RecyclerView.ViewHolder(view) class WhatMedia(view: View) : RecyclerView.ViewHolder(view)
//
//
// override fun getItemViewType(position: Int): Int { override fun getItemViewType(position: Int): Int {
// return if (isList) 0 else 1 return if (isList) 0 else 1
// } }
//
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WhatMedia { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WhatMedia {
// val layout = if (viewType == 0) R.layout.item_media_file else R.layout.item_media_select val layout = if (viewType == 0) R.layout.item_media_file else R.layout.item_media_select
// return WhatMedia(layout.inflate(parent)) return WhatMedia(layout.inflate(parent))
// } }
//
// override fun getItemCount(): Int { override fun getItemCount(): Int {
// return beanList.size return beanList.size
// } }
//
// override fun onBindViewHolder(holder: WhatMedia, position: Int) { override fun onBindViewHolder(holder: WhatMedia, position: Int) {
//
// } }
//
// override fun onBindViewHolder(holder: WhatMedia, position: Int, payloads: MutableList<Any>) { override fun onBindViewHolder(holder: WhatMedia, position: Int, payloads: MutableList<Any>) {
//
//
// val context = holder.itemView.context val context = holder.itemView.context
// val bean = beanList[position] val bean = beanList[position]
//
// if (isList) { if (isList) {
// val binding = ItemMediaFileBinding.bind(holder.itemView) val binding = ItemMediaFileBinding.bind(holder.itemView)
//
// if (payloads.isEmpty()) { if (payloads.isEmpty()) {
// binding.iv.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.audiomessages)) binding.iv.setImageDrawable(ContextCompat.getDrawable(context, R.mipmap.audiomessages))
// val file = File(bean.path) val file = File(bean.path)
// binding.tvName.text = file.name binding.tvName.text = file.name
// binding.tvSize.text = file.length().toFormatSize() binding.tvSize.text = file.length().toFormatSize()
// binding.ivSelector.isSelected = bean.isSelect binding.ivSelector.isSelected = bean.isSelect
// binding.root.setOnClickListener { binding.root.setOnClickListener {
// binding.ivSelector.isSelected = !binding.ivSelector.isSelected binding.ivSelector.isSelected = !binding.ivSelector.isSelected
// bean.isSelect = binding.ivSelector.isSelected bean.isSelect = binding.ivSelector.isSelected
// notifyItemChanged(position, "sdd") notifyItemChanged(position, "sdd")
// click.invoke(beanList.all { it.isSelect }) click.invoke(beanList.all { it.isSelect })
// } }
// } else { } else {
// binding.ivSelector.isSelected = bean.isSelect binding.ivSelector.isSelected = bean.isSelect
// super.onBindViewHolder(holder, position, payloads) super.onBindViewHolder(holder, position, payloads)
// } }
// } else { } else {
// val binding = ItemMediaSelectBinding.bind(holder.itemView) val binding = ItemMediaSelectBinding.bind(holder.itemView)
// if (payloads.isEmpty()) { if (payloads.isEmpty()) {
// Glide.with(context).load(bean.path).centerCrop().into(binding.iv) Glide.with(context).load(bean.path).centerCrop().into(binding.iv)
// binding.ivSelector.isSelected = bean.isSelect binding.ivSelector.isSelected = bean.isSelect
// binding.root.setOnClickListener { binding.root.setOnClickListener {
// binding.ivSelector.isSelected = !binding.ivSelector.isSelected binding.ivSelector.isSelected = !binding.ivSelector.isSelected
// bean.isSelect = binding.ivSelector.isSelected bean.isSelect = binding.ivSelector.isSelected
// notifyItemChanged(position, "sdd") notifyItemChanged(position, "sdd")
// click.invoke(beanList.all { it.isSelect }) click.invoke(beanList.all { it.isSelect })
// } }
// } else { } else {
// binding.ivSelector.isSelected = bean.isSelect binding.ivSelector.isSelected = bean.isSelect
// super.onBindViewHolder(holder, position, payloads) super.onBindViewHolder(holder, position, payloads)
// } }
//
// } }
// } }
//
// @SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
// fun setData(pathList: List<MediaBean>) { fun setData(pathList: List<MediaBean>) {
// beanList.clear() beanList.clear()
// beanList.addAll(pathList) beanList.addAll(pathList)
// notifyDataSetChanged() notifyDataSetChanged()
// } }
//
// @SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
// fun toggleSelect(select: Boolean) { fun toggleSelect(select: Boolean) {
// beanList.forEach { it.isSelect = select } beanList.forEach { it.isSelect = select }
// notifyDataSetChanged() notifyDataSetChanged()
// } }
//
// fun getSelectData(): List<String> { fun getSelectData(): List<String> {
// return beanList.filter { it.isSelect }.map { it.path } return beanList.filter { it.isSelect }.map { it.path }
// } }
//
// fun getSelectDataSize(): Long { fun getSelectDataSize(): Long {
// return getSelectData().map { File(it) }.sumOf { it.length() } return getSelectData().map { File(it) }.sumOf { it.length() }
// } }
//} }
\ No newline at end of file \ No newline at end of file
...@@ -11,15 +11,20 @@ object ConstObject { ...@@ -11,15 +11,20 @@ object ConstObject {
const val ID_RECOVERY_VIDEOS = 13001 const val ID_RECOVERY_VIDEOS = 13001
const val ID_RECOVERY_DOCUMENTS = 13002 const val ID_RECOVERY_DOCUMENTS = 13002
const val ID_PRIVACY_SPACE = 13003 const val ID_PRIVACY_SPACE = 13003
const val ID_WHATSAPP_CLEANER = 13006
const val ID_LARGE_FILE = 13009
const val ID_APP_MANAGER = 13009
const val RECOVERY_PHOTOS = "Recovery Photos" const val RECOVERY_PHOTOS = "Recovery Photos"
const val RECOVERY_VIDEOS = "Recovery Videos" const val RECOVERY_VIDEOS = "Recovery Videos"
const val RECOVERY_DOCUMENTS = "Recovery Documents" const val RECOVERY_DOCUMENTS = "Recovery Documents"
const val JUNK_CLEANER = "Junk Cleaner" const val JUNK_CLEANER = "Junk Cleaner"
const val REPEAT_PHOTOS = "Repeat Photos" const val REPEAT_PHOTOS = "Repeat Photos"
const val PHOTO_COMPRESS = "Photo Compress"
const val SCREENSHOT_CLEANER = "Screenshot Cleaner" const val SCREENSHOT_CLEANER = "Screenshot Cleaner"
const val PRIVACY_SPACE = "Privacy Space" const val PRIVACY_SPACE = "Privacy Space"
const val WHATSAPP_CLEANER = "Whatsapp Cleaner"
const val LARGE_FILE = "Large File"
const val APP_MANAGER = "App Manager"
const val SCAN_PHOTOS = 1 const val SCAN_PHOTOS = 1
const val SCAN_DOCUMENTS = 2 const val SCAN_DOCUMENTS = 2
......
...@@ -15,6 +15,7 @@ import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity ...@@ -15,6 +15,7 @@ import com.base.datarecovery.activity.privacyspace.PrivacySpaceActivity
import com.base.datarecovery.activity.recovery.FileScanResultActivity import com.base.datarecovery.activity.recovery.FileScanResultActivity
import com.base.datarecovery.activity.repeat.RepeatAnimationActivity import com.base.datarecovery.activity.repeat.RepeatAnimationActivity
import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity import com.base.datarecovery.activity.screenshot.ScreenShotAnimationActivity
import com.base.datarecovery.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS import com.base.datarecovery.bean.ConstObject.SCAN_DOCUMENTS
import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS import com.base.datarecovery.bean.ConstObject.SCAN_PHOTOS
import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS import com.base.datarecovery.bean.ConstObject.SCAN_VIDEOS
...@@ -67,6 +68,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -67,6 +68,9 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
binding.cardPhotosManager.setOnClickListener { binding.cardPhotosManager.setOnClickListener {
startActivity(Intent(requireContext(), PhotoManagerAnimationActivity::class.java)) startActivity(Intent(requireContext(), PhotoManagerAnimationActivity::class.java))
} }
binding.cardWhatsApp.setOnClickListener {
startActivity(Intent(requireContext(), WhatsAppCleanerAnimationActivity::class.java))
}
binding.flSetting.setOnClickListener { binding.flSetting.setOnClickListener {
startActivity(Intent(requireContext(), SettingActivity::class.java)) startActivity(Intent(requireContext(), SettingActivity::class.java))
......
...@@ -115,13 +115,6 @@ ...@@ -115,13 +115,6 @@
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_whatsapp" /> tools:listitem="@layout/item_whatsapp" />
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top" />
<TextView <TextView
android:id="@+id/tv_tv_got_it" android:id="@+id/tv_tv_got_it"
android:layout_width="match_parent" android:layout_width="match_parent"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<FrameLayout
android:id="@+id/id_top_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/id_tv_title_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="WhatsApp Cleaner"
android:textColor="#333333"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</FrameLayout>
<FrameLayout
android:layout_width="300dp"
android:layout_height="300dp"
app:layout_constraintBottom_toTopOf="@id/tv"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.65">
<com.base.datarecovery.view.XmlLottieAnimationView
android:id="@+id/lottie"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
app:lottie_autoPlay="true"
app:lottie_loop="true" />
<com.base.datarecovery.view.XmlLottieAnimationView
android:id="@+id/lottie_completed"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center"
android:visibility="gone"
app:lottie_autoPlay="false"
app:lottie_rawRes="@raw/loading_completed"
tools:ignore="MissingClass" />
</FrameLayout>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="275dp"
android:text="Wait a moment..."
android:textColor="#333333"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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