Commit 3765b97c authored by Max Lv's avatar Max Lv

Avoid loading multiple AdViews

parent 3630514a
...@@ -72,6 +72,7 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -72,6 +72,7 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
private val isEnabled get() = (activity as MainActivity).state.let { it.canStop || it == BaseService.State.Stopped } private val isEnabled get() = (activity as MainActivity).state.let { it.canStop || it == BaseService.State.Stopped }
private fun isProfileEditable(id: Long) = private fun isProfileEditable(id: Long) =
(activity as MainActivity).state == BaseService.State.Stopped || id !in Core.activeProfileIds (activity as MainActivity).state == BaseService.State.Stopped || id !in Core.activeProfileIds
private var isAdLoaded = false
@SuppressLint("ValidFragment") @SuppressLint("ValidFragment")
class QRCodeDialog() : DialogFragment() { class QRCodeDialog() : DialogFragment() {
...@@ -144,13 +145,13 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -144,13 +145,13 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
if (selectedItem === this) selectedItem = null if (selectedItem === this) selectedItem = null
} }
var adView = adView if (!isAdLoaded && item.host == "198.199.101.152") {
if (item.host == "198.199.101.152") { if (this.adView == null) {
if (adView == null) {
val params = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, val params = LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
AdSize.SMART_BANNER.getHeightInPixels(context)) AdSize.SMART_BANNER.getHeightInPixels(context))
params.gravity = Gravity.CENTER_HORIZONTAL params.gravity = Gravity.CENTER_HORIZONTAL
adView = AdView(context)
var adView = AdView(context)
adView.layoutParams = params adView.layoutParams = params
adView.adUnitId = "ca-app-pub-9097031975646651/7760346322" adView.adUnitId = "ca-app-pub-9097031975646651/7760346322"
adView.adSize = AdSize.SMART_BANNER adView.adSize = AdSize.SMART_BANNER
...@@ -163,8 +164,10 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -163,8 +164,10 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
adBuilder.addTestDevice("7509D18EB8AF82F915874FEF53877A64") adBuilder.addTestDevice("7509D18EB8AF82F915874FEF53877A64")
adView.loadAd(adBuilder.build()) adView.loadAd(adBuilder.build())
this.adView = adView this.adView = adView
} else adView.visibility = View.VISIBLE } else this.adView?.visibility = View.VISIBLE
} else adView?.visibility = View.GONE
isAdLoaded = true
} else this.adView?.visibility = View.GONE
} }
override fun onClick(v: View?) { override fun onClick(v: View?) {
...@@ -296,6 +299,8 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener { ...@@ -296,6 +299,8 @@ class ProfilesFragment : ToolbarFragment(), Toolbar.OnMenuItemClickListener {
toolbar.inflateMenu(R.menu.profile_manager_menu) toolbar.inflateMenu(R.menu.profile_manager_menu)
toolbar.setOnMenuItemClickListener(this) toolbar.setOnMenuItemClickListener(this)
isAdLoaded = false
ProfileManager.ensureNotEmpty() ProfileManager.ensureNotEmpty()
val profilesList = view.findViewById<RecyclerView>(R.id.list) val profilesList = view.findViewById<RecyclerView>(R.id.list)
val layoutManager = LinearLayoutManager(context, RecyclerView.VERTICAL, false) val layoutManager = LinearLayoutManager(context, RecyclerView.VERTICAL, false)
......
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