VidiDin-Android/app/src/main/java/com/gamedog/vididin/di/ComponentModule.kt

111 lines
2.9 KiB
Kotlin
Raw Normal View History

package com.gamedog.vididin.di
import com.gamedog.vididin.features.benefit.BenefitRouter
import com.gamedog.vididin.features.benefit.DefaultBenefitRouter
import com.gamedog.vididin.features.winrecords.DefaultWinRecordRouter
import com.gamedog.vididin.features.winrecords.WinRecordRouter
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
2025-11-25 08:33:32 +00:00
import com.gamedog.vididin.router.DefaultFeedbackRouter
import com.gamedog.vididin.router.DefaultPrivacyRouter
import com.gamedog.vididin.router.DefaultSplashRouter
import com.gamedog.vididin.router.DefaultVersionRouter
2025-11-28 03:25:45 +00:00
import com.gamedog.vididin.router.DefaultWatchAdRouter
2025-11-25 08:33:32 +00:00
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
2025-11-28 03:25:45 +00:00
import com.gamedog.vididin.router.IRouterWatchAd
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
object BenefitModule {
@Provides
@Singleton
fun provideRouter(): BenefitRouter = DefaultBenefitRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object ZeroBuyModule {
@Provides
@Singleton
fun provideRouter(): ZeroBuyRouter = DefaultZeroBuyRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object WithdrawModule {
@Provides
@Singleton
fun provideRouter(): WithdrawRouter = DefaultWithdrawRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object WinRecordModule {
@Provides
@Singleton
fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter()
2025-11-25 08:33:32 +00:00
}
@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()
2025-11-28 03:25:45 +00:00
}
@Module
@InstallIn(SingletonComponent::class)
object WatchAd {
@Provides
@Singleton
fun provideRouter(): IRouterWatchAd = DefaultWatchAdRouter()
}