Commit 3bb99921 authored by wanglei's avatar wanglei

[优化]

parent b5ec3f18
......@@ -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>() {
......
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")
}
......
......@@ -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"))
}
......
......@@ -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"))
}
......
......@@ -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()
......
......@@ -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()
}
......
......@@ -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" }
......
......@@ -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()
}
......
<?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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment