新增splash页
This commit is contained in:
parent
96a3e641ce
commit
17441a0d78
|
|
@ -25,10 +25,12 @@
|
|||
android:usesCleartextTraffic="true"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:theme="@style/Theme.Architectureandroid">
|
||||
|
||||
<activity
|
||||
android:name="com.gamedog.vididin.main.MainActivity"
|
||||
android:name="com.gamedog.vididin.features.splash.SplashActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTask">
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
|
|
@ -36,13 +38,13 @@
|
|||
</activity>
|
||||
|
||||
|
||||
<activity android:name="com.gamedog.vididin.main.MainActivity" android:exported="true" android:launchMode="singleTask" />
|
||||
<activity android:name="com.gamedog.vididin.login.LoginActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.benefit.BenefitActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.zero.ZeroBuyActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.winrecords.WinRecordsActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.withdraw.WithDrawActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.withdraw.WithDrawSubActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.splash.SplashActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.version.VersionActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.feedback.FeedbackActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.withdrawrecord.WithdrawRecordActivity" android:exported="false" />
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.gamedog.vididin.features.withdraw.WithdrawSubRouter
|
|||
import com.gamedog.vididin.features.zero.DefaultZeroBuyRouter
|
||||
import com.gamedog.vididin.features.zero.ZeroBuyRouter
|
||||
import com.gamedog.vididin.router.DefaultFeedbackRouter
|
||||
import com.gamedog.vididin.router.DefaultMainRouter
|
||||
import com.gamedog.vididin.router.DefaultPrivacyRouter
|
||||
import com.gamedog.vididin.router.DefaultSplashRouter
|
||||
import com.gamedog.vididin.router.DefaultVersionRouter
|
||||
|
|
@ -22,6 +23,7 @@ import com.gamedog.vididin.router.IRouterSplash
|
|||
import com.gamedog.vididin.router.IRouterVersion
|
||||
import com.gamedog.vididin.router.IRouterWithdrawRecord
|
||||
import com.gamedog.vididin.router.IRouterWatchAd
|
||||
import com.gamedog.vididin.router.MainRouter
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
|
@ -72,6 +74,14 @@ object WinRecordModule {
|
|||
fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter()
|
||||
}
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object MainModule {
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideRouter(): MainRouter = DefaultMainRouter()
|
||||
}
|
||||
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.gamedog.vididin.router.IRouterSplash
|
|||
import com.gamedog.vididin.router.IRouterVersion
|
||||
import com.gamedog.vididin.router.IRouterWithdrawRecord
|
||||
import com.gamedog.vididin.router.IRouterWatchAd
|
||||
import com.gamedog.vididin.router.MainRouter
|
||||
import dagger.hilt.EntryPoint
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
|
|
@ -34,6 +35,7 @@ interface RouterEntryPoint {
|
|||
fun withdrawRouter(): WithdrawRouter
|
||||
fun withdrawSubRouter(): WithdrawSubRouter
|
||||
fun winRecordBuyRouter(): WinRecordRouter
|
||||
fun mainRouter(): MainRouter
|
||||
|
||||
|
||||
fun privacyRouter(): IRouterPrivacy
|
||||
|
|
|
|||
|
|
@ -3,23 +3,25 @@ package com.gamedog.vididin.features.splash
|
|||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.view.LayoutInflater
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.updatePadding
|
||||
import com.ama.core.architecture.appBase.AppViewsActivity
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.ama.core.architecture.appBase.AppViewsEmptyViewModelActivity
|
||||
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
|
||||
import com.gamedog.vididin.router.Router
|
||||
import com.remax.bill.ads.ext.AdShowExt
|
||||
import com.remax.bill.ads.log.AdLogger
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlin.getValue
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import com.vididin.real.money.game.databinding.ActivitySplashBinding as ViewBinding
|
||||
import com.gamedog.vididin.main.MainUiState as UiState
|
||||
import com.gamedog.vididin.main.MainViewModel as ViewModel
|
||||
|
||||
|
||||
|
||||
@AndroidEntryPoint
|
||||
class SplashActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabStyleListener {
|
||||
class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyleListener {
|
||||
|
||||
override val mViewModel: ViewModel by viewModels()
|
||||
override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater)
|
||||
|
||||
override fun ViewBinding.initViews() {
|
||||
|
|
@ -30,32 +32,32 @@ class SplashActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTa
|
|||
}
|
||||
|
||||
override fun ViewBinding.initWindowInsets() {
|
||||
ViewCompat.setOnApplyWindowInsetsListener(contentRoot) { v, insets ->
|
||||
val systemBars =
|
||||
insets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout())
|
||||
v.updatePadding(top = systemBars.top)
|
||||
insets
|
||||
}
|
||||
setImmerseRootView(contentRoot)
|
||||
}
|
||||
|
||||
override fun ViewBinding.initListeners() {
|
||||
//TODO("Not yet implemented")
|
||||
startFallbackTimer()
|
||||
}
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
//TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun ViewBinding.onUiStateCollect(uiState: UiState) {
|
||||
//TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun onTabIsDarkFont(isDarkFont: Boolean) {
|
||||
//TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
private fun startFallbackTimer() {
|
||||
lifecycleScope.launch {
|
||||
delay(MAX_SPLASH_TIME)
|
||||
Router.Main.startActivity(this@SplashActivity)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
companion object {
|
||||
const val MAX_SPLASH_TIME = 5 * 1000L
|
||||
|
||||
internal fun startActivity(activity: Activity) {
|
||||
activity.startActivity(Intent(activity.applicationContext, SplashActivity::class.java))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.gamedog.vididin.main
|
|||
|
||||
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import com.ama.core.common.util.asSafe
|
||||
|
|
@ -26,6 +27,7 @@ import com.gamedog.vididin.VidiConst
|
|||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.adapter.MainTabsAdapter
|
||||
import com.gamedog.vididin.adapter.MainViewPagerAdapter
|
||||
import com.gamedog.vididin.features.winrecords.WinRecordsActivity
|
||||
import com.gamedog.vididin.main.fragments.task.DailySignSuccessDialog
|
||||
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
|
||||
import com.gamedog.vididin.manager.DateChangeReceiver
|
||||
|
|
@ -158,6 +160,11 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
}
|
||||
|
||||
|
||||
companion object {
|
||||
internal fun startActivity(activity: Activity) {
|
||||
activity.startActivity(Intent(activity.applicationContext, MainActivity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.gamedog.vididin.router
|
||||
|
||||
import android.app.Activity
|
||||
import com.gamedog.vididin.main.MainActivity
|
||||
|
||||
class DefaultMainRouter: MainRouter {
|
||||
override fun startActivity(activity: Activity) {
|
||||
MainActivity.Companion.startActivity(activity)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package com.gamedog.vididin.router
|
||||
|
||||
import android.app.Activity
|
||||
|
||||
interface MainRouter {
|
||||
fun startActivity(activity: Activity)
|
||||
}
|
||||
|
|
@ -31,8 +31,9 @@ object Router : RouterContract {
|
|||
override val ZeroBuy: ZeroBuyRouter by lazy { routerEntryPoint.zeroBuyRouter() }
|
||||
override val Withdraw: WithdrawRouter by lazy { routerEntryPoint.withdrawRouter() }
|
||||
override val WithdrawSub: WithdrawSubRouter by lazy { routerEntryPoint.withdrawSubRouter() }
|
||||
|
||||
override val WinRecord: WinRecordRouter by lazy { routerEntryPoint.winRecordBuyRouter() }
|
||||
override val Main: MainRouter by lazy { routerEntryPoint.mainRouter() }
|
||||
|
||||
|
||||
override val Privacy: IRouterPrivacy
|
||||
get() = routerEntryPoint.privacyRouter()
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ interface RouterContract {
|
|||
val Withdraw: WithdrawRouter
|
||||
val WithdrawSub: WithdrawSubRouter
|
||||
val WinRecord: WinRecordRouter
|
||||
val Main: MainRouter
|
||||
|
||||
val Privacy: IRouterPrivacy
|
||||
val Version: IRouterVersion
|
||||
|
|
|
|||
Loading…
Reference in New Issue