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 953ee24..2df6540 100644 --- a/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt +++ b/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt @@ -8,6 +8,16 @@ import com.gamedog.vididin.features.withdraw.DefaultWithdrawRouter import com.gamedog.vididin.features.withdraw.WithdrawRouter 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.DefaultPrivacyRouter +import com.gamedog.vididin.router.DefaultSplashRouter +import com.gamedog.vididin.router.DefaultVersionRouter +import com.gamedog.vididin.router.DefaultWithdrawRecordRouter +import com.gamedog.vididin.router.IRouterFeedback +import com.gamedog.vididin.router.IRouterPrivacy +import com.gamedog.vididin.router.IRouterSplash +import com.gamedog.vididin.router.IRouterVersion +import com.gamedog.vididin.router.IRouterWithdrawRecord import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -44,8 +54,48 @@ object WithdrawModule { @Module @InstallIn(SingletonComponent::class) object WinRecordModule { - @Provides @Singleton fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter() +} + + +@Module +@InstallIn(SingletonComponent::class) +object PrivacyModule { + @Provides + @Singleton + fun provideRouter(): IRouterPrivacy = DefaultPrivacyRouter() +} + +@Module +@InstallIn(SingletonComponent::class) +object FeedbackModule { + @Provides + @Singleton + fun provideRouter(): IRouterFeedback = DefaultFeedbackRouter() +} + +@Module +@InstallIn(SingletonComponent::class) +object WithdrawRecordModule { + @Provides + @Singleton + fun provideRouter(): IRouterWithdrawRecord = DefaultWithdrawRecordRouter() +} + +@Module +@InstallIn(SingletonComponent::class) +object SplashModule { + @Provides + @Singleton + fun provideRouter(): IRouterSplash = DefaultSplashRouter() +} + +@Module +@InstallIn(SingletonComponent::class) +object VersionModule { + @Provides + @Singleton + fun provideRouter(): IRouterVersion = DefaultVersionRouter() } \ No newline at end of file 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 b447966..afdc636 100644 --- a/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt +++ b/app/src/main/java/com/gamedog/vididin/di/RouterEntryPoints.kt @@ -8,6 +8,11 @@ import com.gamedog.vididin.features.benefit.BenefitRouter import com.gamedog.vididin.features.winrecords.WinRecordRouter import com.gamedog.vididin.features.withdraw.WithdrawRouter import com.gamedog.vididin.features.zero.ZeroBuyRouter +import com.gamedog.vididin.router.IRouterFeedback +import com.gamedog.vididin.router.IRouterPrivacy +import com.gamedog.vididin.router.IRouterSplash +import com.gamedog.vididin.router.IRouterVersion +import com.gamedog.vididin.router.IRouterWithdrawRecord import dagger.hilt.EntryPoint import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent @@ -28,5 +33,11 @@ interface RouterEntryPoint { fun winRecordBuyRouter(): WinRecordRouter + fun privacyRouter(): IRouterPrivacy + fun versionRouter(): IRouterVersion + fun feedbackRouter(): IRouterFeedback + fun splashRouter(): IRouterSplash + fun withdrawRecordRouter(): IRouterWithdrawRecord + } diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt index 0edf283..13fddaa 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt @@ -9,6 +9,7 @@ import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.setOnClickBatch import com.gamedog.vididin.R import com.gamedog.vididin.main.interfaces.OnTabStyleListener +import com.gamedog.vididin.router.Router import dagger.hilt.android.AndroidEntryPoint import kotlin.getValue import com.gamedog.vididin.databinding.ActivityWithdrawBinding as ViewBinding @@ -58,8 +59,18 @@ class WithDrawActivity : AppViewsActivity(), On }) - tvSacar.setOnClickListener { + + + setOnClickBatch(tvSacar, withdrawRecord) { + when(this) { + tvSacar -> { + + } + withdrawRecord -> { + Router.WithdrawRecord.startActivity(this@WithDrawActivity) + } + } } } diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt index 0caf7d5..a9b17fb 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt @@ -10,8 +10,10 @@ import androidx.core.view.updatePadding import androidx.fragment.app.viewModels import com.ama.core.architecture.appBase.AppViewsFragment import com.ama.core.architecture.appBase.OnFragmentBackgroundListener +import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setStatusBarDarkFont import com.ama.core.common.util.dp +import com.gamedog.vididin.router.Router import dagger.hilt.android.AndroidEntryPoint import kotlin.getValue import com.gamedog.vididin.databinding.VididinappFeatureMineFragmentMineBinding as ViewBinding @@ -46,7 +48,19 @@ class MineFragment : AppViewsFragment(), } override fun ViewBinding.initViews() { - + setOnClickBatch(rlPrivacy, rlVersion, rlFeedback) { + when (this) { + rlPrivacy -> { + Router.Privacy.startActivity(requireActivity()) + } + rlVersion -> { + Router.Version.startActivity(requireActivity()) + } + rlFeedback -> { + Router.Feedback.startActivity(requireActivity()) + } + } + } } override fun ViewBinding.initListeners() { 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 0ebbf62..5be2956 100644 --- a/app/src/main/java/com/gamedog/vididin/router/Router.kt +++ b/app/src/main/java/com/gamedog/vididin/router/Router.kt @@ -26,12 +26,20 @@ object Router : RouterContract { override val Task: TaskRouter by lazy { routerEntryPoint.taskRouter() } override val Mine: MineRouter by lazy { routerEntryPoint.mineRouter() } override val Login: LoginRouter by lazy { routerEntryPoint.loginRouter() } - - - override val Benefit: BenefitRouter by lazy { routerEntryPoint.benefitRouter() } override val ZeroBuy: ZeroBuyRouter by lazy { routerEntryPoint.zeroBuyRouter() } override val Withdraw: WithdrawRouter by lazy { routerEntryPoint.withdrawRouter() } override val WinRecord: WinRecordRouter by lazy { routerEntryPoint.winRecordBuyRouter() } + + override val Privacy: IRouterPrivacy + get() = routerEntryPoint.privacyRouter() + override val Version: IRouterVersion + get() = routerEntryPoint.versionRouter() + override val Feedback: IRouterFeedback + get() = routerEntryPoint.feedbackRouter() + override val WithdrawRecord: IRouterWithdrawRecord + get() = routerEntryPoint.withdrawRecordRouter() + override val Splash: IRouterSplash + get() = routerEntryPoint.splashRouter() } 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 701905d..05934aa 100644 --- a/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt +++ b/app/src/main/java/com/gamedog/vididin/router/RouterContract.kt @@ -22,4 +22,10 @@ interface RouterContract { val Withdraw: WithdrawRouter val WinRecord: WinRecordRouter + val Privacy: IRouterPrivacy + val Version: IRouterVersion + val Feedback: IRouterFeedback + val WithdrawRecord: IRouterWithdrawRecord + val Splash: IRouterSplash + } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/router/RouterDefault.kt b/app/src/main/java/com/gamedog/vididin/router/RouterDefault.kt new file mode 100644 index 0000000..efe04ec --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/router/RouterDefault.kt @@ -0,0 +1,40 @@ +package com.gamedog.vididin.router + +import android.app.Activity +import com.gamedog.vididin.features.feedback.FeedbackActivity +import com.gamedog.vididin.features.privacy.PrivacyActivity +import com.gamedog.vididin.features.splash.SplashActivity +import com.gamedog.vididin.features.version.VersionActivity +import com.gamedog.vididin.features.withdrawrecord.WithdrawRecordActivity + + +class DefaultPrivacyRouter: IRouterPrivacy { + override fun startActivity(activity: Activity) { + PrivacyActivity.Companion.startActivity(activity) + } +} + +class DefaultSplashRouter: IRouterSplash { + override fun startActivity(activity: Activity) { + SplashActivity.Companion.startActivity(activity) + } +} + +class DefaultWithdrawRecordRouter: IRouterWithdrawRecord { + override fun startActivity(activity: Activity) { + WithdrawRecordActivity.Companion.startActivity(activity) + } +} + +class DefaultFeedbackRouter: IRouterFeedback { + override fun startActivity(activity: Activity) { + FeedbackActivity.Companion.startActivity(activity) + } +} + +class DefaultVersionRouter: IRouterVersion { + override fun startActivity(activity: Activity) { + VersionActivity.Companion.startActivity(activity) + } +} + diff --git a/app/src/main/java/com/gamedog/vididin/router/RouterInterfaces.kt b/app/src/main/java/com/gamedog/vididin/router/RouterInterfaces.kt new file mode 100644 index 0000000..21aa89a --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/router/RouterInterfaces.kt @@ -0,0 +1,26 @@ +package com.gamedog.vididin.router + +import android.app.Activity + + +interface IRouterPrivacy { + fun startActivity(activity: Activity) +} + +interface IRouterVersion { + fun startActivity(activity: Activity) +} + +interface IRouterFeedback { + fun startActivity(activity: Activity) +} + +interface IRouterWithdrawRecord { + fun startActivity(activity: Activity) +} + +interface IRouterSplash { + fun startActivity(activity: Activity) +} + + diff --git a/app/src/main/res/layout/activity_withdraw.xml b/app/src/main/res/layout/activity_withdraw.xml index e0849a1..2a6ad91 100644 --- a/app/src/main/res/layout/activity_withdraw.xml +++ b/app/src/main/res/layout/activity_withdraw.xml @@ -85,6 +85,7 @@