Coverage Summary for Class: MindboxDI (cloud.mindbox.mobile_sdk.di)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| MindboxDI |
100%
(1/1)
|
100%
(3/3)
|
83.3%
(5/6)
|
100%
(31/31)
|
93.5%
(58/62)
|
package cloud.mindbox.mobile_sdk.di
import android.app.Application
import android.content.Context
import cloud.mindbox.mobile_sdk.di.modules.*
import cloud.mindbox.mobile_sdk.logger.mindboxLogD
internal object MindboxDI {
internal lateinit var appModule: AppModule
fun isInitialized() = MindboxDI::appModule.isInitialized
fun init(appContext: Context) {
if (isInitialized()) return
mindboxLogD("MindboxDI init in ${Thread.currentThread().name}")
val appContextModule = AppContextModule(
application = appContext.applicationContext as Application
)
val apiModule = ApiModule(
appContextModule = appContextModule,
)
val dataModule = DataModule(
appContextModule = appContextModule,
apiModule = apiModule
)
val domainModule = DomainModule(
dataModule = dataModule,
apiModule = apiModule
)
val monitoringModule = MonitoringModule(
appContextModule = appContextModule,
dataModule = dataModule,
apiModule = apiModule,
)
val presentationModule = PresentationModule(
domainModule = domainModule,
monitoringModule = monitoringModule,
apiModule = apiModule,
appContextModule = appContextModule,
dataModule = dataModule
)
appModule = AppModule(
applicationContextModule = appContextModule,
apiModule = apiModule,
dataModule = dataModule,
domainModule = domainModule,
monitoringModule = monitoringModule,
presentationModule = presentationModule,
)
}
}