Coverage Summary for Class: AboutViewModelImpl (com.vsevolodganin.clicktrack.about)

Class Method, % Branch, % Line, % Instruction, %
AboutViewModelImpl 0% (0/7) 0% (0/12) 0% (0/46)
AboutViewModelImpl$Const
AboutViewModelImpl$Factory
AboutViewModelImpl$Factory$Impl
AboutViewModelImpl$Factory$Impl$Companion
AboutViewModelImpl$MetroFactory 0% (0/1) 0% (0/1) 0% (0/26)
AboutViewModelImpl$MetroFactory$Companion 0% (0/1) 0% (0/1) 0% (0/16)
AboutViewModelImpl$onBackClick$$inlined$pop$default$1 0% (0/1)
AboutViewModelImpl$onBackClick$$inlined$pop$default$2 0% (0/1)
Total 0% (0/11) 0% (0/14) 0% (0/88)


 package com.vsevolodganin.clicktrack.about
 
 import com.arkivanov.decompose.ComponentContext
 import com.arkivanov.decompose.router.stack.pop
 import com.vsevolodganin.clicktrack.ScreenStackNavigation
 import com.vsevolodganin.clicktrack.common.ApplicationBuildConfig
 import com.vsevolodganin.clicktrack.common.LinkOpener
 import dev.zacsweers.metro.Assisted
 import dev.zacsweers.metro.AssistedFactory
 import dev.zacsweers.metro.AssistedInject
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
 
 @AssistedInject
 class AboutViewModelImpl(
     @Assisted componentContext: ComponentContext,
     private val navigation: ScreenStackNavigation,
     private val linkOpener: LinkOpener,
     applicationBuildConfig: ApplicationBuildConfig,
 ) : AboutViewModel, ComponentContext by componentContext {
 
     @AssistedFactory
     fun interface Factory {
         fun create(
             componentContext: ComponentContext,
         ): AboutViewModelImpl
     }
 
     override val state: StateFlow<AboutState> = MutableStateFlow(
         AboutState(displayVersion = applicationBuildConfig.versionName),
     )
 
     override fun onBackClick() = navigation.pop()
 
     override fun onHomeClick() = linkOpener.url(HOME_PAGE)
 
     override fun onTwitterClick() = linkOpener.url(TWITTER)
 
     override fun onEmailClick() = linkOpener.email(EMAIL)
 
     override fun onArtstationClick() = linkOpener.url(ARTSTATION)
 
     override fun onProjectLinkClick() = linkOpener.url(GITHUB_PROJECT)
 
     private companion object Const {
         const val EMAIL = "contact@vsevolodganin.com"
         const val HOME_PAGE = "https://vsevolodganin.com"
         const val TWITTER = "https://twitter.com/vsga_dev"
         const val ARTSTATION = "https://varvara_furu.artstation.com"
         const val GITHUB_PROJECT = "https://github.com/vganin/click-track"
     }
 }