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