From 17441a0d786fb697983469c1ff6f9d47e49a5fb2 Mon Sep 17 00:00:00 2001
From: renhaoting <370797079@qq.com>
Date: Wed, 17 Dec 2025 14:07:58 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Esplash=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/AndroidManifest.xml | 8 ++--
.../com/gamedog/vididin/di/ComponentModule.kt | 10 +++++
.../gamedog/vididin/di/RouterEntryPoints.kt | 2 +
.../vididin/features/splash/SplashActivity.kt | 38 ++++++++++---------
.../com/gamedog/vididin/main/MainActivity.kt | 7 ++++
.../vididin/router/DefaultMainRouter.kt | 10 +++++
.../com/gamedog/vididin/router/MainRouter.kt | 7 ++++
.../java/com/gamedog/vididin/router/Router.kt | 3 +-
.../gamedog/vididin/router/RouterContract.kt | 1 +
9 files changed, 64 insertions(+), 22 deletions(-)
create mode 100644 app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt
create mode 100644 app/src/main/java/com/gamedog/vididin/router/MainRouter.kt
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a4b5b9e..10cec49 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,10 +25,12 @@
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/Theme.Architectureandroid">
+
+ android:launchMode="singleTop"
+ android:screenOrientation="portrait">
@@ -36,13 +38,13 @@
+
-
diff --git a/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt b/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt
index b3ece70..b336153 100644
--- a/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt
+++ b/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt
@@ -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)
diff --git a/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt b/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt
index 64e9f95..bf10324 100644
--- a/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt
+++ b/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt
@@ -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
diff --git a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt
index e5382e3..05ac468 100644
--- a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt
+++ b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt
@@ -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(), OnTabStyleListener {
+class SplashActivity : AppViewsEmptyViewModelActivity(), 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(), 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))
}
diff --git a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
index fb88002..d4b5e9e 100644
--- a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
+++ b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
@@ -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(), OnTabS
}
+ companion object {
+ internal fun startActivity(activity: Activity) {
+ activity.startActivity(Intent(activity.applicationContext, MainActivity::class.java))
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt b/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt
new file mode 100644
index 0000000..e2f06e1
--- /dev/null
+++ b/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt
@@ -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)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt b/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt
new file mode 100644
index 0000000..5439ebd
--- /dev/null
+++ b/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt
@@ -0,0 +1,7 @@
+package com.gamedog.vididin.router
+
+import android.app.Activity
+
+interface MainRouter {
+ fun startActivity(activity: Activity)
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/gamedog/vididin/router/Router.kt b/app/src/main/java/com/gamedog/vididin/router/Router.kt
index ca741e4..2ea7e54 100644
--- a/app/src/main/java/com/gamedog/vididin/router/Router.kt
+++ b/app/src/main/java/com/gamedog/vididin/router/Router.kt
@@ -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()
diff --git a/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt b/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt
index 207d828..47a666f 100644
--- a/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt
+++ b/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt
@@ -23,6 +23,7 @@ interface RouterContract {
val Withdraw: WithdrawRouter
val WithdrawSub: WithdrawSubRouter
val WinRecord: WinRecordRouter
+ val Main: MainRouter
val Privacy: IRouterPrivacy
val Version: IRouterVersion