package Ġcom . mo ha ey o . mo h ae . view model . main . group . list Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . mo ha ey o . domain . use case . Get Group List UseCase Ċ import Ġcom . mo ha ey o . mo h ae . mapper . Group Mapper Ċ Ċ class ĠGroup List ViewModel Factory ( ĊĠĠĠ Ġprivate Ġval Ġget Group List UseCase : ĠGet Group List UseCase , ĊĠĠĠ Ġprivate Ġval Ġgroup Mapper : ĠGroup Mapper Ċ ): ĠViewModel Provider . Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġmodel Class . get Constructor ( ĊĠĠĠĠĠĠĠ ĠGet Group List UseCase :: class . java , ĊĠĠĠĠĠĠĠ ĠGroup Mapper :: class . java ĊĠĠĠ Ġ). newInstance ( ĊĠĠĠĠĠĠĠ Ġget Group List UseCase , ĊĠĠĠĠĠĠĠ Ġgroup Mapper ĊĠĠĠ Ġ) Ċ }