Commit 1b7a9798 authored by wanglei's avatar wanglei

....

parent 5e427195
...@@ -114,12 +114,12 @@ ...@@ -114,12 +114,12 @@
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.privacyspace.PrivacyManageActivity" <!-- android:name=".activity.privacyspace.PrivacyManageActivity"-->
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.repeat.RepeatActivity" android:name=".activity.repeat.RepeatActivity"
android:exported="false" android:exported="false"
...@@ -150,30 +150,30 @@ ...@@ -150,30 +150,30 @@
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.privacyspace.PrivacyPinTwoActivity" <!-- android:name=".activity.privacyspace.PrivacyPinTwoActivity"-->
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.privacyspace.PrivacyPinOneActivity" <!-- android:name=".activity.privacyspace.PrivacyPinOneActivity"-->
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.privacyspace.PrivacyImportActivity" <!-- android:name=".activity.privacyspace.PrivacyImportActivity"-->
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.privacyspace.PrivacySpaceActivity" <!-- android:name=".activity.privacyspace.PrivacySpaceActivity"-->
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.recovery.FileRecoveredActivity" android:name=".activity.recovery.FileRecoveredActivity"
android:exported="false" android:exported="false"
...@@ -192,13 +192,6 @@ ...@@ -192,13 +192,6 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> 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 <meta-data
android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION" android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION"
android:value="true" /> android:value="true" />
......
...@@ -8,7 +8,6 @@ import android.text.TextUtils ...@@ -8,7 +8,6 @@ import android.text.TextUtils
import com.base.filerecoveryrecyclebin.activity.SplashActivity import com.base.filerecoveryrecyclebin.activity.SplashActivity
import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import com.base.filerecoveryrecyclebin.ads.admob.AdmobOpenUtils import com.base.filerecoveryrecyclebin.ads.admob.AdmobOpenUtils
import com.base.filerecoveryrecyclebin.ads.max.AdMaxInit.initAdMax
import com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy import com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy
import com.base.filerecoveryrecyclebin.fcm.FCMManager import com.base.filerecoveryrecyclebin.fcm.FCMManager
import com.base.filerecoveryrecyclebin.fcm.RecoveryTimerManager import com.base.filerecoveryrecyclebin.fcm.RecoveryTimerManager
...@@ -20,7 +19,6 @@ import com.base.filerecoveryrecyclebin.utils.AppPreferences ...@@ -20,7 +19,6 @@ import com.base.filerecoveryrecyclebin.utils.AppPreferences
import com.base.filerecoveryrecyclebin.utils.InstallHelps import com.base.filerecoveryrecyclebin.utils.InstallHelps
import com.base.filerecoveryrecyclebin.utils.LogEx import com.base.filerecoveryrecyclebin.utils.LogEx
import com.base.filerecoveryrecyclebin.utils.NewComUtils import com.base.filerecoveryrecyclebin.utils.NewComUtils
import com.google.android.gms.ads.MobileAds
import com.google.android.gms.ads.identifier.AdvertisingIdClient import com.google.android.gms.ads.identifier.AdvertisingIdClient
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
......
...@@ -6,8 +6,6 @@ import android.graphics.Color ...@@ -6,8 +6,6 @@ import android.graphics.Color
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity import com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyPinOneActivity
import com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity import com.base.filerecoveryrecyclebin.activity.repeat.RepeatAnimationActivity
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotAnimationActivity import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotAnimationActivity
...@@ -75,16 +73,6 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() { ...@@ -75,16 +73,6 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
putExtra("ScanType", SCAN_DOCUMENTS) putExtra("ScanType", SCAN_DOCUMENTS)
}) })
} }
PRIVACY_SPACE -> {
if (privacyPinPassword.isNotEmpty()) {
startActivity(Intent(this, PrivacyPinOneActivity::class.java))
} else {
startActivity(Intent(this, PrivacySpaceActivity::class.java).apply {
})
}
}
} }
finish() finish()
} }
......
...@@ -12,23 +12,21 @@ import androidx.lifecycle.lifecycleScope ...@@ -12,23 +12,21 @@ import androidx.lifecycle.lifecycleScope
import com.base.filerecoveryrecyclebin.MyApplication import com.base.filerecoveryrecyclebin.MyApplication
import com.base.filerecoveryrecyclebin.activity.guide.GuideActivity import com.base.filerecoveryrecyclebin.activity.guide.GuideActivity
import com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity import com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyPinOneActivity
import com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity import com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import com.base.filerecoveryrecyclebin.activity.repeat.RepeatActivity import com.base.filerecoveryrecyclebin.activity.repeat.RepeatActivity
import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotActivity import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotActivity
import com.base.filerecoveryrecyclebin.activity.whatsapp.WhatsAppCleanerAnimationActivity
import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import com.base.filerecoveryrecyclebin.bean.ConstObject import com.base.filerecoveryrecyclebin.bean.ConstObject
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_JUNK_CLEAN_PUSH import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_JUNK_CLEAN_PUSH
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_PRIVACY_SPACE
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_DOCUMENTS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_DOCUMENTS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_PHOTOS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_VIDEOS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_VIDEOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SCREENSHOT_CLEAN import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SCREENSHOT_CLEAN
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SIMILAR_IMAGE import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SIMILAR_IMAGE
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_WHATSAPP
import com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy import com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy
import com.base.filerecoveryrecyclebin.bean.ConstObject.isGuide import com.base.filerecoveryrecyclebin.bean.ConstObject.isGuide
import com.base.filerecoveryrecyclebin.bean.ConstObject.privacyPinPassword
import com.base.filerecoveryrecyclebin.databinding.ActivitySplashBinding import com.base.filerecoveryrecyclebin.databinding.ActivitySplashBinding
import com.base.filerecoveryrecyclebin.fcm.CloseNotificationReceiver import com.base.filerecoveryrecyclebin.fcm.CloseNotificationReceiver
import com.base.filerecoveryrecyclebin.fcm.CloseNotificationReceiver.Companion.NotificationId import com.base.filerecoveryrecyclebin.fcm.CloseNotificationReceiver.Companion.NotificationId
...@@ -145,14 +143,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() { ...@@ -145,14 +143,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
}) })
} }
ID_PRIVACY_SPACE -> { ID_WHATSAPP -> {
if (privacyPinPassword.isNotEmpty()) { startActivity(Intent(this, WhatsAppCleanerAnimationActivity::class.java))
startActivity(Intent(this, PrivacyPinOneActivity::class.java))
} else {
startActivity(Intent(this, PrivacySpaceActivity::class.java).apply {
})
}
} }
else -> { else -> {
......
package com.base.filerecoveryrecyclebin.activity.privacyspace //package com.base.filerecoveryrecyclebin.activity.privacyspace
//
import android.annotation.SuppressLint //import android.annotation.SuppressLint
import android.graphics.Color //import android.graphics.Color
import android.os.Environment //import android.os.Environment
import android.view.View //import android.view.View
import android.widget.Toast //import android.widget.Toast
import androidx.core.view.updatePadding //import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope //import androidx.lifecycle.lifecycleScope
import com.base.filerecoveryrecyclebin.adapter.MediaSubAdapter //import com.base.filerecoveryrecyclebin.adapter.MediaSubAdapter
import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper //import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils //import com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils
import com.base.filerecoveryrecyclebin.bean.MediaBean //import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.databinding.ActivityPrivacyManageBinding //import com.base.filerecoveryrecyclebin.databinding.ActivityPrivacyManageBinding
import com.base.filerecoveryrecyclebin.help.BaseActivity //import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.help.FileHelp.loadFileByFilter //import com.base.filerecoveryrecyclebin.help.FileHelp.loadFileByFilter
import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.updateMediaStore //import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.updateMediaStore
import com.base.filerecoveryrecyclebin.utils.BarUtils //import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.utils.LogEx //import com.base.filerecoveryrecyclebin.utils.LogEx
import com.base.filerecoveryrecyclebin.view.DialogViews.showDeletePermanentlyDialog //import com.base.filerecoveryrecyclebin.view.DialogViews.showDeletePermanentlyDialog
import kotlinx.coroutines.Dispatchers //import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch //import kotlinx.coroutines.launch
import java.io.File //import java.io.File
//
class PrivacyManageActivity : BaseActivity<ActivityPrivacyManageBinding>() { //class PrivacyManageActivity : BaseActivity<ActivityPrivacyManageBinding>() {
//
private val TAG = "PrivacyManageActivity" // private val TAG = "PrivacyManageActivity"
private var mediaType: String = "" // private var mediaType: String = ""
private lateinit var mediaSubAdapter: MediaSubAdapter // private lateinit var mediaSubAdapter: MediaSubAdapter
//
override val binding: ActivityPrivacyManageBinding by lazy { // override val binding: ActivityPrivacyManageBinding by lazy {
ActivityPrivacyManageBinding.inflate(layoutInflater) // ActivityPrivacyManageBinding.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)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) // binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
mediaType = intent?.extras?.getString("mediaType") ?: "" // mediaType = intent?.extras?.getString("mediaType") ?: ""
//
//
mediaSubAdapter = MediaSubAdapter() // mediaSubAdapter = MediaSubAdapter()
binding.rv.adapter = mediaSubAdapter // binding.rv.adapter = mediaSubAdapter
initData() // initData()
} // }
//
@SuppressLint("SetTextI18n") // @SuppressLint("SetTextI18n")
override fun initListener() { // override fun initListener() {
//
binding.llDownload.setOnClickListener { // binding.llDownload.setOnClickListener {
downloadCopy() // downloadCopy()
} // }
binding.llDelete.setOnClickListener { // binding.llDelete.setOnClickListener {
deleteFilesDirMedia() // deleteFilesDirMedia()
} // }
binding.tvSelectAll.setOnClickListener { // binding.tvSelectAll.setOnClickListener {
binding.tvSelectAll.isSelected = !binding.tvSelectAll.isSelected // binding.tvSelectAll.isSelected = !binding.tvSelectAll.isSelected
mediaSubAdapter.toggleSelect(binding.tvSelectAll.isSelected) // mediaSubAdapter.toggleSelect(binding.tvSelectAll.isSelected)
if (binding.tvSelectAll.isSelected) { // if (binding.tvSelectAll.isSelected) {
binding.tvSelectAll.text = "Unselect All" // binding.tvSelectAll.text = "Unselect All"
} else { // } else {
binding.tvSelectAll.text = "Select All" // binding.tvSelectAll.text = "Select All"
} // }
} // }
binding.flGuanbi.setOnClickListener { // binding.flGuanbi.setOnClickListener {
finish() // finish()
} // }
} // }
//
private fun deleteFilesDirMedia() { // private fun deleteFilesDirMedia() {
showDeletePermanentlyDialog { // showDeletePermanentlyDialog {
AdmobMaxHelper.admobMaxShowInterstitialAd(this) { // AdmobMaxHelper.admobMaxShowInterstitialAd(this) {
lifecycleScope.launch(Dispatchers.IO) { // lifecycleScope.launch(Dispatchers.IO) {
val list = mediaSubAdapter.getSelectData() // val list = mediaSubAdapter.getSelectData()
list.forEach { // list.forEach {
runCatching { File(it.path).delete() } // runCatching { File(it.path).delete() }
} // }
launch(Dispatchers.Main) { // launch(Dispatchers.Main) {
Toast.makeText(this@PrivacyManageActivity, "success", Toast.LENGTH_SHORT).show() // Toast.makeText(this@PrivacyManageActivity, "success", Toast.LENGTH_SHORT).show()
mediaSubAdapter.removeData(list) // mediaSubAdapter.removeData(list)
} // }
} // }
} // }
} // }
} // }
//
private fun downloadCopy() = lifecycleScope.launch(Dispatchers.IO) { // private fun downloadCopy() = lifecycleScope.launch(Dispatchers.IO) {
mediaSubAdapter.getSelectData().forEach { bean -> // mediaSubAdapter.getSelectData().forEach { bean ->
runCatching { // runCatching {
val file = File(bean.path) // val file = File(bean.path)
val dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) // val dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
file.copyTo(File(dir, file.name)) // file.copyTo(File(dir, file.name))
} // }
} // }
this@PrivacyManageActivity.updateMediaStore() // this@PrivacyManageActivity.updateMediaStore()
launch(Dispatchers.Main) { // launch(Dispatchers.Main) {
Toast.makeText(this@PrivacyManageActivity, "success", Toast.LENGTH_SHORT).show() // Toast.makeText(this@PrivacyManageActivity, "success", Toast.LENGTH_SHORT).show()
mediaSubAdapter.toggleSelect(false) // mediaSubAdapter.toggleSelect(false)
} // }
} // }
//
private fun initData() { // private fun initData() {
val dir = getFilesMediaDir() // val dir = getFilesMediaDir()
if (!dir.exists()) { // if (!dir.exists()) {
dir.mkdirs() // dir.mkdirs()
} // }
val list = arrayListOf<MediaBean>() // val list = arrayListOf<MediaBean>()
//
lifecycleScope.loadFileByFilter(folder = dir, filter = { true }, onDo = { // lifecycleScope.loadFileByFilter(folder = dir, filter = { true }, onDo = {
LogEx.logDebug(TAG, "$it") // LogEx.logDebug(TAG, "$it")
list.add(MediaBean(it.absolutePath)) // list.add(MediaBean(it.absolutePath))
}, onFinish = { // }, onFinish = {
lifecycleScope.launch(Dispatchers.Main) { // lifecycleScope.launch(Dispatchers.Main) {
if (list.isNotEmpty()) { // if (list.isNotEmpty()) {
binding.rv.visibility = View.VISIBLE // binding.rv.visibility = View.VISIBLE
mediaSubAdapter.setData(list) // mediaSubAdapter.setData(list)
} // }
} // }
}) // })
} // }
//
private fun getFilesMediaDir(): File { // private fun getFilesMediaDir(): File {
return if (mediaType == "Photos") { // return if (mediaType == "Photos") {
File(filesDir, "photos") // File(filesDir, "photos")
} else { // } else {
File(filesDir, "videos") // File(filesDir, "videos")
} // }
} // }
//
} //}
\ No newline at end of file \ No newline at end of file
package com.base.filerecoveryrecyclebin.activity.privacyspace //package com.base.filerecoveryrecyclebin.activity.privacyspace
//
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.view.View //import android.view.View
import androidx.activity.addCallback //import androidx.activity.addCallback
import androidx.fragment.app.Fragment //import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter //import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2 //import androidx.viewpager2.widget.ViewPager2
import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper //import com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils //import com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils
import com.base.filerecoveryrecyclebin.bean.ConstObject.privacyPinPassword //import com.base.filerecoveryrecyclebin.bean.ConstObject.privacyPinPassword
import com.base.filerecoveryrecyclebin.databinding.ActivityPrivacySpaceBinding //import com.base.filerecoveryrecyclebin.databinding.ActivityPrivacySpaceBinding
import com.base.filerecoveryrecyclebin.fragment.PrivacyPageFragment //import com.base.filerecoveryrecyclebin.fragment.PrivacyPageFragment
import com.base.filerecoveryrecyclebin.help.BaseActivity //import com.base.filerecoveryrecyclebin.help.BaseActivity
import com.base.filerecoveryrecyclebin.utils.BarUtils //import com.base.filerecoveryrecyclebin.utils.BarUtils
import com.base.filerecoveryrecyclebin.view.DialogViews.showExitFunctionDialog //import com.base.filerecoveryrecyclebin.view.DialogViews.showExitFunctionDialog
//
/** ///**
* 隐私空间 // * 隐私空间
*/ // */
class PrivacySpaceActivity : BaseActivity<ActivityPrivacySpaceBinding>() { //class PrivacySpaceActivity : BaseActivity<ActivityPrivacySpaceBinding>() {
//
override val binding: ActivityPrivacySpaceBinding by lazy { // override val binding: ActivityPrivacySpaceBinding by lazy {
ActivityPrivacySpaceBinding.inflate(layoutInflater) // ActivityPrivacySpaceBinding.inflate(layoutInflater)
} // }
private val photosFragment: PrivacyPageFragment by lazy { // private val photosFragment: PrivacyPageFragment by lazy {
PrivacyPageFragment("Photos") // PrivacyPageFragment("Photos")
} // }
//
private val videosFragment: PrivacyPageFragment by lazy { // private val videosFragment: PrivacyPageFragment by lazy {
PrivacyPageFragment("Videos") // PrivacyPageFragment("Videos")
} // }
private val fragments by lazy { // private val fragments by lazy {
mutableListOf(photosFragment, videosFragment) // mutableListOf(photosFragment, videosFragment)
} // }
//
//
@SuppressLint("SetTextI18n") // @SuppressLint("SetTextI18n")
override fun initView() { // override fun initView() {
BarUtils.setStatusBarLightMode(this, true) // BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) // BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
//
binding.viewpager2.run { // binding.viewpager2.run {
adapter = object : FragmentStateAdapter(this@PrivacySpaceActivity) { // adapter = object : FragmentStateAdapter(this@PrivacySpaceActivity) {
override fun getItemCount(): Int { // override fun getItemCount(): Int {
return fragments.size // return fragments.size
} // }
//
override fun createFragment(position: Int): Fragment { // override fun createFragment(position: Int): Fragment {
return fragments[position] // return fragments[position]
} // }
} // }
} // }
binding.viewpager2.registerOnPageChangeCallback(object : // binding.viewpager2.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() { // ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) { // override fun onPageSelected(position: Int) {
if (position == 0) { // if (position == 0) {
binding.llPhotos.isSelected = true // binding.llPhotos.isSelected = true
binding.llVideos.isSelected = false // binding.llVideos.isSelected = false
} else { // } else {
binding.llVideos.isSelected = true // binding.llVideos.isSelected = true
binding.llPhotos.isSelected = false // binding.llPhotos.isSelected = false
} // }
} // }
}) // })
if (privacyPinPassword.isEmpty()) { // if (privacyPinPassword.isEmpty()) {
binding.tvUninstallTip.setTextColor(Color.parseColor("#FAB44B")) // binding.tvUninstallTip.setTextColor(Color.parseColor("#FAB44B"))
binding.tvGoOrSetting.text = "Setting" // binding.tvGoOrSetting.text = "Setting"
} else { // } else {
binding.tvPinTip.visibility = View.GONE // binding.tvPinTip.visibility = View.GONE
binding.tvGoOrSetting.text = "Got it" // binding.tvGoOrSetting.text = "Got it"
} // }
} // }
//
override fun initListener() { // override fun initListener() {
super.initListener() // super.initListener()
//
binding.tvGoOrSetting.setOnClickListener { // binding.tvGoOrSetting.setOnClickListener {
if (privacyPinPassword.isEmpty()) { // if (privacyPinPassword.isEmpty()) {
startActivity(Intent(this, PrivacyPinOneActivity::class.java)) // startActivity(Intent(this, PrivacyPinOneActivity::class.java))
} else { // } else {
binding.llTip.visibility = View.GONE // binding.llTip.visibility = View.GONE
} // }
} // }
binding.llPhotos.setOnClickListener { // binding.llPhotos.setOnClickListener {
binding.viewpager2.currentItem = 0 // binding.viewpager2.currentItem = 0
} // }
binding.llVideos.setOnClickListener { // binding.llVideos.setOnClickListener {
binding.viewpager2.currentItem = 1 // binding.viewpager2.currentItem = 1
} // }
onBackPressedDispatcher.addCallback { // onBackPressedDispatcher.addCallback {
showExitFunctionDialog(true) { // showExitFunctionDialog(true) {
if (it) { // if (it) {
AdmobMaxHelper.admobMaxShowInterstitialAd(this@PrivacySpaceActivity) { // AdmobMaxHelper.admobMaxShowInterstitialAd(this@PrivacySpaceActivity) {
finishToMain() // finishToMain()
} // }
} else { // } else {
finishToMain() // finishToMain()
} // }
} // }
} // }
binding.flFanhui.setOnClickListener { // binding.flFanhui.setOnClickListener {
onBackPressedDispatcher.onBackPressed() // onBackPressedDispatcher.onBackPressed()
} // }
//
} // }
//
} //}
\ No newline at end of file \ No newline at end of file
...@@ -10,7 +10,8 @@ object ConstObject { ...@@ -10,7 +10,8 @@ object ConstObject {
const val ID_RECOVERY_PHOTOS = 13000 const val ID_RECOVERY_PHOTOS = 13000
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 = 12001//截图清理
const val RECOVERY_PHOTOS = "Recovery Photos" const val RECOVERY_PHOTOS = "Recovery Photos"
const val RECOVERY_VIDEOS = "Recovery Videos" const val RECOVERY_VIDEOS = "Recovery Videos"
......
...@@ -16,12 +16,12 @@ import com.base.filerecoveryrecyclebin.MyApplication ...@@ -16,12 +16,12 @@ import com.base.filerecoveryrecyclebin.MyApplication
import com.base.filerecoveryrecyclebin.R import com.base.filerecoveryrecyclebin.R
import com.base.filerecoveryrecyclebin.activity.SplashActivity import com.base.filerecoveryrecyclebin.activity.SplashActivity
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_JUNK_CLEAN_PUSH import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_JUNK_CLEAN_PUSH
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_PRIVACY_SPACE
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_DOCUMENTS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_DOCUMENTS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_PHOTOS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_PHOTOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_VIDEOS import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_RECOVERY_VIDEOS
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SCREENSHOT_CLEAN import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SCREENSHOT_CLEAN
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SIMILAR_IMAGE import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_SIMILAR_IMAGE
import com.base.filerecoveryrecyclebin.bean.ConstObject.ID_WHATSAPP
import com.base.filerecoveryrecyclebin.utils.AppPreferences import com.base.filerecoveryrecyclebin.utils.AppPreferences
import com.base.filerecoveryrecyclebin.utils.CleanJunkStringResourceManager import com.base.filerecoveryrecyclebin.utils.CleanJunkStringResourceManager
import com.base.filerecoveryrecyclebin.utils.DocumentRecoveryStringManager import com.base.filerecoveryrecyclebin.utils.DocumentRecoveryStringManager
...@@ -31,6 +31,7 @@ import com.base.filerecoveryrecyclebin.utils.PhotoRecoveryStringManager ...@@ -31,6 +31,7 @@ import com.base.filerecoveryrecyclebin.utils.PhotoRecoveryStringManager
import com.base.filerecoveryrecyclebin.utils.PrivacySpaceStringManager import com.base.filerecoveryrecyclebin.utils.PrivacySpaceStringManager
import com.base.filerecoveryrecyclebin.utils.ScreenshotCleanupStringManager import com.base.filerecoveryrecyclebin.utils.ScreenshotCleanupStringManager
import com.base.filerecoveryrecyclebin.utils.VideoRecoveryStringManager import com.base.filerecoveryrecyclebin.utils.VideoRecoveryStringManager
import com.base.filerecoveryrecyclebin.utils.WhatsappCleanerStringManager
import java.util.Random import java.util.Random
/** /**
...@@ -86,10 +87,10 @@ object NotificationUtil { ...@@ -86,10 +87,10 @@ object NotificationUtil {
btn = "Restore Document" btn = "Restore Document"
} }
ID_PRIVACY_SPACE -> { ID_WHATSAPP -> {
icon = R.mipmap.space icon = R.mipmap.h_whatsapp
desc = PrivacySpaceStringManager.getNextPrivacySpaceCopy() desc = WhatsappCleanerStringManager.getNextCleanerCopy()
btn = "Hide Content" btn = "WhatsApp Cleaner"
} }
} }
bigRemoteViews.setImageViewResource(R.id.iv_icon, icon) bigRemoteViews.setImageViewResource(R.id.iv_icon, icon)
...@@ -271,6 +272,6 @@ object NotificationUtil { ...@@ -271,6 +272,6 @@ object NotificationUtil {
ID_RECOVERY_PHOTOS, ID_RECOVERY_PHOTOS,
ID_RECOVERY_VIDEOS, ID_RECOVERY_VIDEOS,
ID_RECOVERY_DOCUMENTS, ID_RECOVERY_DOCUMENTS,
ID_PRIVACY_SPACE, ID_WHATSAPP
) )
} }
\ No newline at end of file
package com.base.filerecoveryrecyclebin.fragment //package com.base.filerecoveryrecyclebin.fragment
//
import android.annotation.SuppressLint //import android.annotation.SuppressLint
import androidx.lifecycle.lifecycleScope //import androidx.lifecycle.lifecycleScope
import com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyImportActivity //import com.base.filerecoveryrecyclebin.adapter.MediaAdapter
import com.base.filerecoveryrecyclebin.adapter.MediaAdapter //import com.base.filerecoveryrecyclebin.bean.MediaBean
import com.base.filerecoveryrecyclebin.bean.MediaBean //import com.base.filerecoveryrecyclebin.bean.MediaTimeBean
import com.base.filerecoveryrecyclebin.bean.MediaTimeBean //import com.base.filerecoveryrecyclebin.databinding.FragmentPrivacyFileImportBinding
import com.base.filerecoveryrecyclebin.databinding.FragmentPrivacyFileImportBinding //import com.base.filerecoveryrecyclebin.help.BaseFragment
import com.base.filerecoveryrecyclebin.help.BaseFragment //import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getImageMedia
import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getImageMedia //import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getVideoMedia
import com.base.filerecoveryrecyclebin.help.MediaStoreHelp.getVideoMedia //import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Dispatchers //import kotlinx.coroutines.launch
import kotlinx.coroutines.launch //import java.text.SimpleDateFormat
import java.text.SimpleDateFormat //import java.util.HashMap
import java.util.HashMap //import java.util.Locale
import java.util.Locale //
//class PrivacyFileImportFragment(val type: String) : BaseFragment<FragmentPrivacyFileImportBinding>() {
class PrivacyFileImportFragment(val type: String) : BaseFragment<FragmentPrivacyFileImportBinding>() { //
// override val binding: FragmentPrivacyFileImportBinding by lazy {
override val binding: FragmentPrivacyFileImportBinding by lazy { // FragmentPrivacyFileImportBinding.inflate(layoutInflater)
FragmentPrivacyFileImportBinding.inflate(layoutInflater) // }
} // private lateinit var adapter: MediaAdapter
private lateinit var adapter: MediaAdapter //
// override fun setView() {
override fun setView() { // adapter = MediaAdapter { pair ->
adapter = MediaAdapter { pair -> // binding.tvSelectAll.text = if (pair.first) "Unselect ALL" else "Select All"
binding.tvSelectAll.text = if (pair.first) "Unselect ALL" else "Select All" // (requireActivity() as PrivacyImportActivity).showCardImport(type,pair.second)
(requireActivity() as PrivacyImportActivity).showCardImport(type,pair.second) // }
} // binding.rv.adapter = adapter
binding.rv.adapter = adapter //
// initData()
initData() // }
} //
// @SuppressLint("SetTextI18n")
@SuppressLint("SetTextI18n") // override fun setListener() {
override fun setListener() { // binding.tvSelectAll.setOnClickListener {
binding.tvSelectAll.setOnClickListener { // val text = binding.tvSelectAll.text
val text = binding.tvSelectAll.text // if (text == "Unselect ALL") {
if (text == "Unselect ALL") { // adapter.toggleAllSelect(false)
adapter.toggleAllSelect(false) // } else {
} else { // adapter.toggleAllSelect(true)
adapter.toggleAllSelect(true) // }
} // }
} // }
} //
// private fun initData() = lifecycleScope.launch(Dispatchers.IO) {
private fun initData() = lifecycleScope.launch(Dispatchers.IO) { // val list = arrayListOf<MediaBean>()
val list = arrayListOf<MediaBean>() // if (type == "Photos") {
if (type == "Photos") { // requireContext().getImageMedia(list)
requireContext().getImageMedia(list) // } else {
} else { // requireContext().getVideoMedia(list)
requireContext().getVideoMedia(list) // }
} //
// val hashMap = HashMap<String, ArrayList<MediaBean>>()
val hashMap = HashMap<String, ArrayList<MediaBean>>() // list.forEach {
list.forEach { // val time = SimpleDateFormat("yyyy-MMM-dd", Locale.getDefault()).format(it.time)
val time = SimpleDateFormat("yyyy-MMM-dd", Locale.getDefault()).format(it.time) // if (hashMap[time].isNullOrEmpty()) {
if (hashMap[time].isNullOrEmpty()) { // hashMap[time] = arrayListOf()
hashMap[time] = arrayListOf() // }
} // hashMap[time]?.add(it)
hashMap[time]?.add(it) // }
} //
// val beanList = hashMap.map {
val beanList = hashMap.map { // MediaTimeBean(it.key, it.value)
MediaTimeBean(it.key, it.value) // }
} //
// launch(Dispatchers.Main) {
launch(Dispatchers.Main) { // adapter.setData(beanList)
adapter.setData(beanList) // }
} //
// }
} //
//
//}
} \ No newline at end of file
\ No newline at end of file
package com.base.filerecoveryrecyclebin.utils;
import java.util.ArrayList;
import java.util.List;
public class WhatsappCleanerStringManager {
private static final List<String> documentRecoveryCopies = new ArrayList<>();
private static int currentCopyIndex = 0;
static {
// 初始化并添加文案到列表
documentRecoveryCopies.add("Lost a vital document? Our recovery service might be able to help.");
documentRecoveryCopies.add("Can't find an important document? Try our recovery tool today.");
documentRecoveryCopies.add("Accidentally deleted a document? Recover it with ease using our service.");
documentRecoveryCopies.add("Don't panic over lost documents – our recovery feature is here to assist.");
documentRecoveryCopies.add("Regain access to deleted documents with our simple recovery process.");
}
public static String getNextCleanerCopy() {
if (documentRecoveryCopies.isEmpty()) {
return null; // 根据您的需要处理错误情况
}
String copy = documentRecoveryCopies.get(currentCopyIndex);
currentCopyIndex = (currentCopyIndex + 1) % documentRecoveryCopies.size();
return copy;
}
}
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