Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
F
File Recovery RecycleBin
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
File Recovery RecycleBin
Commits
145e98e1
Commit
145e98e1
authored
Jul 19, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...ad
parent
63c7a50f
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
198 additions
and
100 deletions
+198
-100
build.gradle
app/build.gradle
+12
-4
MyApplication.kt
...ain/java/com/base/filerecoveryrecyclebin/MyApplication.kt
+2
-6
ResultActivity.kt
...om/base/filerecoveryrecyclebin/activity/ResultActivity.kt
+1
-0
SplashActivity.kt
...om/base/filerecoveryrecyclebin/activity/SplashActivity.kt
+6
-2
ScanJunkActivity.kt
...recoveryrecyclebin/activity/junkclean/ScanJunkActivity.kt
+1
-0
AdDisplayUtils.java
...a/com/base/filerecoveryrecyclebin/ads/AdDisplayUtils.java
+24
-2
AdmobMaxHelper.kt
...ava/com/base/filerecoveryrecyclebin/ads/AdmobMaxHelper.kt
+27
-0
AdmobCommonUtils.kt
...base/filerecoveryrecyclebin/ads/admob/AdmobCommonUtils.kt
+2
-1
AdmobInterstitialUtils.kt
...ilerecoveryrecyclebin/ads/admob/AdmobInterstitialUtils.kt
+3
-3
AdmobNativeUtils.kt
...base/filerecoveryrecyclebin/ads/admob/AdmobNativeUtils.kt
+1
-1
AdmobOpenUtils.kt
...m/base/filerecoveryrecyclebin/ads/admob/AdmobOpenUtils.kt
+3
-3
AdMaxEvent.kt
...ava/com/base/filerecoveryrecyclebin/ads/max/AdMaxEvent.kt
+11
-8
AdMaxInit.kt
...java/com/base/filerecoveryrecyclebin/ads/max/AdMaxInit.kt
+2
-2
AdMaxInterstitialUtils.kt
.../filerecoveryrecyclebin/ads/max/AdMaxInterstitialUtils.kt
+42
-31
AdMaxNativeUtils.kt
...m/base/filerecoveryrecyclebin/ads/max/AdMaxNativeUtils.kt
+6
-10
AdMaxOpenUtils.kt
...com/base/filerecoveryrecyclebin/ads/max/AdMaxOpenUtils.kt
+51
-26
HomeFragment.kt
.../com/base/filerecoveryrecyclebin/fragment/HomeFragment.kt
+1
-0
StayNotificationService.kt
...filerecoveryrecyclebin/service/StayNotificationService.kt
+1
-0
DialogViews.kt
.../java/com/base/filerecoveryrecyclebin/view/DialogViews.kt
+2
-1
No files found.
app/build.gradle
View file @
145e98e1
...
@@ -87,10 +87,18 @@ dependencies {
...
@@ -87,10 +87,18 @@ dependencies {
//广告
//广告
implementation
(
"com.google.android.gms:play-services-ads:23.1.0"
)
implementation
(
"com.google.android.gms:play-services-ads:23.1.0"
)
implementation
'com.google.ads.mediation:applovin:12.4.3.0'
// implementation 'com.google.ads.mediation:applovin:12.4.3.0'
implementation
'com.google.ads.mediation:facebook:6.17.0.0'
// implementation 'com.google.ads.mediation:facebook:6.17.0.0'
implementation
'com.google.ads.mediation:mintegral:16.7.21.0'
// implementation 'com.google.ads.mediation:mintegral:16.7.21.0'
implementation
'com.google.ads.mediation:pangle:5.9.0.4.0'
// implementation 'com.google.ads.mediation:pangle:5.9.0.4.0'
//max
implementation
'com.applovin:applovin-sdk:+'
implementation
'com.applovin.mediation:google-ad-manager-adapter:+'
implementation
'com.applovin.mediation:facebook-adapter:+'
implementation
'com.applovin.mediation:mintegral-adapter:+'
implementation
'com.applovin.mediation:bytedance-adapter:+'
implementation
'com.applovin.mediation:ironsource-adapter:+'
//Google UMP
//Google UMP
//https://docs.tradplusad.com/docs/tradplussdk_android_doc_v6/privacy_policy/google_ump/
//https://docs.tradplusad.com/docs/tradplussdk_android_doc_v6/privacy_policy/google_ump/
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/MyApplication.kt
View file @
145e98e1
...
@@ -6,6 +6,7 @@ import android.content.Intent
...
@@ -6,6 +6,7 @@ import android.content.Intent
import
android.os.Bundle
import
android.os.Bundle
import
android.text.TextUtils
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.admob.AdmobOpenUtils
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobOpenUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInit.initAdMax
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInit.initAdMax
import
com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy
import
com.base.filerecoveryrecyclebin.bean.ConstObject.ifAgreePrivacy
...
@@ -74,12 +75,7 @@ class MyApplication : BaseApplication() {
...
@@ -74,12 +75,7 @@ class MyApplication : BaseApplication() {
InstallHelps
.
init
()
InstallHelps
.
init
()
if
(
ifAgreePrivacy
)
{
if
(
ifAgreePrivacy
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
)
{
AdmobMaxHelper
.
initAdmobMaxAd
()
MobileAds
.
initialize
(
this
)
{
initializationStatus
->
}
}
else
{
initAdMax
()
}
MainScope
().
launch
(
Dispatchers
.
Main
)
{
MainScope
().
launch
(
Dispatchers
.
Main
)
{
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/activity/ResultActivity.kt
View file @
145e98e1
...
@@ -5,6 +5,7 @@ import android.content.Intent
...
@@ -5,6 +5,7 @@ import android.content.Intent
import
android.graphics.Color
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.privacyspace.PrivacyPinOneActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyPinOneActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/activity/SplashActivity.kt
View file @
145e98e1
...
@@ -10,6 +10,7 @@ import android.text.style.UnderlineSpan
...
@@ -10,6 +10,7 @@ import android.text.style.UnderlineSpan
import
android.view.View
import
android.view.View
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.base.filerecoveryrecyclebin.MyApplication
import
com.base.filerecoveryrecyclebin.MyApplication
import
com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyPinOneActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacyPinOneActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import
com.base.filerecoveryrecyclebin.activity.privacyspace.PrivacySpaceActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
...
@@ -18,6 +19,7 @@ import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotActivity
...
@@ -18,6 +19,7 @@ import com.base.filerecoveryrecyclebin.activity.screenshot.ScreenShotActivity
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.ads.admob.AdmobNativeUtils
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobNativeUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInit
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxOpenUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxOpenUtils
import
com.base.filerecoveryrecyclebin.bean.ConstObject
import
com.base.filerecoveryrecyclebin.bean.ConstObject
...
@@ -107,8 +109,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
...
@@ -107,8 +109,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
AdmobNativeUtils
.
loadNativeAd
()
AdmobNativeUtils
.
loadNativeAd
()
AdmobInterstitialUtils
.
loadInterstitialAd
(
this
)
AdmobInterstitialUtils
.
loadInterstitialAd
(
this
)
}
else
{
}
else
{
AdMaxOpenUtils
.
loadAppOpenAd
(
this
)
AdMaxInit
.
maxInitAction
=
{
AdMaxInterstitialUtils
.
loadInterstitialAd
(
this
)
AdMaxOpenUtils
.
loadAppOpenAd
(
this
)
AdMaxInterstitialUtils
.
loadInterstitialAd
(
this
)
}
}
}
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/activity/junkclean/ScanJunkActivity.kt
View file @
145e98e1
...
@@ -10,6 +10,7 @@ import android.widget.Toast
...
@@ -10,6 +10,7 @@ import android.widget.Toast
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.lifecycle.lifecycleScope
import
androidx.lifecycle.lifecycleScope
import
com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper.admobMaxShowInterstitialAd
import
com.base.filerecoveryrecyclebin.databinding.ActivityLayoutScanJunkBinding
import
com.base.filerecoveryrecyclebin.databinding.ActivityLayoutScanJunkBinding
import
com.base.filerecoveryrecyclebin.help.BaseActivity
import
com.base.filerecoveryrecyclebin.help.BaseActivity
import
com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
import
com.base.filerecoveryrecyclebin.help.PermissionHelp.checkStorePermission
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/AdDisplayUtils.java
View file @
145e98e1
package
com
.
base
.
filerecoveryrecyclebin
.
ads
;
package
com
.
base
.
filerecoveryrecyclebin
.
ads
;
import
android.content.SharedPreferences
;
import
android.content.SharedPreferences
;
import
android.util.Log
;
import
android.util.Log
;
import
com.base.filerecoveryrecyclebin.BuildConfig
;
import
com.base.filerecoveryrecyclebin.help.BaseApplication
;
import
com.base.filerecoveryrecyclebin.help.BaseApplication
;
import
com.base.filerecoveryrecyclebin.utils.EventUtils
;
import
com.base.filerecoveryrecyclebin.utils.LogEx
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Calendar
;
...
@@ -63,8 +70,23 @@ public class AdDisplayUtils {
...
@@ -63,8 +70,23 @@ public class AdDisplayUtils {
return
adClickCount
<
getMaxAdClickCount
();
return
adClickCount
<
getMaxAdClickCount
();
}
}
public
boolean
shouldShowAd
()
{
public
boolean
shouldShowAd
(
String
ad_unit
)
{
return
shouldDisplayAd
()
&&
shouldIncrementClickCount
()
&&
shouldIncrementRequestFailAd
();
if
(
BuildConfig
.
DEBUG
)
{
return
true
;
}
boolean
s
=
shouldDisplayAd
()
&&
shouldIncrementClickCount
()
&&
shouldIncrementRequestFailAd
();
if
(!
s
)
{
LogEx
.
INSTANCE
.
logDebug
(
"glc"
,
"!shouldShowAd"
,
false
);
JSONObject
obj2
=
new
JSONObject
();
try
{
obj2
.
put
(
"reason"
,
"ad limit"
);
obj2
.
put
(
"ad_unit"
,
ad_unit
);
EventUtils
.
INSTANCE
.
event
(
"ad_show_error"
,
null
,
obj2
,
false
);
}
catch
(
JSONException
e
)
{
}
}
return
s
;
}
}
public
void
incrementAdDisplayCount
()
{
public
void
incrementAdDisplayCount
()
{
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/AdmobMaxHelper.kt
View file @
145e98e1
...
@@ -6,13 +6,40 @@ import com.base.filerecoveryrecyclebin.R
...
@@ -6,13 +6,40 @@ import com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobNativeUtils
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobNativeUtils
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.ads.max.AdMaxInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxInterstitialUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxNativeUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxNativeUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxOpenUtils
import
com.base.filerecoveryrecyclebin.ads.max.AdMaxOpenUtils
import
com.base.filerecoveryrecyclebin.help.BaseApplication
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.google.android.gms.ads.MobileAds
import
java.util.concurrent.atomic.AtomicBoolean
object
AdmobMaxHelper
{
object
AdmobMaxHelper
{
private
val
TAG
=
"AdmobMaxHelper"
private
val
TAG
=
"AdmobMaxHelper"
var
isAdInit
=
AtomicBoolean
(
false
)
fun
initAdmobMaxAd
()
{
if
(
ConfigHelper
.
admobTrueMaxFlase
)
{
if
(!
isAdInit
.
get
())
{
MobileAds
.
initialize
(
BaseApplication
.
context
)
{
initializationStatus
->
isAdInit
.
set
(
true
)
}
}
}
else
{
if
(!
isAdInit
.
get
())
{
BaseApplication
.
context
.
initAdMax
()
}
}
}
fun
isOpenAdLoaded
():
Boolean
{
return
if
(
ConfigHelper
.
admobTrueMaxFlase
)
{
AdmobOpenUtils
.
isOpenAdLoaded
()
}
else
{
AdMaxOpenUtils
.
isOpenAdLoaded
()
}
}
fun
admobMaxShowInterstitialAd
(
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
fun
admobMaxShowInterstitialAd
(
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
)
{
if
(
ConfigHelper
.
admobTrueMaxFlase
)
{
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/AdmobCommonUtils.kt
→
app/src/main/java/com/base/filerecoveryrecyclebin/ads/
admob/
AdmobCommonUtils.kt
View file @
145e98e1
package
com.base.filerecoveryrecyclebin.ads
package
com.base.filerecoveryrecyclebin.ads
.admob
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.utils.ActivityManagerUtils
import
com.base.filerecoveryrecyclebin.utils.ActivityManagerUtils
object
AdmobCommonUtils
{
object
AdmobCommonUtils
{
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/admob/AdmobInterstitialUtils.kt
View file @
145e98e1
...
@@ -8,7 +8,7 @@ import android.widget.Toast
...
@@ -8,7 +8,7 @@ import android.widget.Toast
import
com.base.filerecoveryrecyclebin.BuildConfig
import
com.base.filerecoveryrecyclebin.BuildConfig
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.
admob.
AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
...
@@ -70,7 +70,7 @@ object AdmobInterstitialUtils {
...
@@ -70,7 +70,7 @@ object AdmobInterstitialUtils {
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"interAd"
))
{
onHidden
?.
invoke
()
onHidden
?.
invoke
()
return
return
}
}
...
@@ -87,7 +87,7 @@ object AdmobInterstitialUtils {
...
@@ -87,7 +87,7 @@ object AdmobInterstitialUtils {
onLoad
?.
invoke
()
onLoad
?.
invoke
()
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
""
))
{
onLoad
?.
invoke
()
onLoad
?.
invoke
()
return
return
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/admob/AdmobNativeUtils.kt
View file @
145e98e1
...
@@ -5,7 +5,7 @@ import android.view.ViewGroup
...
@@ -5,7 +5,7 @@ import android.view.ViewGroup
import
androidx.core.view.isVisible
import
androidx.core.view.isVisible
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.
admob.
AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/admob/AdmobOpenUtils.kt
View file @
145e98e1
...
@@ -2,7 +2,7 @@ package com.base.filerecoveryrecyclebin.ads.admob
...
@@ -2,7 +2,7 @@ package com.base.filerecoveryrecyclebin.ads.admob
import
android.app.Activity
import
android.app.Activity
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.
admob.
AdmobCommonUtils.isMultiClick
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.clickAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.pullAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobEvent.showAd
...
@@ -32,7 +32,7 @@ object AdmobOpenUtils {
...
@@ -32,7 +32,7 @@ object AdmobOpenUtils {
onLoad
?.
invoke
(
1
)
onLoad
?.
invoke
(
1
)
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
onLoad
?.
invoke
(
2
)
onLoad
?.
invoke
(
2
)
return
return
}
}
...
@@ -69,7 +69,7 @@ object AdmobOpenUtils {
...
@@ -69,7 +69,7 @@ object AdmobOpenUtils {
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
onHidden
?.
invoke
(
1
)
onHidden
?.
invoke
(
1
)
return
return
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/max/AdMaxEvent.kt
View file @
145e98e1
package
com.base.
datarecovery
.ads.max
package
com.base.
filerecoveryrecyclebin
.ads.max
import
android.app.Activity
import
android.os.Bundle
import
android.os.Bundle
import
com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAdRevenueListener
import
com.applovin.mediation.MaxAdRevenueListener
import
com.applovin.sdk.AppLovinSdk
import
com.applovin.sdk.AppLovinSdk
import
com.base.filerecoveryrecyclebin.help.BaseApplication
import
com.base.filerecoveryrecyclebin.help.BaseApplication
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.facebook.FacebookSdk
import
com.facebook.FacebookSdk
import
com.google.firebase.analytics.FirebaseAnalytics
import
com.google.firebase.analytics.FirebaseAnalytics
import
org.json.JSONObject
import
org.json.JSONObject
object
AdMaxEvent
{
object
AdMaxEvent
{
fun
pullAd
(
ad
:
MaxAd
?,
adUnit
:
String
,
error
:
String
?
=
null
,
reqId
:
String
?
=
null
)
{
fun
pullAd
(
ad
:
MaxAd
?,
adUnit
:
String
,
error
:
String
?
=
null
,
reqId
:
String
?
=
null
,
code
:
Int
?
=
null
)
{
val
obj
=
JSONObject
()
val
obj
=
JSONObject
()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"ad_unit"
,
adUnit
)
obj
.
put
(
"ad_unit"
,
adUnit
)
...
@@ -50,15 +50,15 @@ object AdMaxEvent {
...
@@ -50,15 +50,15 @@ object AdMaxEvent {
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
if
(!
adUnit
.
equals
(
"nativeAd"
))
{
if
(!
adUnit
.
equals
(
"nativeAd"
))
{
EventUtils
.
event
(
"ad_click"
,
ext
=
obj
)
EventUtils
.
event
(
"ad_click"
,
ext
=
obj
)
}
else
{
}
else
{
EventUtils
.
event
(
"big_imgad_click"
,
ext
=
obj
)
EventUtils
.
event
(
"big_imgad_click"
,
ext
=
obj
)
}
}
}
}
fun
showAd
(
ad
:
MaxAd
?,
adUnit
:
String
)
{
fun
showAd
(
ad
:
MaxAd
?,
adUnit
:
String
,
activity
:
String
?
)
{
val
obj
=
JSONObject
()
val
obj
=
JSONObject
()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
obj
.
put
(
"ad_unit"
,
adUnit
)
obj
.
put
(
"ad_unit"
,
adUnit
)
...
@@ -71,9 +71,12 @@ object AdMaxEvent {
...
@@ -71,9 +71,12 @@ object AdMaxEvent {
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
if
(!
adUnit
.
equals
(
"nativeAd"
)){
obj
.
put
(
"from"
,
activity
)
obj
.
put
(
"mediation"
,
"applovin"
)
LogEx
.
logDebug
(
"glc"
,
"from: $activity"
)
if
(
adUnit
!=
"nativeAd"
)
{
EventUtils
.
event
(
"ad_show"
,
ext
=
obj
)
EventUtils
.
event
(
"ad_show"
,
ext
=
obj
)
}
else
{
}
else
{
EventUtils
.
event
(
"big_img_show"
,
ext
=
obj
)
EventUtils
.
event
(
"big_img_show"
,
ext
=
obj
)
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/max/AdMaxInit.kt
View file @
145e98e1
...
@@ -3,6 +3,7 @@ import android.content.Context
...
@@ -3,6 +3,7 @@ import android.content.Context
import
com.applovin.sdk.AppLovinMediationProvider
import
com.applovin.sdk.AppLovinMediationProvider
import
com.applovin.sdk.AppLovinSdk
import
com.applovin.sdk.AppLovinSdk
import
com.applovin.sdk.AppLovinSdkInitializationConfiguration
import
com.applovin.sdk.AppLovinSdkInitializationConfiguration
import
com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper.isAdInit
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.google.android.gms.ads.identifier.AdvertisingIdClient
import
com.google.android.gms.ads.identifier.AdvertisingIdClient
import
java.util.Collections
import
java.util.Collections
...
@@ -12,7 +13,6 @@ import java.util.concurrent.atomic.AtomicBoolean
...
@@ -12,7 +13,6 @@ import java.util.concurrent.atomic.AtomicBoolean
object
AdMaxInit
{
object
AdMaxInit
{
private
val
TAG
=
"AdMaxInit"
private
val
TAG
=
"AdMaxInit"
var
isAdMaxInit
=
AtomicBoolean
(
false
)
var
maxInitAction
:
(()
->
Unit
)?
=
null
var
maxInitAction
:
(()
->
Unit
)?
=
null
fun
Context
.
initAdMax
()
{
fun
Context
.
initAdMax
()
{
...
@@ -35,7 +35,7 @@ object AdMaxInit {
...
@@ -35,7 +35,7 @@ object AdMaxInit {
val
sdk
=
AppLovinSdk
.
getInstance
(
this
)
val
sdk
=
AppLovinSdk
.
getInstance
(
this
)
sdk
.
initialize
(
initConfigBuilder
.
build
())
{
sdk
.
initialize
(
initConfigBuilder
.
build
())
{
LogEx
.
logDebug
(
TAG
,
"max init"
)
LogEx
.
logDebug
(
TAG
,
"max init"
)
isAd
Max
Init
.
set
(
true
)
isAdInit
.
set
(
true
)
maxInitAction
?.
invoke
()
maxInitAction
?.
invoke
()
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/max/AdMaxInterstitialUtils.kt
View file @
145e98e1
...
@@ -6,9 +6,9 @@ import com.applovin.mediation.MaxAd
...
@@ -6,9 +6,9 @@ import com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAdListener
import
com.applovin.mediation.MaxAdListener
import
com.applovin.mediation.MaxError
import
com.applovin.mediation.MaxError
import
com.applovin.mediation.ads.MaxInterstitialAd
import
com.applovin.mediation.ads.MaxInterstitialAd
import
com.base.datarecovery.ads.max.AdMaxEvent
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper.isAdInit
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.base.filerecoveryrecyclebin.utils.LogEx
...
@@ -28,53 +28,57 @@ object AdMaxInterstitialUtils {
...
@@ -28,53 +28,57 @@ object AdMaxInterstitialUtils {
@SuppressLint
(
"StaticFieldLeak"
)
@SuppressLint
(
"StaticFieldLeak"
)
private
var
customDialog
:
CustomDialog
?
=
null
private
var
customDialog
:
CustomDialog
?
=
null
private
var
activityString
:
String
=
""
private
fun
setListener
(
activity
:
Activity
)
{
private
fun
setListener
(
activity
:
Activity
)
{
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
if
(
interstitialAd
==
null
)
{
if
(
interstitialAd
==
null
)
{
val
reqId
=
UUID
.
randomUUID
().
toString
()
val
obj
=
JSONObject
()
obj
.
put
(
"req_id"
,
reqId
)
obj
.
put
(
"ad_type"
,
"interAd"
)
EventUtils
.
event
(
"ad_pull_start"
,
ext
=
obj
)
interstitialAd
=
MaxInterstitialAd
(
ConfigHelper
.
interAdMaxId
,
activity
)
interstitialAd
=
MaxInterstitialAd
(
ConfigHelper
.
interAdMaxId
,
activity
)
interstitialAd
?.
setListener
(
object
:
MaxAdListener
{
interstitialAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
LogEx
.
logDebug
(
TAG
,
"onAdLoaded"
)
LogEx
.
logDebug
(
TAG
,
"onAdLoaded"
)
loadingListener
?.
invoke
()
loadingListener
?.
invoke
()
loadingListener
=
null
interLoadTime
=
System
.
currentTimeMillis
()
interLoadTime
=
System
.
currentTimeMillis
()
retryAttempt
=
0
retryAttempt
=
0
val
reqId
=
UUID
.
randomUUID
().
toString
()
AdMaxEvent
.
pullAd
(
p0
,
"interAd"
,
reqId
=
reqId
)
AdMaxEvent
.
pullAd
(
p0
,
"interAd"
,
reqId
=
reqId
)
}
}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed"
)
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed"
)
AdMaxEvent
.
pullAd
(
null
,
"interAd"
,
reqId
=
reqId
)
val
reqId
=
UUID
.
randomUUID
().
toString
()
AdMaxEvent
.
pullAd
(
null
,
"interAd"
,
reqId
=
reqId
,
error
=
p1
.
message
,
code
=
p1
.
code
)
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
retryAttempt
++
retryAttempt
++
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed retryAttempt=$retryAttempt"
)
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed retryAttempt=$retryAttempt"
)
if
(
retryAttempt
==
1
)
{
if
(
retryAttempt
==
1
)
{
customDialog
?.
dismiss
()
customDialog
?.
dismiss
()
onHidden
?.
invoke
()
onHidden
?.
invoke
()
onHidden
=
null
retryAttempt
=
0
retryAttempt
=
0
}
else
{
// interstitialAd?.loadAd()
}
}
}
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
LogEx
.
logDebug
(
TAG
,
"onAdDisplayed"
)
LogEx
.
logDebug
(
TAG
,
"onAdDisplayed"
)
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
AdMaxEvent
.
showAd
(
p0
,
"interAd"
)
AdMaxEvent
.
showAd
(
p0
,
"interAd"
,
activityString
)
}
}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
LogEx
.
logDebug
(
TAG
,
"onAdHidden"
)
LogEx
.
logDebug
(
TAG
,
"onAdHidden"
)
onHidden
?.
invoke
()
onHidden
?.
invoke
()
interstitialAd
?.
loadAd
()
onHidden
=
null
AdMaxOpenUtils
.
loadAppOpenAd
(
activity
)
loadInterstitialAd
(
activity
)
}
}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
LogEx
.
logDebug
(
TAG
,
"onAdClicked"
)
LogEx
.
logDebug
(
TAG
,
"onAdClicked
activity=$activityString
"
)
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
AdMaxEvent
.
clickAd
(
p0
,
"interAd"
)
AdMaxEvent
.
clickAd
(
p0
,
"interAd"
)
}
}
...
@@ -85,7 +89,7 @@ object AdMaxInterstitialUtils {
...
@@ -85,7 +89,7 @@ object AdMaxInterstitialUtils {
val
obj2
=
JSONObject
()
val
obj2
=
JSONObject
()
obj2
.
put
(
"code"
,
p1
.
code
)
obj2
.
put
(
"code"
,
p1
.
code
)
obj2
.
put
(
"reason"
,
p1
.
message
)
obj2
.
put
(
"reason"
,
p1
.
message
)
obj2
.
put
(
"ad_unit"
,
"
open
Ad"
)
obj2
.
put
(
"ad_unit"
,
"
inter
Ad"
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
}
}
})
})
...
@@ -93,41 +97,45 @@ object AdMaxInterstitialUtils {
...
@@ -93,41 +97,45 @@ object AdMaxInterstitialUtils {
}
}
}
}
fun
showInterstitialAd
(
fun
showInterstitialAd
(
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
setListener
(
activity
)
setListener
(
activity
)
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
return
return
}
}
val
obj1
=
JSONObject
()
obj1
.
put
(
"ad_unit"
,
"interAd"
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
if
(
isAdExpired
())
{
if
(
isAdExpired
())
{
val
obj2
=
JSONObject
()
val
obj2
=
JSONObject
()
obj2
.
put
(
"ad_unit"
,
"interAd"
)
obj2
.
put
(
"ad_unit"
,
"interAd"
)
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj2
)
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj2
)
interstitialAd
?.
loadAd
(
)
loadInterstitialAd
(
activity
)
onHidden
?.
invoke
()
onHidden
?.
invoke
()
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"interAd"
))
{
onHidden
?.
invoke
()
onHidden
?.
invoke
()
return
return
}
}
AdMaxInterstitialUtils
.
onHidden
=
onHidden
LogEx
.
logDebug
(
TAG
,
"showInterstitialAd,展示插屏广告"
)
val
obj1
=
JSONObject
()
obj1
.
put
(
"ad_unit"
,
"interAd"
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
AdMaxInterstitialUtils
.
onHidden
=
onHidden
if
(
interstitialAd
?.
isReady
==
true
)
{
if
(
interstitialAd
?.
isReady
==
true
)
{
LogEx
.
logDebug
(
TAG
,
"
isReady=true
"
)
LogEx
.
logDebug
(
TAG
,
"
有缓存直接播放。
"
)
interstitialAd
?.
showAd
()
interstitialAd
?.
showAd
(
activity
)
}
else
{
}
else
{
interstitialAd
?.
loadAd
()
LogEx
.
logDebug
(
TAG
,
"展示广告时,没有缓存,需要拉取。"
)
val
obj2
=
JSONObject
()
obj2
.
put
(
"reason"
,
"no ad"
)
obj2
.
put
(
"ad_unit"
,
"interAd"
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
loadInterstitialAd
(
activity
)
LogEx
.
logDebug
(
TAG
,
"isReady=false"
)
LogEx
.
logDebug
(
TAG
,
"isReady=false"
)
showAdDialogAndLoadInterstitial
(
activity
)
showAdDialogAndLoadInterstitial
(
activity
)
}
}
...
@@ -149,8 +157,7 @@ object AdMaxInterstitialUtils {
...
@@ -149,8 +157,7 @@ object AdMaxInterstitialUtils {
}
}
loadingListener
=
{
loadingListener
=
{
customDialog
?.
dismiss
()
customDialog
?.
dismiss
()
interstitialAd
?.
showAd
()
interstitialAd
?.
showAd
(
activity
)
loadingListener
=
null
}
}
}
}
...
@@ -158,15 +165,19 @@ object AdMaxInterstitialUtils {
...
@@ -158,15 +165,19 @@ object AdMaxInterstitialUtils {
fun
loadInterstitialAd
(
activity
:
Activity
)
{
fun
loadInterstitialAd
(
activity
:
Activity
)
{
setListener
(
activity
)
setListener
(
activity
)
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"interAd"
))
{
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
return
return
}
}
if
(
interstitialAd
?.
isReady
==
true
)
{
if
(
interstitialAd
?.
isReady
==
true
)
{
return
return
}
}
if
(
AdMaxInit
.
isAdMax
Init
.
get
())
{
if
(
isAd
Init
.
get
())
{
LogEx
.
logDebug
(
TAG
,
"loadInterstitialAd"
)
LogEx
.
logDebug
(
TAG
,
"loadInterstitialAd"
)
val
reqId
=
UUID
.
randomUUID
().
toString
()
val
obj
=
JSONObject
()
obj
.
put
(
"req_id"
,
reqId
)
obj
.
put
(
"ad_type"
,
"interAd"
)
EventUtils
.
event
(
"ad_pull_start"
,
ext
=
obj
)
interstitialAd
?.
loadAd
()
interstitialAd
?.
loadAd
()
}
}
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/max/AdMaxNativeUtils.kt
View file @
145e98e1
...
@@ -10,10 +10,9 @@ import com.applovin.mediation.nativeAds.MaxNativeAdListener
...
@@ -10,10 +10,9 @@ import com.applovin.mediation.nativeAds.MaxNativeAdListener
import
com.applovin.mediation.nativeAds.MaxNativeAdLoader
import
com.applovin.mediation.nativeAds.MaxNativeAdLoader
import
com.applovin.mediation.nativeAds.MaxNativeAdView
import
com.applovin.mediation.nativeAds.MaxNativeAdView
import
com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import
com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import
com.base.datarecovery.ads.max.AdMaxEvent
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils
import
com.base.filerecoveryrecyclebin.ads.
admob.
AdmobCommonUtils
import
com.base.filerecoveryrecyclebin.help.BaseApplication
import
com.base.filerecoveryrecyclebin.help.BaseApplication
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.EventUtils
...
@@ -28,6 +27,7 @@ object AdMaxNativeUtils {
...
@@ -28,6 +27,7 @@ object AdMaxNativeUtils {
private
var
nativeLoadTime
=
Long
.
MAX_VALUE
private
var
nativeLoadTime
=
Long
.
MAX_VALUE
private
var
haveSetAdListener
:
Boolean
=
false
private
var
haveSetAdListener
:
Boolean
=
false
private
var
loadingListener
:
(()
->
Unit
)?
=
null
private
var
loadingListener
:
(()
->
Unit
)?
=
null
private
var
activityString
:
String
=
""
private
fun
setNativeAdListener
()
{
private
fun
setNativeAdListener
()
{
if
(!
haveSetAdListener
)
{
if
(!
haveSetAdListener
)
{
//加载展示监听
//加载展示监听
...
@@ -109,14 +109,10 @@ object AdMaxNativeUtils {
...
@@ -109,14 +109,10 @@ object AdMaxNativeUtils {
}
}
fun
showNativeAd
(
activity
:
Activity
,
parent
:
ViewGroup
,
layout
:
Int
)
{
fun
showNativeAd
(
activity
:
Activity
,
parent
:
ViewGroup
,
layout
:
Int
)
{
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
setNativeAdListener
()
setNativeAdListener
()
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"nativeAd"
))
{
val
obj
=
JSONObject
()
obj
.
put
(
"ad_unit"
,
"NativeAd"
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj
)
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
return
return
}
}
loadingListener
=
{
loadingListener
=
{
...
@@ -133,7 +129,7 @@ object AdMaxNativeUtils {
...
@@ -133,7 +129,7 @@ object AdMaxNativeUtils {
nativeAdLoader
.
render
(
adView
,
nativeAd
)
nativeAdLoader
.
render
(
adView
,
nativeAd
)
parent
.
removeAllViews
()
parent
.
removeAllViews
()
parent
.
addView
(
adView
)
parent
.
addView
(
adView
)
nativeAd
?.
let
{
AdMaxEvent
.
showAd
(
it
,
"nativeAd"
)
}
nativeAd
?.
let
{
AdMaxEvent
.
showAd
(
it
,
"nativeAd"
,
activityString
)
}
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
}
}
}
}
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/ads/max/AdMaxOpenUtils.kt
View file @
145e98e1
package
com.base.filerecoveryrecyclebin.ads.max
package
com.base.filerecoveryrecyclebin.ads.max
import
android.app.Activity
import
android.app.Activity
import
android.content.Context
import
com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAdListener
import
com.applovin.mediation.MaxAdListener
import
com.applovin.mediation.MaxError
import
com.applovin.mediation.MaxError
import
com.applovin.mediation.ads.MaxAppOpenAd
import
com.applovin.mediation.ads.MaxAppOpenAd
import
com.base.datarecovery.ads.max.AdMaxEvent
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdDisplayUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils
import
com.base.filerecoveryrecyclebin.ads.AdmobMaxHelper
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobCommonUtils
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.help.ConfigHelper
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.EventUtils
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
com.base.filerecoveryrecyclebin.utils.LogEx
import
org.json.JSONObject
import
org.json.JSONObject
import
java.util.UUID
object
AdMaxOpenUtils
{
object
AdMaxOpenUtils
{
private
val
TAG
=
"
A
dMaxOpenUtils"
private
val
TAG
=
"dMaxOpenUtils"
private
var
appOpenAd
:
MaxAppOpenAd
?
=
null
private
var
appOpenAd
:
MaxAppOpenAd
?
=
null
private
var
openLoadTime
=
Long
.
MAX_VALUE
private
var
openLoadTime
=
Long
.
MAX_VALUE
private
var
onHidden
:
(()
->
Unit
)?
=
null
private
var
onHidden
:
(()
->
Unit
)?
=
null
private
var
loadingListener
:
(()
->
Unit
)?
=
null
private
var
loadingListener
:
(()
->
Unit
)?
=
null
private
var
activityString
=
""
private
fun
setListener
(
context
:
Context
)
{
private
fun
setListener
(
activity
:
Activity
)
{
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
if
(
appOpenAd
==
null
)
{
if
(
appOpenAd
==
null
)
{
appOpenAd
=
MaxAppOpenAd
(
ConfigHelper
.
openAdMaxId
,
context
)
appOpenAd
=
MaxAppOpenAd
(
ConfigHelper
.
openAdMaxId
,
activity
)
appOpenAd
?.
setListener
(
object
:
MaxAdListener
{
appOpenAd
?.
setListener
(
object
:
MaxAdListener
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
LogEx
.
logDebug
(
TAG
,
"
onAdLoaded
"
)
LogEx
.
logDebug
(
TAG
,
"
广告拉取成功
"
)
openLoadTime
=
System
.
currentTimeMillis
()
openLoadTime
=
System
.
currentTimeMillis
()
loadingListener
?.
invoke
()
loadingListener
?.
invoke
()
loadingListener
=
null
AdMaxEvent
.
pullAd
(
p0
,
"openAd"
)
AdMaxEvent
.
pullAd
(
p0
,
"openAd"
)
}
}
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed:"
+
p1
.
message
.
toString
())
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p1
.
message
.
toString
())
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p0
)
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p1
.
code
)
loadingListener
=
null
onHidden
?.
invoke
()
onHidden
?.
invoke
()
onHidden
=
null
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
AdDisplayUtils
.
getInstance
().
incrementAdRequestFailCount
()
AdMaxEvent
.
pullAd
(
null
,
"openAd"
)
val
reqId
=
UUID
.
randomUUID
().
toString
()
AdMaxEvent
.
pullAd
(
null
,
"openAd"
,
reqId
=
reqId
,
error
=
p1
.
message
,
code
=
p1
.
code
)
}
}
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
AdMaxEvent
.
showAd
(
p0
,
"openAd"
)
AdMaxEvent
.
showAd
(
p0
,
"openAd"
,
activityString
)
}
}
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
onHidden
?.
invoke
()
onHidden
?.
invoke
()
appOpenAd
?.
loadAd
()
onHidden
=
null
loadAppOpenAd
(
activity
)
loadingListener
=
null
loadingListener
=
null
}
}
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
// com.base.datarecovery.ads.max.AdMaxEvent.clickAd(appOpenAd, "openAd")
AdmobCommonUtils
.
isMultiClick
(
appOpenAd
)
AdmobCommonUtils
.
isMultiClick
(
appOpenAd
)
AdMaxEvent
.
clickAd
(
p0
,
"openAd"
)
AdMaxEvent
.
clickAd
(
p0
,
"openAd"
)
}
}
...
@@ -63,7 +70,8 @@ object AdMaxOpenUtils {
...
@@ -63,7 +70,8 @@ object AdMaxOpenUtils {
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{
override
fun
onAdDisplayFailed
(
p0
:
MaxAd
,
p1
:
MaxError
)
{
LogEx
.
logDebug
(
TAG
,
"onAdDisplayFailed"
)
LogEx
.
logDebug
(
TAG
,
"onAdDisplayFailed"
)
onHidden
?.
invoke
()
onHidden
?.
invoke
()
appOpenAd
?.
loadAd
()
onHidden
=
null
loadAppOpenAd
(
activity
)
val
obj
=
JSONObject
()
val
obj
=
JSONObject
()
obj
.
put
(
"code"
,
p1
.
code
)
obj
.
put
(
"code"
,
p1
.
code
)
obj
.
put
(
"reason"
,
p1
.
message
)
obj
.
put
(
"reason"
,
p1
.
message
)
...
@@ -76,7 +84,11 @@ object AdMaxOpenUtils {
...
@@ -76,7 +84,11 @@ object AdMaxOpenUtils {
}
}
}
}
fun
showAppOpenAd
(
activity
:
Activity
,
loaded
:
(()
->
Unit
)?
=
null
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
fun
showAppOpenAd
(
activity
:
Activity
,
loaded
:
(()
->
Unit
)?
=
null
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
setListener
(
activity
)
setListener
(
activity
)
...
@@ -84,7 +96,7 @@ object AdMaxOpenUtils {
...
@@ -84,7 +96,7 @@ object AdMaxOpenUtils {
return
return
}
}
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
onHidden
?.
invoke
()
onHidden
?.
invoke
()
return
return
...
@@ -99,27 +111,31 @@ object AdMaxOpenUtils {
...
@@ -99,27 +111,31 @@ object AdMaxOpenUtils {
appOpenAd
?.
loadAd
()
appOpenAd
?.
loadAd
()
}
}
if
(!
Ad
MaxInit
.
isAdMax
Init
.
get
())
{
if
(!
Ad
mobMaxHelper
.
isAd
Init
.
get
())
{
onHidden
?.
invoke
()
onHidden
?.
invoke
()
return
return
}
}
LogEx
.
logDebug
(
TAG
,
"showAppOpenAd continue"
)
LogEx
.
logDebug
(
TAG
,
"showAppOpenAd"
)
val
obj1
=
JSONObject
()
obj1
.
put
(
"ad_unit"
,
"openAd"
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
AdMaxOpenUtils
.
onHidden
=
onHidden
AdMaxOpenUtils
.
onHidden
=
onHidden
if
(
appOpenAd
?.
isReady
==
true
)
{
if
(
appOpenAd
?.
isReady
==
true
)
{
LogEx
.
logDebug
(
TAG
,
"
isReady=false
"
)
LogEx
.
logDebug
(
TAG
,
"
广告准备好了,展示广告
"
)
appOpenAd
?.
showAd
()
appOpenAd
?.
showAd
()
}
else
{
}
else
{
val
obj
=
JSONObject
()
obj
.
put
(
"reason"
,
"no ad"
)
obj
.
put
(
"ad_unit"
,
"openAd"
)
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj
)
LogEx
.
logDebug
(
TAG
,
"展示时候,发现广告需要拉取"
)
appOpenAd
?.
loadAd
()
appOpenAd
?.
loadAd
()
loadingListener
=
{
loadingListener
=
{
LogEx
.
logDebug
(
TAG
,
"loadingListener callback"
)
LogEx
.
logDebug
(
TAG
,
"loadingListener callback"
)
loaded
?.
invoke
()
loaded
?.
invoke
()
val
obj1
=
JSONObject
()
obj1
.
put
(
"ad_unit"
,
"openAd"
)
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
appOpenAd
?.
showAd
()
appOpenAd
?.
showAd
()
loadingListener
=
null
loadingListener
=
null
}
}
...
@@ -129,19 +145,28 @@ object AdMaxOpenUtils {
...
@@ -129,19 +145,28 @@ object AdMaxOpenUtils {
fun
loadAppOpenAd
(
activity
:
Activity
)
{
fun
loadAppOpenAd
(
activity
:
Activity
)
{
setListener
(
activity
)
setListener
(
activity
)
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
())
{
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
return
return
}
}
if
(
appOpenAd
?.
isReady
==
true
)
{
if
(
appOpenAd
?.
isReady
==
true
)
{
LogEx
.
logDebug
(
TAG
,
"appOpenAd?.isReady == true"
)
return
return
}
}
if
(
AdMaxInit
.
isAdMaxInit
.
get
())
{
if
(
AdmobMaxHelper
.
isAdInit
.
get
())
{
LogEx
.
logDebug
(
TAG
,
"appOpenAd load"
)
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
)
appOpenAd
?.
loadAd
()
appOpenAd
?.
loadAd
()
}
}
}
}
fun
isOpenAdLoaded
():
Boolean
{
return
appOpenAd
?.
isReady
==
true
}
}
}
app/src/main/java/com/base/filerecoveryrecyclebin/fragment/HomeFragment.kt
View file @
145e98e1
...
@@ -3,6 +3,7 @@ package com.base.filerecoveryrecyclebin.fragment
...
@@ -3,6 +3,7 @@ package com.base.filerecoveryrecyclebin.fragment
import
android.animation.ValueAnimator
import
android.animation.ValueAnimator
import
android.content.Intent
import
android.content.Intent
import
com.base.filerecoveryrecyclebin.activity.SettingActivity
import
com.base.filerecoveryrecyclebin.activity.SettingActivity
import
com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
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
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/service/StayNotificationService.kt
View file @
145e98e1
...
@@ -21,6 +21,7 @@ import androidx.core.app.NotificationCompat
...
@@ -21,6 +21,7 @@ import androidx.core.app.NotificationCompat
import
androidx.core.graphics.drawable.IconCompat
import
androidx.core.graphics.drawable.IconCompat
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.activity.MainActivity
import
com.base.filerecoveryrecyclebin.activity.MainActivity
import
com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import
com.base.filerecoveryrecyclebin.activity.recovery.FileScanResultActivity
import
com.base.filerecoveryrecyclebin.activity.recyclebin.MediaContentObserver
import
com.base.filerecoveryrecyclebin.activity.recyclebin.MediaContentObserver
import
com.base.filerecoveryrecyclebin.activity.recyclebin.MyFileObserver
import
com.base.filerecoveryrecyclebin.activity.recyclebin.MyFileObserver
...
...
app/src/main/java/com/base/filerecoveryrecyclebin/view/DialogViews.kt
View file @
145e98e1
...
@@ -14,6 +14,7 @@ import android.view.View
...
@@ -14,6 +14,7 @@ import android.view.View
import
android.view.WindowManager
import
android.view.WindowManager
import
androidx.lifecycle.LifecycleCoroutineScope
import
androidx.lifecycle.LifecycleCoroutineScope
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.R
import
com.base.filerecoveryrecyclebin.activity.junkclean.ScanJunkActivity
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils.showInterAdSp
import
com.base.filerecoveryrecyclebin.ads.admob.AdmobInterstitialUtils.showInterAdSp
import
com.base.filerecoveryrecyclebin.bean.RecycleBinBean
import
com.base.filerecoveryrecyclebin.bean.RecycleBinBean
import
com.base.filerecoveryrecyclebin.databinding.DialogCameraSettingBinding
import
com.base.filerecoveryrecyclebin.databinding.DialogCameraSettingBinding
...
@@ -333,7 +334,7 @@ object DialogViews {
...
@@ -333,7 +334,7 @@ object DialogViews {
dialog
.
window
?.
setBackgroundDrawableResource
(
android
.
R
.
color
.
transparent
)
dialog
.
window
?.
setBackgroundDrawableResource
(
android
.
R
.
color
.
transparent
)
val
lp
:
WindowManager
.
LayoutParams
?
=
dialog
.
window
?.
attributes
val
lp
:
WindowManager
.
LayoutParams
?
=
dialog
.
window
?.
attributes
lp
?.
alpha
=
0f
lp
?.
alpha
=
0f
lp
?.
dimAmount
=
0.0f
lp
?.
dimAmount
=
0.0f
window
.
setAttributes
(
lp
)
window
.
setAttributes
(
lp
)
...
...
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