Coverage Summary for Class: InjectApplicationComponent (com.vsevolodganin.clicktrack.di.component)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
InjectApplicationComponent |
0%
(0/1)
|
0%
(0/8)
|
|
0%
(0/13)
|
0%
(0/54)
|
package com.vsevolodganin.clicktrack.di.component
import android.app.Application
import com.vsevolodganin.clicktrack.NativeLibraries
import com.vsevolodganin.clicktrack.storage.UserPreferencesRepository
import com.vsevolodganin.clicktrack.theme.ThemeManager
import kotlin.reflect.KClass
import me.tatarka.inject.`internal`.LazyMap
import me.tatarka.inject.`internal`.ScopedComponent
public fun KClass<ApplicationComponent>.create(application: Application): ApplicationComponent =
InjectApplicationComponent(application)
public class InjectApplicationComponent(
application: Application,
) : ApplicationComponent(application), ScopedComponent {
override val _scoped: LazyMap = LazyMap()
override val nativeLibraries: NativeLibraries
get() = _scoped.get("com.vsevolodganin.clicktrack.NativeLibraries") {
NativeLibraries()
}
override val userPreferences: UserPreferencesRepository
get() = _scoped.get("com.vsevolodganin.clicktrack.storage.UserPreferencesRepository") {
UserPreferencesRepository(
settings = provideUserPreferences(
application = application
),
json = _scoped.get("kotlinx.serialization.json.Json") {
provideJson()
}
)
}
override val themeManager: ThemeManager
get() = _scoped.get("com.vsevolodganin.clicktrack.theme.ThemeManager") {
ThemeManager(
userPreferences = userPreferences
)
}
}