Coverage Summary for Class: PlatformModule_androidKt (com.georgeci.moneysurfer.di)

Class Class, % Method, % Branch, % Line, % Instruction, %
PlatformModule_androidKt 0% (0/1) 0% (0/6) 0% (0/8) 0% (0/59)


 package com.georgeci.moneysurfer.di
 
 import com.georgeci.moneysurfer.appconfig.RemoteConfigMirror
 import com.georgeci.moneysurfer.data.config.createRemoteConfigMirror
 import com.georgeci.moneysurfer.data.remote.androidRemoteDataModule
 import com.georgeci.moneysurfer.data.repository.FirebaseCrashReporter
 import com.georgeci.moneysurfer.domain.telemetry.CrashReporter
 import com.georgeci.moneysurfer.sync.db.SyncDatabase
 import com.georgeci.moneysurfer.sync.db.getSyncDatabaseBuilder
 import com.georgeci.moneysurfer.sync.db.getSyncRoomDatabase
 import org.koin.core.module.Module
 import org.koin.dsl.module
 
 private val onlinePlatformModule: Module = module {
     includes(androidRemoteDataModule)
     single<SyncDatabase> { getSyncRoomDatabase(getSyncDatabaseBuilder(context = get())) }
     single<CrashReporter> { FirebaseCrashReporter() }
     // Server-flag mirror, on its own DataStore file created inside the factory rather than bound —
     // a second unqualified `DataStore<Preferences>` would collide with the app's own one. Bound per
     // host rather than in `sharedPlatformModule`, because only the online build has a remote layer.
     single<RemoteConfigMirror> { createRemoteConfigMirror(context = get(), scope = get()) }
 }
 
 val onlineWiring: List<Module> = listOf(
     onlinePlatformModule,
     OnlineKoinApp().module(),
 )