banner 基类统一设置
This commit is contained in:
parent
ec9dabdc0e
commit
b5fc00b996
|
|
@ -1,7 +1,5 @@
|
||||||
package com.gamedog.vididin.main
|
package com.gamedog.vididin.main
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.IntentFilter
|
import android.content.IntentFilter
|
||||||
|
|
@ -13,7 +11,6 @@ import androidx.viewpager2.widget.ViewPager2
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import androidx.activity.addCallback
|
import androidx.activity.addCallback
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.lifecycle.lifecycleScope
|
|
||||||
import com.ama.core.architecture.appBase.AppViewsActivity
|
import com.ama.core.architecture.appBase.AppViewsActivity
|
||||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
||||||
import com.ama.core.architecture.ext.toast
|
import com.ama.core.architecture.ext.toast
|
||||||
|
|
@ -29,10 +26,7 @@ import com.gamedog.vididin.adapter.MainViewPagerAdapter
|
||||||
import com.gamedog.vididin.main.fragments.task.DailySignSuccessDialog
|
import com.gamedog.vididin.main.fragments.task.DailySignSuccessDialog
|
||||||
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
|
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
|
||||||
import com.gamedog.vididin.manager.DateChangeReceiver
|
import com.gamedog.vididin.manager.DateChangeReceiver
|
||||||
import com.remax.bill.ads.AdResult
|
|
||||||
import com.remax.bill.ads.ext.AdShowExt
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
import kotlin.getValue
|
import kotlin.getValue
|
||||||
import com.vididin.real.money.game.databinding.ActivityMainBinding as ViewBinding
|
import com.vididin.real.money.game.databinding.ActivityMainBinding as ViewBinding
|
||||||
import com.gamedog.vididin.main.MainUiState as UiState
|
import com.gamedog.vididin.main.MainUiState as UiState
|
||||||
|
|
@ -59,8 +53,6 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
||||||
|
|
||||||
|
|
||||||
override fun ViewBinding.initViews() {
|
override fun ViewBinding.initViews() {
|
||||||
enableBannerAd(binding.adContainer)
|
|
||||||
|
|
||||||
navigatorAdapter = MainTabsAdapter(
|
navigatorAdapter = MainTabsAdapter(
|
||||||
this@MainActivity, viewPager2, fragmentStateAdapter, magicIndicator
|
this@MainActivity, viewPager2, fragmentStateAdapter, magicIndicator
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -24,17 +24,17 @@
|
||||||
},
|
},
|
||||||
"paid": {
|
"paid": {
|
||||||
"app_open": {
|
"app_open": {
|
||||||
"max_daily_show": 20,
|
"max_daily_show": 200,
|
||||||
"max_daily_click": 10,
|
"max_daily_click": 10,
|
||||||
"min_interval": 0
|
"min_interval": 0
|
||||||
},
|
},
|
||||||
"interstitial": {
|
"interstitial": {
|
||||||
"max_daily_show": 20,
|
"max_daily_show": 200,
|
||||||
"max_daily_click": 10,
|
"max_daily_click": 10,
|
||||||
"min_interval": 0
|
"min_interval": 0
|
||||||
},
|
},
|
||||||
"native": {
|
"native": {
|
||||||
"max_daily_show": 20,
|
"max_daily_show": 200,
|
||||||
"max_daily_click": 10,
|
"max_daily_click": 10,
|
||||||
"min_interval": 0
|
"min_interval": 0
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,6 @@ import com.ama.core.architecture.base.views.BaseViewsActivity
|
||||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||||
import com.ama.core.architecture.util.state.createAppStateView
|
import com.ama.core.architecture.util.state.createAppStateView
|
||||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
||||||
import com.remax.bill.ads.AdResult
|
|
||||||
import com.remax.bill.ads.ext.AdShowExt
|
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
|
|
||||||
|
|
||||||
abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel : BaseViewModel<UiState>> :
|
abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel : BaseViewModel<UiState>> :
|
||||||
|
|
@ -34,10 +31,6 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
||||||
NotifyMan.instance().register(mEventCallback, *eventTypes)
|
NotifyMan.instance().register(mEventCallback, *eventTypes)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
tryShowAdBanner()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
|
|
@ -70,33 +63,4 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private var mAdContainer: ViewGroup? = null
|
|
||||||
|
|
||||||
fun tryShowAdBanner() {
|
|
||||||
mAdContainer?.let {
|
|
||||||
lifecycleScope.launch {
|
|
||||||
try {
|
|
||||||
when (AdShowExt.showBannerAd(this@AppViewsActivity, it)) {
|
|
||||||
is AdResult.Success<*> -> {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
is AdResult.Failure -> {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
AdResult.Loading -> {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e: Exception) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected fun enableBannerAd(adContainer: ViewGroup) {
|
|
||||||
mAdContainer = adContainer
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,6 @@ package com.ama.core.architecture.base.views
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Gravity
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
|
|
@ -25,6 +24,8 @@ import com.ama.core.architecture.stateview.interfaces.DefaultStateViewManager
|
||||||
import com.ama.core.architecture.stateview.util.initLoadStateUiStateCollect
|
import com.ama.core.architecture.stateview.util.initLoadStateUiStateCollect
|
||||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
||||||
import com.ama.core.designsystem.widget.interfaces.StateView
|
import com.ama.core.designsystem.widget.interfaces.StateView
|
||||||
|
import com.remax.bill.ads.AdResult
|
||||||
|
import com.remax.bill.ads.ext.AdShowExt
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -33,6 +34,7 @@ abstract class BaseViewsActivity<Binding : ViewBinding, UiState : Any,
|
||||||
ViewModel : BaseViewModel<UiState>> :
|
ViewModel : BaseViewModel<UiState>> :
|
||||||
BaseActivity(), ViewBindingActivity<Binding, UiState>, ViewModelOwner<UiState, ViewModel>, DefaultStateViewManager, MessageCollectorOwner {
|
BaseActivity(), ViewBindingActivity<Binding, UiState>, ViewModelOwner<UiState, ViewModel>, DefaultStateViewManager, MessageCollectorOwner {
|
||||||
private lateinit var mFinalRootView: ViewGroup
|
private lateinit var mFinalRootView: ViewGroup
|
||||||
|
private var mAdContainer: ViewGroup? = null
|
||||||
protected open var mEnableBannerAd = true
|
protected open var mEnableBannerAd = true
|
||||||
|
|
||||||
override val binding: Binding by lazy { inflateViewBinding(layoutInflater) }
|
override val binding: Binding by lazy { inflateViewBinding(layoutInflater) }
|
||||||
|
|
@ -71,8 +73,36 @@ abstract class BaseViewsActivity<Binding : ViewBinding, UiState : Any,
|
||||||
binding.initListeners()
|
binding.initListeners()
|
||||||
binding.initBaseObservers()
|
binding.initBaseObservers()
|
||||||
binding.initObservers()
|
binding.initObservers()
|
||||||
|
|
||||||
|
tryShowBannerAd()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun tryShowBannerAd() {
|
||||||
|
if (mEnableBannerAd) {
|
||||||
|
mAdContainer?.let {
|
||||||
|
lifecycleScope.launch {
|
||||||
|
try {
|
||||||
|
when (AdShowExt.showBannerAd(this@BaseViewsActivity, it)) {
|
||||||
|
is AdResult.Success<*> -> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
is AdResult.Failure -> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
AdResult.Loading -> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun readIntent(intent: Intent) {
|
override fun readIntent(intent: Intent) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -128,17 +158,17 @@ abstract class BaseViewsActivity<Binding : ViewBinding, UiState : Any,
|
||||||
private fun getContentView(): View {
|
private fun getContentView(): View {
|
||||||
if (mEnableBannerAd) {
|
if (mEnableBannerAd) {
|
||||||
mFinalRootView = RelativeLayout(this)
|
mFinalRootView = RelativeLayout(this)
|
||||||
val adContainer = FrameLayout(this).apply {
|
mAdContainer = FrameLayout(this).apply {
|
||||||
layoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,100).apply {
|
layoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.WRAP_CONTENT).apply {
|
||||||
addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)
|
addRule(RelativeLayout.ALIGN_PARENT_BOTTOM)
|
||||||
}
|
}
|
||||||
setBackgroundResource(R.color.gray_3)
|
setBackgroundResource(R.color.gray_3)
|
||||||
id = ViewCompat.generateViewId()
|
id = ViewCompat.generateViewId()
|
||||||
}
|
}
|
||||||
mFinalRootView.addView(adContainer)
|
mFinalRootView.addView(mAdContainer)
|
||||||
|
|
||||||
val bindingRootLayoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT).apply {
|
val bindingRootLayoutParams = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT).apply {
|
||||||
addRule(RelativeLayout.ABOVE, adContainer.id)
|
addRule(RelativeLayout.ABOVE, mAdContainer!!.id)
|
||||||
}
|
}
|
||||||
mFinalRootView.addView(binding.root, bindingRootLayoutParams)
|
mFinalRootView.addView(binding.root, bindingRootLayoutParams)
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -147,10 +177,5 @@ abstract class BaseViewsActivity<Binding : ViewBinding, UiState : Any,
|
||||||
return mFinalRootView
|
return mFinalRootView
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addShowAdView() {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue