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