Coverage Summary for Class: MainApplication (com.vsevolodganin.clicktrack)

Class Method, % Branch, % Line, % Instruction, %
MainApplication 0% (0/4) 0% (0/2) 0% (0/22) 0% (0/66)
MainApplication$MetroMembersInjector 0% (0/1) 0% (0/1) 0% (0/22)
MainApplication$MetroMembersInjector$Companion 0% (0/1) 0% (0/1) 0% (0/15)
Total 0% (0/6) 0% (0/2) 0% (0/24) 0% (0/103)


 package com.vsevolodganin.clicktrack
 
 import android.app.Application
 import android.content.Context
 import android.os.StrictMode
 import com.vsevolodganin.clicktrack.common.ApplicationBuildConfig
 import com.vsevolodganin.clicktrack.di.component.ApplicationComponent
 import com.vsevolodganin.clicktrack.theme.ThemeManager
 import com.vsevolodganin.clicktrack.utils.cast
 import dev.zacsweers.metro.Inject
 import dev.zacsweers.metro.createGraphFactory
 
 class MainApplication : Application() {
 
     lateinit var component: ApplicationComponent
         private set
 
     @Inject
     private lateinit var themeManager: ThemeManager
 
     @Inject
     private lateinit var applicationBuildConfig: ApplicationBuildConfig
 
     override fun onCreate() {
         super.onCreate()
 
         component = createGraphFactory<ApplicationComponent.Factory>()
             .create(this)
             .also {
                 it.inject(this)
             }
 
         if (applicationBuildConfig.isDebug) {
             strictMode()
         }
 
         themeManager.start()
     }
 
     private fun strictMode() {
         StrictMode.setThreadPolicy(
             StrictMode.ThreadPolicy.Builder()
                 .detectAll()
                 .penaltyLog()
                 .build(),
         )
         StrictMode.setVmPolicy(
             StrictMode.VmPolicy.Builder()
                 .detectAll()
                 .penaltyLog()
                 .build(),
         )
     }
 }
 
 val Context.applicationComponent: ApplicationComponent
     get() = applicationContext.cast<MainApplication>().component