desc="This feature requires access to your storage to scan your files and clean up junk files and unused APK files. We will not transmit your data to any third-party service. Please grant permission so that we can provide you with better service.",
desc="This feature requires access to your storage to scan your files and clean up junk files and unused APK files. We will not transmit your data to any third-party service. Please grant permission so that we can provide you with better service.",
deny={finishToMain()},
deny={finishToMain()},
allow={
allow={
requestStorePermission(launcher,result={
requestStorePermission(launcher,result={
if(it){
if(it){
playLottie(false)
}else{
}else{
finishToMain()
finishToMain()
}
}
})
})
})
})
}
}
}
}
overridefuninitListener(){
overridefuninitListener(){
onBackPressedDispatcher.addCallback{
onBackPressedDispatcher.addCallback{
...
@@ -55,13 +59,13 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
...
@@ -55,13 +59,13 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
}
}
}
}
privatevarisPause=false
overridefunonResume(){
overridefunonResume(){
super.onResume()
super.onResume()
if(isPause){
if(checkStorePermission()){
binding.idJunkScan.resumeAnimation()
resumeLottie()
job=waitJob()
}
}
isPause=false
}
}
overridefunonDestroy(){
overridefunonDestroy(){
...
@@ -69,21 +73,23 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
...
@@ -69,21 +73,23 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
animator1?.cancel()
animator1?.cancel()
animator2?.cancel()
animator2?.cancel()
animator3?.cancel()
animator3?.cancel()
binding.idJunkScan.cancelAnimation()
binding.lottie.cancelAnimation()
}
}
overridefunonPause(){
overridefunonPause(){
super.onPause()
super.onPause()
isPause=true
animator1?.pause()
animator1?.pause()
animator2?.pause()
animator2?.pause()
animator3?.pause()
animator3?.pause()
binding.idJunkScan.pauseAnimation()
binding.lottie.pauseAnimation()
job?.cancel()
}
}
privatefunplayLottie(showAd:Boolean=true){
@SuppressLint("SetTextI18n")
vala1=ValueAnimator.ofFloat(0f,360f)
privatefunresumeLottie(){
a1.run{
if(animator1==null){
animator1=ValueAnimator.ofFloat(0f,360f)
animator1?.run{
duration=1000
duration=1000
repeatMode=ValueAnimator.RESTART
repeatMode=ValueAnimator.RESTART
repeatCount=ValueAnimator.INFINITE
repeatCount=ValueAnimator.INFINITE
...
@@ -91,10 +97,12 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
...
@@ -91,10 +97,12 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
addUpdateListener{
addUpdateListener{
binding.idView1.rotation=it.animatedValueasFloat
binding.idView1.rotation=it.animatedValueasFloat
}
}
start()
}
}
vala2=ValueAnimator.ofFloat(0f,360f)
}
a2.run{
animator1?.start()
if(animator2==null){
animator2=ValueAnimator.ofFloat(0f,360f)
animator2?.run{
duration=1000
duration=1000
repeatMode=ValueAnimator.RESTART
repeatMode=ValueAnimator.RESTART
repeatCount=ValueAnimator.INFINITE
repeatCount=ValueAnimator.INFINITE
...
@@ -102,10 +110,12 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
...
@@ -102,10 +110,12 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
addUpdateListener{
addUpdateListener{
binding.idView2.rotation=it.animatedValueasFloat
binding.idView2.rotation=it.animatedValueasFloat
}
}
start()
}
}
vala3=ValueAnimator.ofFloat(0f,360f)
}
a3.run{
animator2?.start()
if(animator3==null){
animator3=ValueAnimator.ofFloat(0f,360f)
animator3?.run{
duration=1000
duration=1000
repeatMode=ValueAnimator.RESTART
repeatMode=ValueAnimator.RESTART
repeatCount=ValueAnimator.INFINITE
repeatCount=ValueAnimator.INFINITE
...
@@ -113,32 +123,31 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {
...
@@ -113,32 +123,31 @@ class ScanJunkActivity : BaseActivity<ActivityLayoutScanJunkBinding>() {