Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
E
Easy Cleaner Junk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Easy Cleaner Junk
Commits
7bf156b6
Commit
7bf156b6
authored
Aug 30, 2024
by
guest
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除max
parent
43af6dc4
Show whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
204 additions
and
1455 deletions
+204
-1455
build.gradle
app/build.gradle
+1
-7
MyApplication.kt
.../main/java/com/test/easy/easycleanerjunk/MyApplication.kt
+0
-16
BackRelsutAt.kt
...va/com/test/easy/easycleanerjunk/activity/BackRelsutAt.kt
+3
-11
DeviceScanActivity.kt
.../test/easy/easycleanerjunk/activity/DeviceScanActivity.kt
+3
-10
ResultActivity.kt
.../com/test/easy/easycleanerjunk/activity/ResultActivity.kt
+2
-7
AppManagerActivity.kt
...easycleanerjunk/activity/appmanager/AppManagerActivity.kt
+13
-39
AppManagerAnimationActivity.kt
...erjunk/activity/appmanager/AppManagerAnimationActivity.kt
+5
-14
AProcessAnimalActivity.kt
...cleanerjunk/activity/appprocess/AProcessAnimalActivity.kt
+4
-13
BatteryInfoActivity.kt
...sycleanerjunk/activity/batteryinfo/BatteryInfoActivity.kt
+12
-34
BatteryInfoAnimationActivity.kt
...junk/activity/batteryinfo/BatteryInfoAnimationActivity.kt
+6
-16
LargeFileAnimationActivity.kt
...anerjunk/activity/largefile/LargeFileAnimationActivity.kt
+5
-12
LargeFileCleanActivity.kt
...ycleanerjunk/activity/largefile/LargeFileCleanActivity.kt
+13
-41
CompressionPhotoListActivity.kt
...ivity/photocompress/photo/CompressionPhotoListActivity.kt
+13
-35
PreviewCompressionPhotoActivity.kt
...ty/photocompress/photo/PreviewCompressionPhotoActivity.kt
+7
-20
StartCompressionPhotoActivity.kt
...vity/photocompress/photo/StartCompressionPhotoActivity.kt
+9
-24
FileRecoveredActivity.kt
...easycleanerjunk/activity/recover/FileRecoveredActivity.kt
+5
-20
FileScanResultActivity.kt
...asycleanerjunk/activity/recover/FileScanResultActivity.kt
+4
-16
CleanGuestActivity.kt
...y/easycleanerjunk/activity/scanjunk/CleanGuestActivity.kt
+3
-12
CleanJunkActivity.kt
...sy/easycleanerjunk/activity/scanjunk/CleanJunkActivity.kt
+11
-35
PrepareScanActivity.kt
.../easycleanerjunk/activity/scanjunk/PrepareScanActivity.kt
+4
-14
ScreenShotActivity.kt
...easycleanerjunk/activity/screenshot/ScreenShotActivity.kt
+16
-49
ScreenShotAnimationActivity.kt
...erjunk/activity/screenshot/ScreenShotAnimationActivity.kt
+4
-13
RepeatPhotoActivity.kt
...cleanerjunk/activity/similarphotos/RepeatPhotoActivity.kt
+15
-48
RepeatPhotoAnimationActivity.kt
...nk/activity/similarphotos/RepeatPhotoAnimationActivity.kt
+4
-13
NewSplashActivity.kt
...easy/easycleanerjunk/activity/splash/NewSplashActivity.kt
+0
-20
WhatsAppCleanerActivity.kt
...ycleanerjunk/activity/whatsapp/WhatsAppCleanerActivity.kt
+12
-34
WhatsAppCleanerAnimationActivity.kt
...unk/activity/whatsapp/WhatsAppCleanerAnimationActivity.kt
+4
-13
WhatsAppMessageCleanActivity.kt
...nerjunk/activity/whatsapp/WhatsAppMessageCleanActivity.kt
+11
-37
FcmService.java
...in/java/com/test/easy/easycleanerjunk/fcm/FcmService.java
+1
-2
BlackUtils.kt
...in/java/com/test/easy/easycleanerjunk/helps/BlackUtils.kt
+2
-2
ComUtils.kt
...main/java/com/test/easy/easycleanerjunk/helps/ComUtils.kt
+3
-3
AdsUtils.kt
.../java/com/test/easy/easycleanerjunk/helps/ads/AdsUtils.kt
+6
-6
MaxAdUtils.kt
...ava/com/test/easy/easycleanerjunk/helps/ads/MaxAdUtils.kt
+0
-795
DialogViews.kt
...in/java/com/test/easy/easycleanerjunk/view/DialogViews.kt
+1
-8
FileScanDialog.kt
...java/com/test/easy/easycleanerjunk/view/FileScanDialog.kt
+1
-8
PopExitWindow.kt
.../java/com/test/easy/easycleanerjunk/view/PopExitWindow.kt
+1
-8
No files found.
app/build.gradle
View file @
7bf156b6
...
...
@@ -116,13 +116,7 @@ dependencies {
implementation
'com.google.android.ump:user-messaging-platform:2.1.0'
implementation
"com.squareup.okhttp3:okhttp:4.9.0"
implementation
'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation
'com.applovin:applovin-sdk:+'
implementation
'com.applovin.mediation:google-adapter:+'
implementation
'com.applovin.mediation:ironsource-adapter:+'
implementation
'com.applovin.mediation:vungle-adapter:+'
implementation
'com.applovin.mediation:facebook-adapter:+'
implementation
'com.applovin.mediation:mintegral-adapter:+'
implementation
'com.applovin.mediation:bytedance-adapter:+'
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/MyApplication.kt
View file @
7bf156b6
...
...
@@ -20,7 +20,6 @@ import com.test.easy.easycleanerjunk.helps.EventUtils
import
com.test.easy.easycleanerjunk.helps.InstallHelps
import
com.test.easy.easycleanerjunk.helps.LogEx
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.ActivityManagerUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
org.json.JSONObject
...
...
@@ -142,20 +141,6 @@ class MyApplication : BaseApplication() {
flag
=
false
}
if
(
flag
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
)
{
if
(
MaxAdUtils
.
isOpenAdLoaded
())
{
MaxAdUtils
.
showAppOpenAd
(
activity
)
}
else
{
topActivity
?.
startActivity
(
Intent
(
topActivity
,
NewSplashActivity
::
class
.
java
).
apply
{
putExtra
(
"isHotLaunch"
,
true
)
putExtra
(
"type"
,
-
1
)
})
}
}
else
{
if
(
AdmobUtils
.
isOpenAdLoaded
())
{
AdmobUtils
.
showAppOpenAd
(
activity
)
}
else
{
...
...
@@ -172,7 +157,6 @@ class MyApplication : BaseApplication() {
}
}
}
override
fun
onActivityResumed
(
activity
:
Activity
)
{
LogEx
.
logDebug
(
"glc"
,
"onActivityResumed"
+
activity
.
localClassName
)
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/BackRelsutAt.kt
View file @
7bf156b6
...
...
@@ -16,9 +16,7 @@ import com.test.easy.easycleanerjunk.activity.similarphotos.RepeatPhotoAnimation
import
com.test.easy.easycleanerjunk.activity.whatsapp.WhatsAppCleanerAnimationActivity
import
com.test.easy.easycleanerjunk.databinding.AtLayoutBackRelustBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
...
...
@@ -88,15 +86,9 @@ class BackRelsutAt:BaseActivity<AtLayoutBackRelustBinding>() {
}
onBackPressedDispatcher
.
addCallback
(
object
:
OnBackPressedCallback
(
true
)
{
override
fun
handleOnBackPressed
()
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@BackRelsutAt
){
AdsUtils
.
showInterAds
(
this
@BackRelsutAt
){
finishToMain
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@BackRelsutAt
){
finishToMain
()
}
}
}
})
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/DeviceScanActivity.kt
View file @
7bf156b6
...
...
@@ -12,8 +12,7 @@ import com.test.easy.easycleanerjunk.adapter.DeviceScanAdapter
import
com.test.easy.easycleanerjunk.databinding.ActivityDeviceScanBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
kotlin.math.abs
...
...
@@ -74,15 +73,9 @@ class DeviceScanActivity : BaseActivity<ActivityDeviceScanBinding>() {
if
(
isShowDeviceAd
==
0
)
{
nextPage
()
}
else
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
)
{
MaxAdUtils
.
showInterstitialAd
(
this
)
{
AdsUtils
.
showInterAds
(
this
){
nextPage
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
)
{
nextPage
()
}
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/ResultActivity.kt
View file @
7bf156b6
...
...
@@ -17,10 +17,8 @@ import com.test.easy.easycleanerjunk.activity.whatsapp.WhatsAppCleanerAnimationA
import
com.test.easy.easycleanerjunk.adapter.AppFunctionAdapter
import
com.test.easy.easycleanerjunk.databinding.ActivityLayoutResultBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb.APP_MANAGER
...
...
@@ -153,11 +151,8 @@ class ResultActivity : BaseActivity<ActivityLayoutResultBinding>() {
val
ss
=
SPUtils
.
getInstance
().
getInt
(
"isShowResultNaAd"
,
0
)
if
(
ss
==
1
)
{
binding
.
flAd
.
visibility
=
View
.
VISIBLE
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
@ResultActivity
,
binding
.
flAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
@ResultActivity
,
binding
.
flAd
)
}
}
else
{
binding
.
flAd
.
visibility
=
View
.
GONE
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/appmanager/AppManagerActivity.kt
View file @
7bf156b6
...
...
@@ -14,10 +14,9 @@ import com.test.easy.easycleanerjunk.adapter.AppUninstallAdapter
import
com.test.easy.easycleanerjunk.bean.AppUninstallBean
import
com.test.easy.easycleanerjunk.databinding.ActivityAppManagerBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.mustShowNativeAd
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils
import
com.test.easy.easycleanerjunk.helps.ads.
Ads
Utils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
...
...
@@ -53,8 +52,7 @@ class AppManagerActivity : BaseActivity<ActivityAppManagerBinding>() {
}
onBackPressedDispatcher
.
addCallback
{
showDialogFunctionExit
(
AFunOb
.
APP_MANAGER
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@AppManagerActivity
)
{
AdsUtils
.
showInterAds
(
this
@AppManagerActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -70,25 +68,6 @@ class AppManagerActivity : BaseActivity<ActivityAppManagerBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@AppManagerActivity
)
{
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@AppManagerActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
}
...
...
@@ -113,13 +92,8 @@ class AppManagerActivity : BaseActivity<ActivityAppManagerBinding>() {
binding
.
progressBar
.
visibility
=
View
.
GONE
adapter
.
setData
(
list
)
if
(
list
.
size
>
6
||
mustShowNativeAd
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
@AppManagerActivity
,
binding
.
flAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
@AppManagerActivity
,
binding
.
flAd
)
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/appmanager/AppManagerAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -9,8 +9,7 @@ import androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityAppManagerAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -63,19 +62,11 @@ class AppManagerAnimationActivity : BaseActivity<ActivityAppManagerAnimationBind
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@AppManagerAnimationActivity
)
{
AdsUtils
.
showInterAds
(
this
@AppManagerAnimationActivity
){
binding
.
lottie
.
cancelAnimation
()
startActivity
(
Intent
(
this
@AppManagerAnimationActivity
,
AppManagerActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@AppManagerAnimationActivity
)
{
binding
.
lottie
.
cancelAnimation
()
startActivity
(
Intent
(
this
@AppManagerAnimationActivity
,
AppManagerActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/appprocess/AProcessAnimalActivity.kt
View file @
7bf156b6
...
...
@@ -5,9 +5,7 @@ import android.view.View
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityLayoutAprocessAnimalBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -48,16 +46,9 @@ class AProcessAnimalActivity:BaseActivity<ActivityLayoutAprocessAnimalBinding>()
binding
.
idLottieFinish
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@AProcessAnimalActivity
)
{
AdsUtils
.
showInterAds
(
this
@AProcessAnimalActivity
){
startActivity
(
Intent
(
this
@AProcessAnimalActivity
,
AprocessActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@AProcessAnimalActivity
)
{
startActivity
(
Intent
(
this
@AProcessAnimalActivity
,
AprocessActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/batteryinfo/BatteryInfoActivity.kt
View file @
7bf156b6
...
...
@@ -11,9 +11,7 @@ import com.test.easy.easycleanerjunk.activity.BackRelsutAt
import
com.test.easy.easycleanerjunk.activity.ResultActivity
import
com.test.easy.easycleanerjunk.databinding.ActivityLayoutBatteryInfoBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.service.BatteryReceiver
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
...
...
@@ -70,8 +68,7 @@ class BatteryInfoActivity : BaseActivity<ActivityLayoutBatteryInfoBinding>() {
}
onBackPressedDispatcher
.
addCallback
{
showDialogFunctionExit
(
AFunOb
.
BATTERY_INFO
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@BatteryInfoActivity
,
isShowInterVal
=
false
)
{
AdsUtils
.
showInterAds
(
this
@BatteryInfoActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -87,25 +84,6 @@ class BatteryInfoActivity : BaseActivity<ActivityLayoutBatteryInfoBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@BatteryInfoActivity
,
isShowInterVal
=
false
)
{
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@BatteryInfoActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
binding
.
idTvGotIt
.
setOnClickListener
{
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/batteryinfo/BatteryInfoAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -7,9 +7,7 @@ import androidx.activity.addCallback
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityBatteryInfoAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -58,19 +56,11 @@ class BatteryInfoAnimationActivity : BaseActivity<ActivityBatteryInfoAnimationBi
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@BatteryInfoAnimationActivity
)
{
AdsUtils
.
showInterAds
(
this
@BatteryInfoAnimationActivity
){
binding
.
lottie
.
clearAnimation
()
startActivity
(
Intent
(
this
@BatteryInfoAnimationActivity
,
BatteryInfoActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@BatteryInfoAnimationActivity
)
{
binding
.
lottie
.
clearAnimation
()
startActivity
(
Intent
(
this
@BatteryInfoAnimationActivity
,
BatteryInfoActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/largefile/LargeFileAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -9,8 +9,7 @@ import androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityLargeFileAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -61,16 +60,10 @@ class LargeFileAnimationActivity : BaseActivity<ActivityLargeFileAnimationBindin
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@LargeFileAnimationActivity
)
{
AdsUtils
.
showInterAds
(
this
@LargeFileAnimationActivity
){
startActivity
(
Intent
(
this
@LargeFileAnimationActivity
,
LargeFileCleanActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@LargeFileAnimationActivity
)
{
startActivity
(
Intent
(
this
@LargeFileAnimationActivity
,
LargeFileCleanActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/largefile/LargeFileCleanActivity.kt
View file @
7bf156b6
...
...
@@ -40,7 +40,6 @@ import com.test.easy.easycleanerjunk.databinding.ActivityLayoutLargeFileBinding
import
com.test.easy.easycleanerjunk.databinding.ItemFileFilterBinding
import
com.test.easy.easycleanerjunk.databinding.PopupwindowFileFilterBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.mustShowNativeAd
import
com.test.easy.easycleanerjunk.helps.LogEx
import
com.test.easy.easycleanerjunk.helps.MediaStoreUtils
...
...
@@ -48,7 +47,7 @@ import com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.TimeUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils
import
com.test.easy.easycleanerjunk.helps.ads.
Ads
Utils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
import
com.test.easy.easycleanerjunk.view.DialogViews.showDialogFunctionExit
...
...
@@ -194,9 +193,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() {
}
onBackPressedDispatcher
.
addCallback
{
showDialogFunctionExit
(
AFunOb
.
LARGE_FILE_CLEANER
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@LargeFileCleanActivity
)
{
// finishToMain()
AdsUtils
.
showInterAds
(
this
@LargeFileCleanActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -212,26 +209,6 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@LargeFileCleanActivity
)
{
// finishToMain()
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@LargeFileCleanActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
}
...
...
@@ -258,13 +235,8 @@ class LargeFileCleanActivity : BaseActivity<ActivityLayoutLargeFileBinding>() {
binding
.
llTime
.
isEnabled
=
true
}
if
(
largeFileList
.
size
>
6
||
mustShowNativeAd
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
@LargeFileCleanActivity
,
binding
.
flAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
@LargeFileCleanActivity
,
binding
.
flAd
)
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/photocompress/photo/CompressionPhotoListActivity.kt
View file @
7bf156b6
...
...
@@ -7,9 +7,7 @@ import androidx.core.view.updatePadding
import
com.test.easy.easycleanerjunk.activity.BackRelsutAt
import
com.test.easy.easycleanerjunk.databinding.ActivityCompressionPhotoListBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
...
...
@@ -39,8 +37,7 @@ class CompressionPhotoListActivity : BaseActivity<ActivityCompressionPhotoListBi
onBackPressedDispatcher
.
addCallback
(
object
:
OnBackPressedCallback
(
true
)
{
override
fun
handleOnBackPressed
()
{
showDialogFunctionExit
(
AFunOb
.
PHOTO_COMPRESS
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@CompressionPhotoListActivity
,
isShowInterVal
=
false
)
{
AdsUtils
.
showInterAds
(
this
@CompressionPhotoListActivity
){
PhotoCache
.
getInstance
().
clearCache
()
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
...
...
@@ -57,25 +54,6 @@ class CompressionPhotoListActivity : BaseActivity<ActivityCompressionPhotoListBi
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@CompressionPhotoListActivity
,
isShowInterVal
=
false
)
{
PhotoCache
.
getInstance
().
clearCache
()
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@CompressionPhotoListActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
})
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/photocompress/photo/PreviewCompressionPhotoActivity.kt
View file @
7bf156b6
...
...
@@ -7,9 +7,7 @@ import androidx.core.view.updatePadding
import
com.test.easy.easycleanerjunk.R
import
com.test.easy.easycleanerjunk.databinding.ActivityPreviewCompressionPhotoBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
...
...
@@ -41,24 +39,13 @@ class PreviewCompressionPhotoActivity : BaseActivity<ActivityPreviewCompressionP
dialog
.
setButtonClickListener
(
R
.
id
.
btnContinue
)
{
dialog
.
dismiss
()
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
)
{
CompressionPhotoListActivity
.
mActivity
?.
finish
()
AdsUtils
.
showInterAds
(
this
){
val
intent
=
Intent
(
this
,
CompressioningActivity
::
class
.
java
)
intent
.
putExtra
(
"mode"
,
manager
.
getMode
())
startActivity
(
intent
)
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
)
{
CompressionPhotoListActivity
.
mActivity
?.
finish
()
val
intent
=
Intent
(
this
,
CompressioningActivity
::
class
.
java
)
intent
.
putExtra
(
"mode"
,
manager
.
getMode
())
startActivity
(
intent
)
finish
()
}
}
}
dialog
.
show
()
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/photocompress/photo/StartCompressionPhotoActivity.kt
View file @
7bf156b6
...
...
@@ -9,11 +9,9 @@ import androidx.core.view.updatePadding
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityStartCompressionPhotoBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.view.DialogViews.showGerPermission
import
kotlinx.coroutines.Dispatchers
...
...
@@ -83,8 +81,7 @@ class StartCompressionPhotoActivity : BaseActivity<ActivityStartCompressionPhoto
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
aContext
)
{
AdsUtils
.
showInterAds
(
this
@StartCompressionPhotoActivity
){
val
mList
=
ImagesMediaUtils
.
getAlbums
(
aContext
)
if
(
mList
.
isNotEmpty
())
{
startActivity
(
Intent
(
aContext
,
CompressionPhotoListActivity
::
class
.
java
))
...
...
@@ -94,18 +91,6 @@ class StartCompressionPhotoActivity : BaseActivity<ActivityStartCompressionPhoto
finish
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
aContext
)
{
val
mList
=
ImagesMediaUtils
.
getAlbums
(
aContext
)
if
(
mList
.
isNotEmpty
())
{
startActivity
(
Intent
(
aContext
,
CompressionPhotoListActivity
::
class
.
java
))
finish
()
}
else
{
startActivity
(
Intent
(
aContext
,
CompressionPhotoListActivity
::
class
.
java
))
finish
()
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/recover/FileRecoveredActivity.kt
View file @
7bf156b6
...
...
@@ -7,11 +7,9 @@ import androidx.activity.addCallback
import
com.test.easy.easycleanerjunk.R
import
com.test.easy.easycleanerjunk.databinding.ActivityFileRecoveredBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.SCAN_PHOTOS
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.SCAN_VIDEOS
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
java.io.File
...
...
@@ -49,27 +47,14 @@ class FileRecoveredActivity : BaseActivity<ActivityFileRecoveredBinding>() {
onBackPressedDispatcher
.
onBackPressed
()
}
onBackPressedDispatcher
.
addCallback
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@FileRecoveredActivity
)
{
AdsUtils
.
showInterAds
(
this
@FileRecoveredActivity
){
finishToMain
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@FileRecoveredActivity
)
{
finishToMain
()
}
}
}
binding
.
tvContinue
.
setOnClickListener
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@FileRecoveredActivity
)
{
AdsUtils
.
showInterAds
(
this
){
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@FileRecoveredActivity
)
{
finish
()
}
}
}
binding
.
tvFinish
.
setOnClickListener
{
onBackPressedDispatcher
.
onBackPressed
()
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/recover/FileScanResultActivity.kt
View file @
7bf156b6
...
...
@@ -13,14 +13,12 @@ import com.test.easy.easycleanerjunk.bean.FolderBean
import
com.test.easy.easycleanerjunk.bean.RecoveryBean
import
com.test.easy.easycleanerjunk.databinding.ActivityFileScanResultBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.SCAN_PHOTOS
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.SCAN_VIDEOS
import
com.test.easy.easycleanerjunk.helps.FileHelps.loadFileByFilter
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.FileHexEx
import
com.test.easy.easycleanerjunk.view.DialogViews.showExitFunctionDialog
...
...
@@ -92,15 +90,9 @@ class FileScanResultActivity : BaseActivity<ActivityFileScanResultBinding>() {
onBackPressedDispatcher
.
addCallback
{
showExitFunctionDialog
{
if
(
it
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
)
{
MaxAdUtils
.
showInterstitialAd
(
this
@FileScanResultActivity
)
{
AdsUtils
.
showInterAds
(
this
@FileScanResultActivity
){
finishToMain
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@FileScanResultActivity
)
{
finishToMain
()
}
}
}
else
{
finishToMain
()
}
...
...
@@ -159,11 +151,7 @@ class FileScanResultActivity : BaseActivity<ActivityFileScanResultBinding>() {
binding
.
ivWancheng
.
visibility
=
View
.
VISIBLE
binding
.
tvScanning
.
text
=
"Completed"
if
(
isActive
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@FileScanResultActivity
)
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@FileScanResultActivity
)
}
AdsUtils
.
showInterAds
(
this
@FileScanResultActivity
)
}
binding
.
flEmpty
.
isVisible
=
pathList
.
isEmpty
()
setAdapterData
(
null
)
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/scanjunk/CleanGuestActivity.kt
View file @
7bf156b6
...
...
@@ -7,8 +7,7 @@ import androidx.core.view.updatePadding
import
com.test.easy.easycleanerjunk.databinding.ActivityLayoutCleanGuestBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
/**
...
...
@@ -29,17 +28,9 @@ class CleanGuestActivity : BaseActivity<ActivityLayoutCleanGuestBinding>() {
binding
.
idTvSkip
.
isVisible
=
true
// }, 3000)
binding
.
idTvSkip
.
setOnClickListener
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
){
AdsUtils
.
showInterAds
(
this
){
finishToMain
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
){
finishToMain
()
}
}
}
binding
.
idTvClean
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
PrepareScanActivity
::
class
.
java
))
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/scanjunk/CleanJunkActivity.kt
View file @
7bf156b6
...
...
@@ -26,9 +26,7 @@ import com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import
com.test.easy.easycleanerjunk.helps.MediaStoreUtils
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
...
...
@@ -110,9 +108,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
onBackPressedDispatcher
.
addCallback
(
object
:
OnBackPressedCallback
(
true
)
{
override
fun
handleOnBackPressed
()
{
showDialogFunctionExit
(
AFunOb
.
JUNK_CLEANER
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@CleanJunkActivity
)
{
//finishToMain()
AdsUtils
.
showInterAds
(
this
@CleanJunkActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -128,26 +124,6 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@CleanJunkActivity
)
{
//finishToMain()
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@CleanJunkActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/scanjunk/PrepareScanActivity.kt
View file @
7bf156b6
...
...
@@ -2,7 +2,6 @@ package com.test.easy.easycleanerjunk.activity.scanjunk
import
android.content.Intent
import
android.graphics.Color
import
android.util.Log
import
android.view.View
import
android.widget.Toast
import
androidx.activity.addCallback
...
...
@@ -13,8 +12,7 @@ import com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.view.DialogViews.showGerPermission
import
kotlinx.coroutines.Dispatchers
...
...
@@ -110,18 +108,10 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() {
binding
.
lottieCompleted
.
playAnimation
()
binding
.
idTv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
)
{
MaxAdUtils
.
showInterstitialAd
(
this
@PrepareScanActivity
)
{
Log
.
e
(
"MXL"
,
"waitJob: "
,
)
AdsUtils
.
showInterAds
(
this
@PrepareScanActivity
){
startActivity
(
Intent
(
this
@PrepareScanActivity
,
CleanJunkActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@PrepareScanActivity
)
{
startActivity
(
Intent
(
this
@PrepareScanActivity
,
CleanJunkActivity
::
class
.
java
))
finish
()
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/screenshot/ScreenShotActivity.kt
View file @
7bf156b6
...
...
@@ -11,14 +11,13 @@ import com.test.easy.easycleanerjunk.bean.ScreenPhotoBean
import
com.test.easy.easycleanerjunk.bean.ScreenshotBean
import
com.test.easy.easycleanerjunk.databinding.ActivityScreenShotBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.mustShowNativeAd
import
com.test.easy.easycleanerjunk.helps.FileHelps
import
com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils
import
com.test.easy.easycleanerjunk.helps.ads.
Ads
Utils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb
import
com.test.easy.easycleanerjunk.view.DialogViews.showDialogFunctionExit
...
...
@@ -82,13 +81,8 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
binding
.
tvSize
.
text
=
sizeF
[
0
]
binding
.
tvUnit
.
text
=
sizeF
[
1
]
if
(
list
.
sumOf
{
it
.
screenPhotoBean
.
size
}
>
6
||
mustShowNativeAd
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
@ScreenShotActivity
,
binding
.
flAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
@ScreenShotActivity
,
binding
.
flAd
)
}
}
}
}
...
...
@@ -98,27 +92,7 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
}
onBackPressedDispatcher
.
addCallback
{
showDialogFunctionExit
(
AFunOb
.
SCREENSHOT_CLEANER
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@ScreenShotActivity
)
{
//finishToMain()
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@ScreenShotActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@ScreenShotActivity
)
{
//finishToMain()
AdsUtils
.
showInterAds
(
this
@ScreenShotActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -135,8 +109,6 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
}
}
}
}
}
...
...
@@ -153,15 +125,10 @@ class ScreenShotActivity : BaseActivity<ActivityScreenShotBinding>() {
doDelete
()
}
else
{
showFileDeleteDialog
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
)
{
doDelete
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
)
{
AdsUtils
.
showInterAds
(
this
){
doDelete
()
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/screenshot/ScreenShotAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -7,9 +7,7 @@ import androidx.activity.OnBackPressedCallback
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityScreenShotAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -63,17 +61,10 @@ class ScreenShotAnimationActivity : BaseActivity<ActivityScreenShotAnimationBind
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@ScreenShotAnimationActivity
)
{
AdsUtils
.
showInterAds
(
this
@ScreenShotAnimationActivity
){
startActivity
(
Intent
(
this
@ScreenShotAnimationActivity
,
ScreenShotActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@ScreenShotAnimationActivity
)
{
startActivity
(
Intent
(
this
@ScreenShotAnimationActivity
,
ScreenShotActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/similarphotos/RepeatPhotoActivity.kt
View file @
7bf156b6
...
...
@@ -19,12 +19,11 @@ import com.test.easy.easycleanerjunk.bean.ImageDataBean
import
com.test.easy.easycleanerjunk.databinding.ActivityLayoutRepeatPhotoBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.BaseApplication
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.mustShowNativeAd
import
com.test.easy.easycleanerjunk.helps.FileHelps
import
com.test.easy.easycleanerjunk.helps.MediaStoreUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils
import
com.test.easy.easycleanerjunk.helps.ads.
Ads
Utils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.NewFileUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
...
...
@@ -56,8 +55,7 @@ class RepeatPhotoActivity : BaseActivity<ActivityLayoutRepeatPhotoBinding>() {
onBackPressedDispatcher
.
addCallback
(
object
:
OnBackPressedCallback
(
true
)
{
override
fun
handleOnBackPressed
()
{
showDialogFunctionExit
(
AFunOb
.
SIMILAR_PHOTOS
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@RepeatPhotoActivity
)
{
AdsUtils
.
showInterAds
(
this
@RepeatPhotoActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -73,25 +71,6 @@ class RepeatPhotoActivity : BaseActivity<ActivityLayoutRepeatPhotoBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@RepeatPhotoActivity
)
{
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@RepeatPhotoActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
})
...
...
@@ -116,16 +95,9 @@ class RepeatPhotoActivity : BaseActivity<ActivityLayoutRepeatPhotoBinding>() {
if
(
s
==
0
)
{
doDeleteFile
()
}
else
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
)
{
AdsUtils
.
showInterAds
(
this
){
doDeleteFile
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
)
{
doDeleteFile
()
}
}
}
}
...
...
@@ -164,13 +136,8 @@ class RepeatPhotoActivity : BaseActivity<ActivityLayoutRepeatPhotoBinding>() {
binding
.
idRlList
.
adapter
=
mAdapter
if
(
fileList
.
size
>
6
||
mustShowNativeAd
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
,
binding
.
flAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
,
binding
.
flAd
)
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/similarphotos/RepeatPhotoAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -8,9 +8,7 @@ import androidx.activity.addCallback
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityRepeatPhotoAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -57,17 +55,10 @@ class RepeatPhotoAnimationActivity : BaseActivity<ActivityRepeatPhotoAnimationBi
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@RepeatPhotoAnimationActivity
){
AdsUtils
.
showInterAds
(
this
@RepeatPhotoAnimationActivity
){
startActivity
(
Intent
(
this
@RepeatPhotoAnimationActivity
,
RepeatPhotoActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@RepeatPhotoAnimationActivity
){
startActivity
(
Intent
(
this
@RepeatPhotoAnimationActivity
,
RepeatPhotoActivity
::
class
.
java
))
finish
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/activity/splash/NewSplashActivity.kt
View file @
7bf156b6
...
...
@@ -15,7 +15,6 @@ import com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.EventUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.service.PermanentNotificationService.Companion.startNotification
import
com.test.easy.easycleanerjunk.utils.BarUtils
...
...
@@ -90,23 +89,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
}
private
fun
loadAd
()
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
loadAppOpenAd
(
activity
=
this
)
{
if
(
isFinishing
||
isDestroyed
)
{
return
@loadAppOpenAd
}
else
{
if
(!
isPause
)
{
mProgressManager
?.
pauseProgress
()
runOnUiThread
{
MaxAdUtils
.
showAppOpenAd
(
this
@NewSplashActivity
)
{
mProgressManager
?.
maxProgress
()
}
}
}
}
}
MaxAdUtils
.
loadInterstitialAd
(
this
)
}
else
{
AdmobUtils
.
loadAppOpenAd
{
if
(
isFinishing
||
isDestroyed
)
{
return
@loadAppOpenAd
...
...
@@ -124,8 +106,6 @@ class NewSplashActivity : BaseActivity<ActivityLayoutSplashBinding>(),
AdmobUtils
.
loadInterstitialAd
(
this
)
}
}
override
fun
onNewIntent
(
intent
:
Intent
)
{
super
.
onNewIntent
(
intent
)
setIntent
(
intent
)
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/whatsapp/WhatsAppCleanerActivity.kt
View file @
7bf156b6
...
...
@@ -13,14 +13,12 @@ import com.test.easy.easycleanerjunk.adapter.WhatsAppCleanerAdapter
import
com.test.easy.easycleanerjunk.bean.WhatsAppCleanerBean
import
com.test.easy.easycleanerjunk.databinding.ActivityWhatsAppCleanerBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.FileHelps.getDirFiles
import
com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import
com.test.easy.easycleanerjunk.helps.LogEx
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import
com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.FileHexEx.isImage
import
com.test.easy.easycleanerjunk.utils.FileHexEx.isVideo
...
...
@@ -81,8 +79,7 @@ class WhatsAppCleanerActivity : BaseActivity<ActivityWhatsAppCleanerBinding>() {
}
onBackPressedDispatcher
.
addCallback
{
showDialogFunctionExit
(
AFunOb
.
WHATSAPP_CLEANER
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@WhatsAppCleanerActivity
)
{
AdsUtils
.
showInterAds
(
this
@WhatsAppCleanerActivity
){
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
...
...
@@ -98,25 +95,6 @@ class WhatsAppCleanerActivity : BaseActivity<ActivityWhatsAppCleanerBinding>() {
finishToMain
()
}
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@WhatsAppCleanerActivity
)
{
val
s
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnCount"
,
0
)
if
(
s
==
1
)
{
val
localCount
=
SPUtils
.
getInstance
().
getInt
(
"localCount"
,
0
)
SPUtils
.
getInstance
().
put
(
"localCount"
,
localCount
+
1
)
val
n
=
SPUtils
.
getInstance
().
getInt
(
"outcomeReturnHomeCount"
,
0
)
if
(
localCount
<
n
)
{
startActivity
(
Intent
(
this
@WhatsAppCleanerActivity
,
BackRelsutAt
::
class
.
java
))
finish
()
}
else
{
finishToMain
()
}
}
else
{
finishToMain
()
}
}
}
}
}
binding
.
tvTvGotIt
.
setOnClickListener
{
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/whatsapp/WhatsAppCleanerAnimationActivity.kt
View file @
7bf156b6
...
...
@@ -8,8 +8,7 @@ import androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.databinding.ActivityWhatsAppCleanerAnimationBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Job
import
kotlinx.coroutines.delay
...
...
@@ -60,18 +59,10 @@ class WhatsAppCleanerAnimationActivity : BaseActivity<ActivityWhatsAppCleanerAni
binding
.
lottieCompleted
.
playAnimation
()
binding
.
tv
.
text
=
"Completed!"
delay
(
1000
)
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@WhatsAppCleanerAnimationActivity
)
{
AdsUtils
.
showInterAds
(
this
@WhatsAppCleanerAnimationActivity
){
startActivity
(
Intent
(
this
@WhatsAppCleanerAnimationActivity
,
WhatsAppCleanerActivity
::
class
.
java
))
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@WhatsAppCleanerAnimationActivity
)
{
startActivity
(
Intent
(
this
@WhatsAppCleanerAnimationActivity
,
WhatsAppCleanerActivity
::
class
.
java
))
finish
()
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/activity/whatsapp/WhatsAppMessageCleanActivity.kt
View file @
7bf156b6
...
...
@@ -11,10 +11,8 @@ import com.test.easy.easycleanerjunk.adapter.WhatsAppMediaAdapter
import
com.test.easy.easycleanerjunk.bean.ImageDataBean
import
com.test.easy.easycleanerjunk.databinding.ActivityWhatsAppMessageCleanBinding
import
com.test.easy.easycleanerjunk.helps.BaseActivity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.KotlinExt.toFormatSize
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.view.AFunOb.WHATSAPP_CLEANER
import
com.test.easy.easycleanerjunk.view.FileDeleteDialog.showFileDeleteDialog
...
...
@@ -70,17 +68,10 @@ class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBi
onBackPressedDispatcher
.
onBackPressed
()
}
onBackPressedDispatcher
.
addCallback
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
@WhatsAppMessageCleanActivity
,
isShowInterVal
=
false
)
{
finishToMain
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
@WhatsAppMessageCleanActivity
,
isShowInterVal
=
false
)
{
AdsUtils
.
showInterAds
(
this
@WhatsAppMessageCleanActivity
){
finishToMain
()
}
}
}
binding
.
llSelectAll
.
setOnClickListener
{
it
.
isSelected
=
!
it
.
isSelected
adapter
.
toggleSelect
(
it
.
isSelected
)
...
...
@@ -91,22 +82,8 @@ class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBi
}
binding
.
tvClean
.
setOnClickListener
{
showFileDeleteDialog
{
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showInterstitialAd
(
this
)
{
val
list
=
adapter
.
getSelectData
()
runCatching
{
list
.
forEach
{
File
(
it
).
delete
()
}
}
startActivity
(
Intent
(
this
,
ResultActivity
::
class
.
java
).
apply
{
putExtra
(
"from"
,
WHATSAPP_CLEANER
)
})
finish
()
}
}
else
{
AdmobUtils
.
showInterstitialAd
(
this
)
{
AdsUtils
.
showInterAds
(
this
){
val
list
=
adapter
.
getSelectData
()
runCatching
{
list
.
forEach
{
File
(
it
).
delete
()
}
...
...
@@ -115,11 +92,8 @@ class WhatsAppMessageCleanActivity : BaseActivity<ActivityWhatsAppMessageCleanBi
putExtra
(
"from"
,
WHATSAPP_CLEANER
)
})
finish
()
}
}
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/fcm/FcmService.java
View file @
7bf156b6
...
...
@@ -9,7 +9,6 @@ import com.google.firebase.messaging.RemoteMessage;
import
com.test.easy.easycleanerjunk.MyApplication
;
import
com.test.easy.easycleanerjunk.helps.EventUtils
;
import
com.test.easy.easycleanerjunk.helps.ads.AdDisplayUtils
;
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
;
import
com.test.easy.easycleanerjunk.utils.SPUtils
;
public
class
FcmService
extends
FirebaseMessagingService
{
...
...
@@ -48,7 +47,7 @@ public class FcmService extends FirebaseMessagingService {
}
}
MaxAdUtils
.
INSTANCE
.
setAdDisplayInterval
(
adInterval
);
//
MaxAdUtils.INSTANCE.setAdDisplayInterval(adInterval);
AdDisplayUtils
.
getInstance
().
setMaxAdDisplayCount
(
adShowCount
);
AdDisplayUtils
.
getInstance
().
setMaxAdClickCount
(
adClickCount
);
...
...
app/src/main/java/com/test/easy/easycleanerjunk/helps/BlackUtils.kt
View file @
7bf156b6
package
com.test.easy.easycleanerjunk.helps
import
com.test.easy.easycleanerjunk.BuildConfig
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
okhttp3.Call
import
okhttp3.Callback
...
...
@@ -70,7 +69,8 @@ object BlackUtils {
if
(
i
.
toString
()
!=
"null"
)
{
i
!!
.
groupValues
[
1
].
let
{
val
str
=
AESHelper
.
decrypt
(
it
)
MaxAdUtils
.
isBlack
=
str
.
equals
(
"true"
)
// MaxAdUtils.isBlack = str.equals("true")
}
}
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/helps/ComUtils.kt
View file @
7bf156b6
...
...
@@ -7,8 +7,8 @@ import com.google.gson.Gson
import
com.test.easy.easycleanerjunk.BuildConfig
import
com.test.easy.easycleanerjunk.bean.ConfigBean
import
com.test.easy.easycleanerjunk.helps.ads.AdDisplayUtils
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils.adDisplayInterval
import
com.test.easy.easycleanerjunk.helps.ads.
MaxAd
Utils.maxMultiClick
import
com.test.easy.easycleanerjunk.helps.ads.
Admob
Utils.adDisplayInterval
import
com.test.easy.easycleanerjunk.helps.ads.
Admob
Utils.maxMultiClick
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
okhttp3.Call
import
okhttp3.Callback
...
...
@@ -89,7 +89,7 @@ object ComUtils {
}
else
{
SPUtils
.
getInstance
().
put
(
"ifGuestFirstClean"
,
true
)
}
ConfigHelper
.
admobTrueMaxFlase
=
bean
.
admobTrueMaxFlase
ConfigHelper
.
admobTrueMaxFlase
=
1
ConfigHelper
.
openAdLoadFail
=
bean
.
openAdloadfail
ConfigHelper
.
isjunkPlayAd
=
bean
.
isjunkPlayAd
ConfigHelper
.
isGotItplayAd
=
bean
.
isGotItplayAd
...
...
app/src/main/java/com/test/easy/easycleanerjunk/helps/ads/AdsUtils.kt
View file @
7bf156b6
package
com.test.easy.easycleanerjunk.helps.ads
import
android.app.Activity
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
object
AdsUtils
{
fun
showInterAds
(
activity
:
Activity
,
callback
:
(()
->
Unit
)?
=
null
){
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
)
{
MaxAdUtils
.
showInterstitialAd
(
activity
,
onHidden
=
callback
)
}
else
{
AdmobUtils
.
showInterstitialAd
(
activity
,
onHidden
=
callback
)
}
AdmobUtils
.
showInterstitialAd
(
activity
,
onHidden
=
callback
,
isShowInterVal
=
false
)
// if (ConfigHelper.admobTrueMaxFlase == 0) {
// MaxAdUtils.showInterstitialAd(activity, onHidden = callback)
// } else {
//
// }
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/helps/ads/MaxAdUtils.kt
deleted
100644 → 0
View file @
43af6dc4
package
com.test.easy.easycleanerjunk.helps.ads
import
android.app.Activity
import
android.app.Dialog
import
android.content.Context
import
android.os.Bundle
import
android.util.Log
import
android.view.ViewGroup
import
androidx.core.view.isVisible
import
com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAdListener
import
com.applovin.mediation.MaxAdRevenueListener
import
com.applovin.mediation.MaxError
import
com.applovin.mediation.ads.MaxAppOpenAd
import
com.applovin.mediation.ads.MaxInterstitialAd
import
com.applovin.mediation.nativeAds.MaxNativeAdListener
import
com.applovin.mediation.nativeAds.MaxNativeAdLoader
import
com.applovin.mediation.nativeAds.MaxNativeAdView
import
com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import
com.facebook.appevents.AppEventsConstants
import
com.facebook.appevents.AppEventsLogger
import
com.google.firebase.analytics.FirebaseAnalytics
import
com.test.easy.easycleanerjunk.R
import
com.test.easy.easycleanerjunk.activity.photocompress.photo.CustomDialog
import
com.test.easy.easycleanerjunk.helps.BaseApplication
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ConfigHelper.isInterAdShow
import
com.test.easy.easycleanerjunk.helps.EventUtils
import
com.test.easy.easycleanerjunk.utils.ActivityManagerUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
org.json.JSONObject
import
java.math.BigDecimal
import
java.util.Currency
import
java.util.UUID
object
MaxAdUtils
{
private
var
openLoadTime
=
Long
.
MAX_VALUE
private
var
interLoadTime
=
Long
.
MAX_VALUE
private
var
nativeLoadTime
=
Long
.
MAX_VALUE
var
mOpenAd
:
MaxAppOpenAd
?
=
null
var
isBlack
=
false
get
()
{
return
SPUtils
.
getInstance
().
getBoolean
(
"isBlack"
,
field
)
}
set
(
value
)
{
field
=
value
SPUtils
.
getInstance
().
put
(
"isBlack"
,
value
,
true
)
}
fun
loadAppOpenAd
(
skip
:
Boolean
=
false
,
activity
:
Activity
,
onLoad
:
(()
->
Unit
)?
=
null
)
{
if
(
isBlack
)
{
EventUtils
.
event
(
"blacklist_filter"
)
onLoad
?.
invoke
()
return
}
if
(
mOpenAd
!=
null
||
skip
)
{
onLoad
?.
invoke
()
return
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
onLoad
?.
invoke
()
return
}
mOpenAd
=
MaxAppOpenAd
(
ConfigHelper
.
openMaxId
,
BaseApplication
.
context
)
if
(
isOpenAdLoaded
()
||
skip
)
{
onLoad
?.
invoke
()
return
}
val
reqId
=
UUID
.
randomUUID
().
toString
()
val
obj
=
JSONObject
()
obj
.
put
(
"req_id"
,
reqId
)
obj
.
put
(
"ad_type"
,
"openAd"
)
EventUtils
.
event
(
"ad_pull_start"
,
ext
=
obj
)
mOpenAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
openLoadTime
=
System
.
currentTimeMillis
()
onLoad
?.
invoke
()
maxAdPullReport
(
p0
,
"openAd"
,
reqId
=
reqId
)
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
mOpenAd
=
null
maxAdPullReport
(
null
,
"AppOpenAd"
,
p1
.
message
)
Log
.
e
(
"MXL"
,
"onAdLoadFailed: "
+
p1
.
message
)
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
if
(
ConfigHelper
.
openAdLoadFail
==
1
)
{
showInterstitialAd
(
activity
)
{
onLoad
?.
invoke
()
}
}
else
{
onLoad
?.
invoke
()
}
}
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{}
}
)
mOpenAd
?.
loadAd
()
AdDisplayUtils
.
getInstance
().
incrementAdRequestCount
()
}
fun
isOpenAdLoaded
()
=
mOpenAd
?.
isReady
==
true
fun
showAppOpenAd
(
activity
:
Activity
,
skip
:
Boolean
=
false
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
if
(
isBlack
)
{
onHidden
?.
invoke
()
return
}
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
return
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
onHidden
?.
invoke
()
return
}
val
obj
=
JSONObject
()
obj
.
put
(
"ad_unit"
,
"openAd"
)
obj
.
put
(
"from"
,
activity
.
javaClass
.
simpleName
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj
)
if
(
System
.
currentTimeMillis
()
-
openLoadTime
>
1000
*
60
*
60
)
{
mOpenAd
=
null
loadAppOpenAd
(
activity
=
activity
)
onHidden
?.
invoke
()
val
obj
=
JSONObject
()
obj
.
put
(
"ad_unit"
,
"openAd"
)
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj
)
return
}
mOpenAd
?.
setRevenueListener
(
EventOnPaidEventListener
())
mOpenAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
maxAdShowReport
(
p0
,
"openAd"
)
}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
onHidden
?.
invoke
()
mOpenAd
=
null
// loadAppOpenAd()
}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
maxAdclickReport
(
p0
,
"openAd"
)
isMultiClick
(
p0
)
}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
}
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{
onHidden
?.
invoke
()
loadAppOpenAd
(
activity
=
activity
)
val
obj
=
JSONObject
()
obj
.
put
(
"reason"
,
p1
.
message
)
obj
.
put
(
"ad_unit"
,
"openAd"
)
obj
.
put
(
"from"
,
activity
.
javaClass
.
simpleName
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj
)
}
})
if
(
isOpenAdLoaded
())
{
mOpenAd
?.
showAd
(
"OpenAd"
)
}
else
{
onHidden
?.
invoke
()
mOpenAd
?.
loadAd
()
// val obj = JSONObject()
// obj.put("reason", "no_ad")
// obj.put("ad_unit", "openAd")
// EventUtils.event("ad_show_error", ext = obj)
}
}
private
var
interAd
:
MaxInterstitialAd
?
=
null
private
var
retryAttempt
=
0
fun
isInterLoaded
()
=
interAd
?.
isReady
==
true
fun
loadInterstitialAd
(
activity
:
Activity
,
onLoad
:
(()
->
Unit
)?
=
null
)
{
if
(
isBlack
)
{
onLoad
?.
invoke
()
return
}
if
(
isInterLoaded
())
{
onLoad
?.
invoke
()
return
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
onLoad
?.
invoke
()
return
}
val
reqId
=
UUID
.
randomUUID
().
toString
()
val
obj
=
JSONObject
()
obj
.
put
(
"req_id"
,
reqId
)
obj
.
put
(
"ad_type"
,
"interAd"
)
obj
.
put
(
"mediation"
,
"applovin"
)
obj
.
put
(
"from"
,
activity
.
javaClass
.
simpleName
)
EventUtils
.
event
(
"ad_pull_start"
,
ext
=
obj
)
interAd
=
MaxInterstitialAd
(
ConfigHelper
.
interMaxId
,
activity
)
interAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
maxAdPullReport
(
p0
,
"InterstitialAd"
)
retryAttempt
=
0
onLoad
?.
invoke
()
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
maxAdPullReport
(
null
,
"InterstitialAd"
,
p1
.
message
)
onLoad
?.
invoke
()
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
Log
.
e
(
"MXL"
,
"onAdLoadFailed: "
+
p1
.
message
)
// retryAttempt++
// Handler(Looper.getMainLooper()).postDelayed({
// retryAttempt++
// interAd?.loadAd()
// }, TimeUnit.SECONDS.toMillis(2.0.pow(6.coerceAtMost(retryAttempt)).toLong()))
}
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{
}
})
interAd
?.
loadAd
()
AdDisplayUtils
.
getInstance
().
incrementAdRequestCount
()
}
private
fun
isAdExpired
():
Boolean
{
return
System
.
currentTimeMillis
()
-
interLoadTime
>
1000
*
60
*
60
}
var
adDisplayInterval
:
Int
=
10
var
adLastDisplayTime
:
Long
=
0
fun
showInterstitialAd
(
activity
:
Activity
,
isLoadAdNow
:
Boolean
=
false
,
isShowInterVal
:
Boolean
=
true
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
if
(
isBlack
)
{
onHidden
?.
invoke
()
return
}
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
return
}
val
obj
=
JSONObject
()
obj
.
put
(
"ad_unit"
,
"interAd"
)
obj
.
put
(
"from"
,
activity
.
javaClass
.
simpleName
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj
)
isInterAdShow
=
false
if
(
isAdExpired
())
{
val
obj
=
JSONObject
()
obj
.
put
(
"ad_unit"
,
"interAd"
)
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj
)
interAd
=
null
loadInterstitialAd
(
activity
)
onHidden
?.
invoke
()
return
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
onHidden
?.
invoke
()
return
}
if
(
isTimeElapsed
()>=
0
){
onHidden
?.
invoke
()
return
}
if
(
isInterLoaded
())
{
interAd
?.
setRevenueListener
(
EventOnPaidEventListener
())
showIntervalDialogAndShowAd
(
activity
,
isLoadAdNow
,
isShowInterVal
,
onHidden
,
0
)
}
else
{
showAdDialogAndLoadInterstitial
(
activity
,
isLoadAdNow
,
isShowInterVal
,
onHidden
)
}
}
private
var
customDialog
:
CustomDialog
?
=
null
private
fun
showIntervalDialogAndShowAd
(
activity
:
Activity
,
isLoadAdNow
:
Boolean
,
isShowInterVal
:
Boolean
,
onHidden
:
(()
->
Unit
)?,
interval
:
Int
)
{
// if (customDialog != null && customDialog?.isShowing == true) {
// return // 如果对话框已经显示,则不再显示
// }
//
// customDialog = CustomDialog(activity, R.layout.dialog_ad_loading)
// customDialog?.setCountdownText(R.id.dialog_ad_loading_text)
// val countdownTimer = object : CountDownTimer((interval * 1000).toLong(), 1000) {
// override fun onTick(millisUntilFinished: Long) {
// val seconds = (millisUntilFinished / 1000).toInt()
// customDialog?.updateCountdownText("Advertising in preparation ($seconds" + "s)...")
// }
//
// override fun onFinish() {
displayInterstitialAd
(
activity
,
onHidden
)
// if (!activity.isDestroyed && !activity.isFinishing) {
// customDialog?.dismiss()
// }
// customDialog = null
// }
// }
// countdownTimer.start()
// customDialog?.show()
}
private
fun
showCachedInterstitialAd
(
activity
:
Activity
,
isLoadAdNow
:
Boolean
,
isShowInterVal
:
Boolean
=
true
,
onHidden
:
(()
->
Unit
)?
)
{
if
(
interAd
!=
null
)
{
displayInterstitialAd
(
activity
,
onHidden
)
}
else
{
showAdDialogAndLoadInterstitial
(
activity
,
isLoadAdNow
,
isShowInterVal
,
onHidden
)
}
}
private
fun
isTimeElapsed
():
Int
{
val
nowTime
=
System
.
currentTimeMillis
()
/
1000
return
(
adDisplayInterval
-
(
nowTime
-
adLastDisplayTime
).
toInt
())
}
private
fun
showAdDialogAndLoadInterstitial
(
activity
:
Activity
,
isLoadAdNow
:
Boolean
,
isShowInterVal
:
Boolean
,
onHidden
:
(()
->
Unit
)?
)
{
var
mDialog
:
Dialog
?
=
null
if
(!
activity
.
isFinishing
&&
!
activity
.
isDestroyed
)
{
mDialog
=
CustomDialog
(
activity
,
R
.
layout
.
dialog_ad_loading
)
// 设置对话框的样式和内容
mDialog
.
show
()
}
loadInterstitialAd
(
activity
)
{
mDialog
?.
dismiss
()
if
(!
isLoadAdNow
)
{
displayInterstitialAd
(
activity
,
onHidden
)
}
}
if
(
isLoadAdNow
)
{
mDialog
?.
dismiss
()
onHidden
?.
invoke
()
}
}
private
fun
displayInterstitialAd
(
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
val
thisInterAd
=
interAd
interAd
=
null
thisInterAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
maxAdShowReport
(
p0
,
"interAd"
,
activity
)
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
adLastDisplayTime
=
System
.
currentTimeMillis
()
/
1000
isInterAdShow
=
true
}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
isInterAdShow
=
false
interAd
=
null
onHidden
?.
invoke
()
// loadInterstitialAd(activity)
}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
maxAdclickReport
(
p0
,
"interAd"
)
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
isMultiClick
(
thisInterAd
)
}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
}
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{
interAd
=
null
onHidden
?.
invoke
()
loadInterstitialAd
(
activity
)
val
obj
=
JSONObject
()
obj
.
put
(
"reason"
,
p1
.
message
)
obj
.
put
(
"ad_unit"
,
"interAd"
)
obj
.
put
(
"from"
,
activity
.
javaClass
.
simpleName
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj
)
}
})
if
(
thisInterAd
?.
isReady
==
true
)
{
thisInterAd
?.
showAd
()
}
else
{
onHidden
?.
invoke
()
interAd
?.
loadAd
()
}
}
private
var
nativeAdLoader
:
MaxNativeAdLoader
=
MaxNativeAdLoader
(
ConfigHelper
.
nativeMaxId
,
BaseApplication
.
context
)
private
var
nativeAd
:
MaxAd
?
=
null
private
var
haveSetAdListener
:
Boolean
=
false
private
var
loadingListener
:
(()
->
Unit
)?
=
null
private
var
activityString
:
String
=
""
private
fun
setNativeAdListener
()
{
if
(!
haveSetAdListener
)
{
//加载展示监听
nativeAdLoader
.
setNativeAdListener
(
object
:
MaxNativeAdListener
()
{
override
fun
onNativeAdLoaded
(
nativeAdView
:
MaxNativeAdView
?,
ad
:
MaxAd
)
{
// Cleanup any pre-existing native ad to prevent memory leaks.
if
(
nativeAd
?.
nativeAd
?.
isExpired
==
true
)
{
nativeAdLoader
.
destroy
(
nativeAd
)
}
// Save ad to be rendered later.
nativeAd
=
ad
nativeLoadTime
=
System
.
currentTimeMillis
()
loadingListener
?.
invoke
()
loadingListener
=
null
}
override
fun
onNativeAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
super
.
onNativeAdLoadFailed
(
p0
,
p1
)
loadingListener
?.
invoke
()
loadingListener
=
null
// AdDisplayUtils.getInstance().incrementAdRequestFailCount()
val
obj2
=
JSONObject
()
obj2
.
put
(
"reason"
,
"no_ad"
)
obj2
.
put
(
"ad_unit"
,
"nativeAd"
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
}
override
fun
onNativeAdClicked
(
p0
:
MaxAd
)
{
super
.
onNativeAdClicked
(
p0
)
// AdDisplayUtils.getInstance().incrementAdClickCount()
nativeAd
?.
let
{
maxAdclickReport
(
it
,
"nativeAd"
)
}
isMultiClick
(
nativeAd
)
}
override
fun
onNativeAdExpired
(
p0
:
MaxAd
)
{
super
.
onNativeAdExpired
(
p0
)
}
})
//广告价格监听
nativeAdLoader
.
setRevenueListener
{
ad
->
}
haveSetAdListener
=
true
}
}
private
fun
createNativeAdView
(
context
:
Context
,
layout
:
Int
):
MaxNativeAdView
{
val
binder
:
MaxNativeAdViewBinder
=
MaxNativeAdViewBinder
.
Builder
(
layout
)
.
setTitleTextViewId
(
R
.
id
.
ad_headline
)
.
setBodyTextViewId
(
R
.
id
.
ad_body
)
// .setAdvertiserTextViewId(R.id.advertiser_text_view)
.
setIconImageViewId
(
R
.
id
.
ad_app_icon
)
.
setMediaContentViewGroupId
(
R
.
id
.
ad_media
)
// .setOptionsContentViewGroupId(R.id.options_view)
// .setStarRatingContentViewGroupId(R.id.star_rating_view)
.
setCallToActionButtonId
(
R
.
id
.
ad_call_to_action
)
.
build
()
return
MaxNativeAdView
(
binder
,
context
)
}
fun
loadNativeAd
()
{
setNativeAdListener
()
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
return
}
nativeAdLoader
.
loadAd
()
}
fun
showNativeAd
(
activity
:
Activity
,
parent
:
ViewGroup
,
where
:
Int
=
0
)
{
var
layout
=
R
.
layout
.
layout_max_native_small
if
(
where
==
1
)
{
layout
=
R
.
layout
.
layout_max_native_big
}
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
setNativeAdListener
()
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
return
}
if
(
nativeAd
?.
nativeAd
?.
isExpired
==
true
||
nativeAd
==
null
)
{
nativeAdLoader
.
destroy
(
nativeAd
)
nativeAdLoader
.
loadAd
()
loadingListener
=
{
if
(
nativeAd
!=
null
)
{
showReadyNative
(
activity
,
parent
,
layout
)
}
}
}
else
{
showReadyNative
(
activity
,
parent
,
layout
)
}
}
private
fun
showReadyNative
(
activity
:
Activity
,
parent
:
ViewGroup
,
layout
:
Int
)
{
val
adView
=
createNativeAdView
(
activity
,
layout
)
parent
.
isVisible
=
true
parent
.
removeAllViews
()
nativeAdLoader
.
render
(
adView
,
nativeAd
)
parent
.
addView
(
adView
)
nativeAd
?.
let
{
maxAdShowReport
(
it
,
"nativeAd"
)
}
// AdDisplayUtils.getInstance().incrementAdDisplayCount()
}
// var nativeAdLoader: MaxNativeAdLoader? = null
// private var currentNativeAd: MaxAd? = null//当前展示的NativeAd
// private var showedNativeAd: MaxAd? = null//已经展示过的NativeAd
// private var nativeData: Pair<MaxNativeAdView?, MaxAd?>? = null
// private var loadingListener: (() -> Unit)? = null
// private var isLoading = false
//
// fun loadNativeAd() {
// if (currentNativeAd != null) {
// return
// }
// if (nativeData != null) {
// return
// }
//
// if (isLoading) {
// return
// }
// isLoading = true
// nativeAdLoader = MaxNativeAdLoader(ConfigHelper.nativeMaxId, BaseApplication.context)
//
// if (!AdDisplayUtils.getInstance().shouldShowAd()) {
// return
// }
//
//// val reqId = UUID.randomUUID().toString()
//// val obj = JSONObject()
//// obj.put("req_id", reqId)
//// obj.put("ad_type", "nativeAd")
// nativeAdLoader?.setNativeAdListener(object : MaxNativeAdListener() {
// override fun onNativeAdLoaded(maxNativeAdView: MaxNativeAdView?, maxAd: MaxAd) {
// Log.e("MXL", "onNativeAdLoaded: " )
// nativeData = Pair(maxNativeAdView, maxAd)
// currentNativeAd = nativeData?.second
// maxAdPullReport(maxAd, "NativeAd")
// isLoading = false
// loadingListener?.invoke()
// }
//
// override fun onNativeAdLoadFailed(p0: String, p1: MaxError) {
// maxAdPullReport(null, "NativeAd", p1.message)
// isLoading = false
// Log.e("MXL", "onNativeAdLoadFailed: "+p1.message )
// }
// })
// nativeAdLoader?.loadAd()
// }
// private var nativeAdLoader: MaxNativeAdLoader? = null
// private var loadedNativeAd: MaxAd? = null
// fun showNativeAd(activity: Activity?, parent: ViewGroup) {
//// val obj = JSONObject()
//// obj.put("ad_unit", "NativeAd")
//// EventUtils.event("ad_prepare_show", ext = obj)
// if (!AdDisplayUtils.getInstance().shouldShowAd()) {
// return
// }
// nativeAdLoader = MaxNativeAdLoader(ConfigHelper.nativeMaxId, BaseApplication.context)
// nativeAdLoader?.setNativeAdListener(object :MaxNativeAdListener(){
// override fun onNativeAdLoaded(p0: MaxNativeAdView?, p1: MaxAd) {
// Log.e("MXL", "onNativeAdLoaded: ", )
// if (loadedNativeAd != null)
// {
// nativeAdLoader?.destroy(loadedNativeAd)
// }
// loadedNativeAd = p1
// parent.removeAllViews()
// parent.addView(p0)
// }
//
// override fun onNativeAdLoadFailed(p0: String, p1: MaxError) {
// Log.e("MXL", "onNativeAdLoadFailed: "+p1.message )
// }
// })
//
//// loadingListener = {
//// if ((System.currentTimeMillis() - nativeLoadTime <= 1000 * 60 * 60) && nativeData?.first != null) {
//// parent.removeAllViews()
//// parent.addView(nativeData?.first)
//// }
//// showedNativeAd = currentNativeAd
//// currentNativeAd = null
//// nativeData = null
//// loadingListener = null
//// loadNativeAd()
//// }
//// if (currentNativeAd == null) {
//// loadNativeAd()
////// val obj = JSONObject()
////// obj.put("reason", "no_ad")
////// obj.put("ad_unit", "nativeAd")
////// EventUtils.event("ad_show_error", ext = obj)
//// } else {
//// loadingListener?.invoke()
//// }
// }
private
var
lastAd
:
Any
?
=
null
var
maxMultiClick
=
4
private
var
multiClick
=
0
private
fun
isMultiClick
(
currentAd
:
Any
?)
{
if
(
currentAd
==
null
)
{
return
}
if
(
lastAd
==
currentAd
)
{
multiClick
++
if
(
multiClick
>=
maxMultiClick
)
{
AdDisplayUtils
.
getInstance
()
.
setAdClickCount
(
AdDisplayUtils
.
getInstance
().
maxAdClickCount
)
ActivityManagerUtils
.
getInstance
().
finishAllActivity
()
return
}
}
else
{
multiClick
=
0
}
lastAd
=
currentAd
}
private
fun
maxAdPullReport
(
ad
:
MaxAd
?,
adUnit
:
String
,
error
:
String
?
=
null
,
reqId
:
String
?
=
null
)
{
val
obj
=
JSONObject
()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"ad_unit"
,
adUnit
)
obj
.
put
(
"creativeId"
,
ad
?.
creativeId
)
obj
.
put
(
"req_id"
,
reqId
)
obj
.
put
(
"status"
,
if
(
ad
==
null
)
"0"
else
"1"
)
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
obj
.
put
(
"placement"
,
ad
?.
placement
)
obj
.
put
(
"mediation"
,
"applovin"
)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
?.
times
(
1000000
))
if
(
error
==
null
)
{
obj
.
put
(
"status"
,
"1"
)
}
else
{
obj
.
put
(
"errMsg"
,
error
)
obj
.
put
(
"status"
,
"2"
)
}
EventUtils
.
event
(
"ad_pull"
,
ext
=
obj
)
}
private
fun
maxAdShowReport
(
ad
:
MaxAd
?,
adUnit
:
String
,
activity
:
Activity
?
=
null
)
{
val
obj
=
JSONObject
()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"ad_unit"
,
adUnit
)
obj
.
put
(
"creativeId"
,
ad
?.
creativeId
)
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
obj
.
put
(
"placement"
,
ad
?.
placement
)
obj
.
put
(
"mediation"
,
"applovin"
)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
obj
.
put
(
"from"
,
activity
?.
localClassName
)
if
(!
adUnit
.
equals
(
"nativeAd"
))
{
EventUtils
.
event
(
"ad_show"
,
ext
=
obj
)
}
else
{
EventUtils
.
event
(
"big_img_ad_show"
,
ext
=
obj
)
}
}
private
fun
maxAdclickReport
(
ad
:
MaxAd
?,
adUnit
:
String
)
{
val
obj
=
JSONObject
()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"ad_unit"
,
adUnit
)
obj
.
put
(
"creativeId"
,
ad
?.
creativeId
)
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
obj
.
put
(
"placement"
,
ad
?.
placement
)
obj
.
put
(
"mediation"
,
"applovin"
)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
EventUtils
.
event
(
"ad_click"
,
ext
=
obj
)
}
private
val
taichiPref
=
BaseApplication
.
context
.
getSharedPreferences
(
"TaichiTroasCache"
,
0
)
private
val
taichiSharedPreferencesEditor
=
taichiPref
.
edit
()
class
EventOnPaidEventListener
:
MaxAdRevenueListener
{
override
fun
onAdRevenuePaid
(
ad
:
MaxAd
)
{
val
params
=
Bundle
()
val
currentImpressionRevenue
:
Double
=
ad
.
revenue
// In USD
val
mFirebaseAnalytics
=
FirebaseAnalytics
.
getInstance
(
BaseApplication
.
context
)
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_PLATFORM
,
"appLovin"
)
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_SOURCE
,
ad
.
networkName
)
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_FORMAT
,
ad
.
format
.
getDisplayName
())
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_UNIT_NAME
,
ad
.
adUnitId
)
params
.
putDouble
(
FirebaseAnalytics
.
Param
.
VALUE
,
currentImpressionRevenue
)
params
.
putString
(
FirebaseAnalytics
.
Param
.
CURRENCY
,
"USD"
)
mFirebaseAnalytics
.
logEvent
(
FirebaseAnalytics
.
Event
.
AD_IMPRESSION
,
params
)
mFirebaseAnalytics
.
logEvent
(
"Ad_Impression_Revenue"
,
params
)
val
previousTaichiTroasCache
=
taichiPref
.
getFloat
(
"TaichiTroasCache"
,
0f
)
val
currentTaichiTroasCache
=
previousTaichiTroasCache
+
currentImpressionRevenue
if
(
currentTaichiTroasCache
>=
0.01
)
{
val
roasbundle
=
Bundle
()
roasbundle
.
putDouble
(
FirebaseAnalytics
.
Param
.
VALUE
,
currentTaichiTroasCache
)
roasbundle
.
putString
(
FirebaseAnalytics
.
Param
.
CURRENCY
,
"USD"
)
///(Required)tROAS事件必须
mFirebaseAnalytics
.
logEvent
(
"Total_Ads_Revenue_001"
,
roasbundle
)
// 给Taichi用
taichiSharedPreferencesEditor
.
putFloat
(
"TaichiTroasCache"
,
0f
)
//重新清零,开始计算
val
logger
=
AppEventsLogger
.
newLogger
(
BaseApplication
.
context
)
val
parameters
=
Bundle
()
parameters
.
putString
(
AppEventsConstants
.
EVENT_PARAM_CURRENCY
,
"USD"
)
logger
.
logPurchase
(
BigDecimal
(
currentTaichiTroasCache
),
Currency
.
getInstance
(
"USD"
))
}
else
{
taichiSharedPreferencesEditor
.
putFloat
(
"TaichiTroasCache"
,
currentTaichiTroasCache
.
toFloat
()
)
taichiSharedPreferencesEditor
.
commit
()
}
// val obj = JSONObject()
// val revenue = ad.revenue
// val countryCode =
// AppLovinSdk.getInstance(BaseApplication.context).configuration.countryCode
// val networkName = ad.networkName
// val adUnitId = ad.adUnitId
// val adFormat = ad.format
// val placement = ad.placement
// val networkPlacement = ad.networkPlacement
// obj.put("valueMicros", revenue)
// obj.put("currencyCode", countryCode)
// obj.put("adUnitId", adUnitId)
// obj.put("networkName", networkName)
// obj.put("adFormat", adFormat)
// obj.put("placement", placement)
// obj.put("networkPlacement", networkPlacement)
// EventUtils.event("ad_price", ext = obj)
}
}
}
\ No newline at end of file
app/src/main/java/com/test/easy/easycleanerjunk/view/DialogViews.kt
View file @
7bf156b6
...
...
@@ -23,9 +23,7 @@ import com.test.easy.easycleanerjunk.databinding.DialogExitFunctionBinding
import
com.test.easy.easycleanerjunk.databinding.DialogLayoutFlowTypeBinding
import
com.test.easy.easycleanerjunk.databinding.DialogPermissonOpenBinding
import
com.test.easy.easycleanerjunk.databinding.DialogRecoveringBinding
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.ActivityManagerUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
import
com.test.easy.easycleanerjunk.view.AFunOb.APP_MANAGER
...
...
@@ -167,12 +165,7 @@ object DialogViews {
if
(
adS
==
1
)
{
view
.
visibility
=
View
.
VISIBLE
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
this
as
Activity
,
view
)
}
else
{
AdmobUtils
.
showNativeAd
(
this
as
Activity
,
view
)
}
}
else
{
view
.
visibility
=
View
.
GONE
}
...
...
app/src/main/java/com/test/easy/easycleanerjunk/view/FileScanDialog.kt
View file @
7bf156b6
...
...
@@ -10,9 +10,7 @@ import androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.lifecycleScope
import
com.test.easy.easycleanerjunk.R
import
com.test.easy.easycleanerjunk.databinding.DialogFileScanBinding
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.flow.SharedFlow
import
kotlinx.coroutines.flow.collectLatest
...
...
@@ -55,12 +53,7 @@ class FileScanDialog(
dialog
?.
setOnDismissListener
{
a1
.
cancel
()
}
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
activity
,
binding
.
flAd
,
where
=
1
)
}
else
{
AdmobUtils
.
showNativeAd
(
activity
,
binding
.
flAd
)
}
var
pathShowed
=
false
activity
.
lifecycleScope
.
launch
(
Dispatchers
.
Main
)
{
...
...
app/src/main/java/com/test/easy/easycleanerjunk/view/PopExitWindow.kt
View file @
7bf156b6
...
...
@@ -10,9 +10,7 @@ import android.widget.PopupWindow
import
androidx.core.view.updatePadding
import
com.test.easy.easycleanerjunk.activity.scanjunk.PrepareScanActivity
import
com.test.easy.easycleanerjunk.databinding.LayoutExitWlBinding
import
com.test.easy.easycleanerjunk.helps.ConfigHelper
import
com.test.easy.easycleanerjunk.helps.ads.AdmobUtils
import
com.test.easy.easycleanerjunk.helps.ads.MaxAdUtils
import
com.test.easy.easycleanerjunk.utils.ActivityManagerUtils
import
com.test.easy.easycleanerjunk.utils.BarUtils
import
com.test.easy.easycleanerjunk.utils.SPUtils
...
...
@@ -58,12 +56,7 @@ class PopExitWindow(private val activity: Activity) : PopupWindow() {
val
adS
=
SPUtils
.
getInstance
().
getInt
(
"naAdS"
,
1
)
if
(
adS
==
1
)
{
binding
.
idFlAd
.
visibility
=
View
.
VISIBLE
if
(
ConfigHelper
.
admobTrueMaxFlase
==
0
){
MaxAdUtils
.
showNativeAd
(
activity
,
binding
.
idFlAd
)
}
else
{
AdmobUtils
.
showNativeAd
(
activity
,
binding
.
idFlAd
)
}
}
else
{
binding
.
idFlAd
.
visibility
=
View
.
GONE
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment