统一到基类
This commit is contained in:
parent
08a09d8cf3
commit
1b38648b3a
|
|
@ -61,7 +61,7 @@ class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyle
|
||||||
private fun startFallbackTimer() {
|
private fun startFallbackTimer() {
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
delay(MAX_SPLASH_TIME)
|
delay(MAX_SPLASH_TIME)
|
||||||
Router.Main.startActivity(this@SplashActivity)
|
gotoMain()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,7 +178,12 @@ class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyle
|
||||||
delay(remainingTime)
|
delay(remainingTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gotoMain()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun gotoMain() {
|
||||||
Router.Main.startActivity(this@SplashActivity)
|
Router.Main.startActivity(this@SplashActivity)
|
||||||
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@ import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.IntentFilter
|
import android.content.IntentFilter
|
||||||
import com.ama.core.common.util.asSafe
|
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.Fragment
|
||||||
import androidx.fragment.app.FragmentManager
|
import androidx.fragment.app.FragmentManager
|
||||||
import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks
|
import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks
|
||||||
|
|
@ -61,6 +59,8 @@ 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
|
||||||
)
|
)
|
||||||
|
|
@ -124,7 +124,7 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun ViewBinding.initObservers() {
|
override fun ViewBinding.initObservers() {
|
||||||
loadBannerAd()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -151,26 +151,6 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
||||||
binding.viewPager2.setCurrentItem(itemIndex, false)
|
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 {
|
companion object {
|
||||||
internal fun startActivity(activity: Activity) {
|
internal fun startActivity(activity: Activity) {
|
||||||
|
|
|
||||||
|
|
@ -33,5 +33,6 @@ dependencies {
|
||||||
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
|
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-api:1.0.5'
|
||||||
api 'io.github.pengxurui:modular-eventbus-compiler: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
|
package com.ama.core.architecture.appBase
|
||||||
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.os.Bundle
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import com.ama.core.architecture.base.BaseViewModel
|
import com.ama.core.architecture.base.BaseViewModel
|
||||||
import com.ama.core.architecture.base.views.BaseViewsActivity
|
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>> :
|
||||||
|
|
@ -29,6 +34,11 @@ 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()
|
||||||
if (mEventCallback != null) {
|
if (mEventCallback != null) {
|
||||||
|
|
@ -58,4 +68,35 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
||||||
loadingDialog.dialog.setCancelable(false)
|
loadingDialog.dialog.setCancelable(false)
|
||||||
loadingDialog.dialog.setCanceledOnTouchOutside(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