Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
A
appzxhy
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
appzxhy
Commits
3bb99921
Commit
3bb99921
authored
Jun 27, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[优化]
parent
b5ec3f18
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
53 additions
and
31 deletions
+53
-31
AdState.kt
...rc/main/java/com/dumpster/cleaner/business/ads/AdState.kt
+1
-0
LimitUtils.kt
...main/java/com/dumpster/cleaner/business/ads/LimitUtils.kt
+9
-1
AdInterMgr.kt
...ava/com/dumpster/cleaner/business/ads/admob/AdInterMgr.kt
+7
-5
AdOpenMgr.kt
...java/com/dumpster/cleaner/business/ads/admob/AdOpenMgr.kt
+5
-6
NotificationTurnOnDialog.kt
...om/dumpster/cleaner/ui/dialog/NotificationTurnOnDialog.kt
+3
-2
CleanGuideActivity.kt
.../java/com/dumpster/cleaner/ui/guide/CleanGuideActivity.kt
+0
-2
MainViewModel.kt
...c/main/java/com/dumpster/cleaner/ui/main/MainViewModel.kt
+6
-4
SplashActivity.kt
...ain/java/com/dumpster/cleaner/ui/splash/SplashActivity.kt
+3
-2
splash_bp.xml
app/src/main/res/drawable/splash_bp.xml
+19
-9
logo_s.png
app/src/main/res/mipmap-xxhdpi/logo_s.png
+0
-0
No files found.
app/src/main/java/com/dumpster/cleaner/business/ads/AdState.kt
View file @
3bb99921
...
...
@@ -5,6 +5,7 @@ import com.dumpster.cleaner.business.ads.AdsType.Companion.INSERT
import
com.dumpster.cleaner.business.ads.AdsType.Companion.OPEN
import
com.dumpster.cleaner.business.ads.LimitUtils.interLastShowTime
import
com.dumpster.cleaner.business.ads.LimitUtils.openLastShowTime
import
com.dumpster.cleaner.utils.LogEx
class
AdState
<
T
>()
{
...
...
app/src/main/java/com/dumpster/cleaner/business/ads/LimitUtils.kt
View file @
3bb99921
package
com.dumpster.cleaner.business.ads
import
android.util.Log
import
com.dumpster.cleaner.BuildConfig
import
com.dumpster.cleaner.bean.config.AdConfigBean
import
com.dumpster.cleaner.utils.AppPreferences
...
...
@@ -155,6 +156,7 @@ object LimitUtils {
*/
fun
isIntervalOpenLimit
(
adEvent
:
AdEvent
):
Boolean
{
val
flag
=
((
System
.
currentTimeMillis
()
-
openLastShowTime
)
/
1000
).
toInt
()
<
(
AdConfigBean
.
adsConfigBean
.
timeIntervalOpen
)
Log
.
e
(
adEvent
.
TAG
,
"open isIntervalOpenLimit=$flag"
)
if
(
flag
)
{
adEvent
.
adShowError
(
"ad in timeInterval"
)
}
...
...
@@ -165,7 +167,13 @@ object LimitUtils {
* 插屏限制
*/
fun
isIntervalInterLimit
(
adEvent
:
AdEvent
):
Boolean
{
val
flag
=
((
System
.
currentTimeMillis
()
-
interLastShowTime
)
/
1000
).
toInt
()
<
(
AdConfigBean
.
adsConfigBean
.
timeInterval
)
val
passTime
=
((
System
.
currentTimeMillis
()
-
interLastShowTime
)
/
1000
).
toInt
()
val
interval
=
AdConfigBean
.
adsConfigBean
.
timeInterval
val
flag
=
passTime
<
(
interval
)
Log
.
e
(
adEvent
.
TAG
,
"inter isIntervalInterLimit=$flag interLastShowTime=$interLastShowTime passTime=$passTime interval=$interval"
)
if
(
flag
)
{
adEvent
.
adShowError
(
"ad in timeInterval"
)
}
...
...
app/src/main/java/com/dumpster/cleaner/business/ads/admob/AdInterMgr.kt
View file @
3bb99921
...
...
@@ -11,6 +11,7 @@ import com.dumpster.cleaner.business.ads.AdEvent
import
com.dumpster.cleaner.business.ads.AdState
import
com.dumpster.cleaner.business.ads.AdsShowCallBack
import
com.dumpster.cleaner.business.ads.AdsType
import
com.dumpster.cleaner.business.ads.AdsType.Companion.INSERT
import
com.dumpster.cleaner.business.ads.AdsType.Companion.OPEN
import
com.dumpster.cleaner.business.ads.LimitUtils
import
com.dumpster.cleaner.business.ads.admob.AdmobEvent.AdmobOnPaidEventListener
...
...
@@ -102,7 +103,7 @@ class AdInterMgr {
val
admobEvent
=
(
adEvent
as
AdmobEvent
)
val
tag
=
adEvent
.
TAG
LogEx
.
logDebug
(
tag
,
"showReadyAd ac=$
ac
currentAd=${adState.currentAd}"
)
LogEx
.
logDebug
(
tag
,
"showReadyAd ac=$
{ac.javaClass.simpleName}
currentAd=${adState.currentAd}"
)
if
(
ac
.
isFinishing
||
ac
.
isDestroyed
||
adState
.
currentAd
==
null
)
{
LogEx
.
logDebug
(
tag
,
"showReadyAd ac=null isFinishing isDestroyed"
)
showCallBack
?.
failed
()
...
...
@@ -116,12 +117,12 @@ class AdInterMgr {
override
fun
onAdShowedFullScreenContent
()
{
super
.
onAdShowedFullScreenContent
()
admobEvent
.
showAd
(
responseInfo
,
ac
)
adState
.
onAdDisplayed
(
OPEN
)
adState
.
onAdDisplayed
(
INSERT
)
showCallBack
?.
show
()
LimitUtils
.
addDisplayNum
()
admobEvent
.
showAd
(
responseInfo
,
ac
)
}
override
fun
onAdFailedToShowFullScreenContent
(
adError
:
AdError
)
{
...
...
@@ -137,10 +138,11 @@ class AdInterMgr {
override
fun
onAdDismissedFullScreenContent
()
{
super
.
onAdDismissedFullScreenContent
()
adState
.
onAdHidden
(
OPEN
)
adState
.
onAdHidden
(
INSERT
)
showCallBack
?.
close
()
showCallBack
=
null
loadAd
(
MyApplication
.
appContext
,
AdmobEvent
(
"interAd"
,
"preload"
))
}
...
...
app/src/main/java/com/dumpster/cleaner/business/ads/admob/AdOpenMgr.kt
View file @
3bb99921
...
...
@@ -9,6 +9,7 @@ import com.dumpster.cleaner.business.ads.AdState
import
com.dumpster.cleaner.business.ads.AdsShowCallBack
import
com.dumpster.cleaner.business.ads.AdsType
import
com.dumpster.cleaner.business.ads.AdsType.Companion.INSERT
import
com.dumpster.cleaner.business.ads.AdsType.Companion.OPEN
import
com.dumpster.cleaner.business.ads.LimitUtils
import
com.dumpster.cleaner.business.ads.admob.AdmobEvent.AdmobOnPaidEventListener
import
com.dumpster.cleaner.utils.LogEx
...
...
@@ -96,15 +97,13 @@ class AdOpenMgr {
fullScreenContentCallback
=
object
:
FullScreenContentCallback
()
{
override
fun
onAdShowedFullScreenContent
()
{
admobEvent
.
showAd
(
this
@run
.
responseInfo
,
ac
)
adState
.
onAdDisplayed
(
OPEN
)
showCallBack
?.
show
()
adState
.
onAdDisplayed
(
INSERT
)
//计数
LimitUtils
.
addDisplayNum
()
admobEvent
.
showAd
(
this
@run
.
responseInfo
,
ac
)
}
override
fun
onAdFailedToShowFullScreenContent
(
adError
:
AdError
)
{
...
...
@@ -121,11 +120,11 @@ class AdOpenMgr {
override
fun
onAdDismissedFullScreenContent
()
{
super
.
onAdDismissedFullScreenContent
()
adState
.
onAdHidden
(
OPEN
)
showCallBack
?.
close
()
showCallBack
=
null
adState
.
onAdHidden
(
INSERT
)
//预加载,“Timeout for show call succeed.”预加载的广告大概率,
loadAd
(
MyApplication
.
appContext
,
AdmobEvent
(
"openAd"
,
"preload"
))
}
...
...
app/src/main/java/com/dumpster/cleaner/ui/dialog/NotificationTurnOnDialog.kt
View file @
3bb99921
...
...
@@ -8,8 +8,6 @@ import com.dumpster.cleaner.R
import
com.dumpster.cleaner.databinding.DialogNotificationBinding
class
NotificationTurnOnDialog
(
val
activity
:
Activity
)
{
...
...
@@ -35,6 +33,9 @@ class NotificationTurnOnDialog(
dialog
.
window
?.
attributes
=
params
dialog
.
window
?.
setBackgroundDrawableResource
(
android
.
R
.
color
.
transparent
)
binding
.
ivClose
.
setOnClickListener
{
dialog
.
dismiss
()
}
binding
.
tvTurnOn
.
setOnClickListener
{
dialog
.
dismiss
()
action
?.
invoke
()
...
...
app/src/main/java/com/dumpster/cleaner/ui/guide/CleanGuideActivity.kt
View file @
3bb99921
...
...
@@ -45,7 +45,6 @@ class CleanGuideActivity : BaseActivity<ActivityLayoutCleanGuideBinding>(Activit
binding
.
idSkip
.
setOnClickListener
{
AdsMgr
.
showInsert
(
this
,
true
,
object
:
AdsShowCallBack
()
{
override
fun
next
()
{
isGuided
=
true
goToAc
(
MainActivity
::
class
.
java
)
finish
()
}
...
...
@@ -53,7 +52,6 @@ class CleanGuideActivity : BaseActivity<ActivityLayoutCleanGuideBinding>(Activit
}
binding
.
idClean02
.
setOnClickListener
{
val
jump
=
{
isGuided
=
true
jumpAction
(
JUNK_CLEAN
)
finish
()
}
...
...
app/src/main/java/com/dumpster/cleaner/ui/main/MainViewModel.kt
View file @
3bb99921
...
...
@@ -29,6 +29,11 @@ class MainViewModel : ViewModel() {
return
}
if
(!
isTodayUsedFunction
())
{
dialogFlow
.
update
{
"BatteryDialog"
}
return
}
if
(!
context
.
checkStorePermission
())
{
dialogFlow
.
update
{
"StoreDialog"
}
return
...
...
@@ -42,10 +47,7 @@ class MainViewModel : ViewModel() {
return
}
if
(!
isTodayUsedFunction
())
{
dialogFlow
.
update
{
"BatteryDialog"
}
return
}
if
(!
isScoreRated
&&
mainPageCount
>
0
&&
mainPageCount
%
4
==
0L
)
{
dialogFlow
.
update
{
"RateDialog"
}
...
...
app/src/main/java/com/dumpster/cleaner/ui/splash/SplashActivity.kt
View file @
3bb99921
...
...
@@ -84,8 +84,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
requestNotificationPermission
()
showLoadingAd
()
setPrivacyPolicy
()
viewModel
.
jumpNext
=
{
actionIdJump
()
viewModel
.
jumpNext
=
{
jumpNext
()
}
}
...
...
@@ -237,6 +237,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
when
{
!
isGuided
->
{
isGuided
=
true
goToAc
(
CleanGuideActivity
::
class
.
java
)
finish
()
}
...
...
app/src/main/res/drawable/splash_bp.xml
View file @
3bb99921
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<gradient
android:startColor=
"@color/white"
android:endColor=
"@color/white"
android:angle=
"270"
android:centerX=
"0.5"
android:centerY=
"0.5"
/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!--<shape xmlns:android="http://schemas.android.com/apk/res/android">-->
<!-- <gradient-->
<!-- android:startColor="@color/white"-->
<!-- android:endColor="@color/white"-->
<!-- android:angle="270"-->
<!-- android:centerX="0.5"-->
<!-- android:centerY="0.5" />-->
<!--</shape>-->
<layer-list
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item>
<bitmap
android:src=
"@drawable/bg_bg_splash"
/>
</item>
<item>
<bitmap
android:gravity=
"center"
android:src=
"@mipmap/logo_s"
/>
</item>
</layer-list>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/logo_s.png
0 → 100644
View file @
3bb99921
46.7 KB
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