Commit 7514a003 authored by wanglei's avatar wanglei

...

parent 656d1a28
......@@ -3,11 +3,14 @@ package com.base.filerecoveryrecyclebin.ads.admob
import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.ViewGroup
import android.view.ViewTreeObserver
import androidx.core.view.children
import com.base.filerecoveryrecyclebin.BuildConfig
import com.base.filerecoveryrecyclebin.help.ConfigHelper
import com.base.filerecoveryrecyclebin.utils.AppPreferences
import com.base.filerecoveryrecyclebin.utils.LogEx
import com.google.ads.mediation.admob.AdMobAdapter
import com.google.android.gms.ads.AdListener
import com.google.android.gms.ads.AdRequest
......@@ -17,6 +20,7 @@ import java.util.UUID
object AdmobBannerUtils {
private val TAG = "AdmobBannerUtils"
private var adView: AdView? = null
private var listener: ViewTreeObserver.OnGlobalLayoutListener? = null
......@@ -29,6 +33,7 @@ object AdmobBannerUtils {
adView?.destroy()
}
adView = AdView(context)
adView?.tag = "CollapsibleBannerAd"
parent.removeAllViews()
parent.addView(adView)
listener = ViewTreeObserver.OnGlobalLayoutListener {
......@@ -37,13 +42,13 @@ object AdmobBannerUtils {
val adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adWidth)
adView?.adUnitId = if (BuildConfig.DEBUG) ConfigHelper.bannerAdmobIdTest else ConfigHelper.bannerAdmobId
adView?.setAdSize(adSize)
loadCollapsibleBanner()
loadCollapsibleBanner(parent)
parent.viewTreeObserver.removeOnGlobalLayoutListener(listener)
}
parent.viewTreeObserver.addOnGlobalLayoutListener(listener)
}
private fun loadCollapsibleBanner() {
private fun loadCollapsibleBanner(parent: ViewGroup) {
val extras = Bundle()
extras.putString("collapsible", "bottom")
extras.putString("collapsible_request_id", UUID.randomUUID().toString())
......@@ -52,6 +57,19 @@ object AdmobBannerUtils {
adView?.adListener =
object : AdListener() {
override fun onAdLoaded() {}
override fun onAdClosed() {
super.onAdClosed()
LogEx.logDebug(TAG, "onAdClosed")
val removeList = arrayListOf<View>()
parent.children.forEach {
if (it.tag != "CollapsibleBannerAd") {
removeList.add(it)
}
}
removeList.forEach {
parent.removeView(it)
}
}
}
adView?.loadAd(adRequest)
}
......
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