统一到基类
This commit is contained in:
parent
08a09d8cf3
commit
1b38648b3a
|
|
@ -61,7 +61,7 @@ class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyle
|
|||
private fun startFallbackTimer() {
|
||||
lifecycleScope.launch {
|
||||
delay(MAX_SPLASH_TIME)
|
||||
Router.Main.startActivity(this@SplashActivity)
|
||||
gotoMain()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -178,7 +178,12 @@ class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyle
|
|||
delay(remainingTime)
|
||||
}
|
||||
|
||||
gotoMain()
|
||||
}
|
||||
|
||||
private fun gotoMain() {
|
||||
Router.Main.startActivity(this@SplashActivity)
|
||||
finish()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ import android.app.Activity
|
|||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import com.ama.core.common.util.asSafe
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks
|
||||
|
|
@ -61,6 +59,8 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
|
||||
|
||||
override fun ViewBinding.initViews() {
|
||||
enableBannerAd(binding.adContainer)
|
||||
|
||||
navigatorAdapter = MainTabsAdapter(
|
||||
this@MainActivity, viewPager2, fragmentStateAdapter, magicIndicator
|
||||
)
|
||||
|
|
@ -124,7 +124,7 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
}
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
loadBannerAd()
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -151,26 +151,6 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
binding.viewPager2.setCurrentItem(itemIndex, false)
|
||||
}
|
||||
|
||||
private fun loadBannerAd() {
|
||||
lifecycleScope.launch {
|
||||
try {
|
||||
when (AdShowExt.showBannerAd(this@MainActivity, binding.adContainer)) {
|
||||
is AdResult.Success<*> -> {
|
||||
|
||||
}
|
||||
|
||||
is AdResult.Failure -> {
|
||||
|
||||
}
|
||||
|
||||
AdResult.Loading -> {
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
internal fun startActivity(activity: Activity) {
|
||||
|
|
|
|||
|
|
@ -33,5 +33,6 @@ dependencies {
|
|||
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
|
||||
api 'io.github.pengxurui:modular-eventbus-api:1.0.5'
|
||||
api 'io.github.pengxurui:modular-eventbus-compiler:1.0.5'
|
||||
implementation project(':bill')
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,18 @@
|
|||
package com.ama.core.architecture.appBase
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.ama.core.architecture.base.BaseViewModel
|
||||
import com.ama.core.architecture.base.views.BaseViewsActivity
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.ama.core.architecture.util.state.createAppStateView
|
||||
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>> :
|
||||
|
|
@ -29,6 +34,11 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
|||
NotifyMan.instance().register(mEventCallback, *eventTypes)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
tryShowAdBanner()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
if (mEventCallback != null) {
|
||||
|
|
@ -58,4 +68,35 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
|||
loadingDialog.dialog.setCancelable(false)
|
||||
loadingDialog.dialog.setCanceledOnTouchOutside(false)
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue