package Ġme . li 2 . android . architecture . ui . article detail . view model Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġandroid . arch . lifecycle . ViewModel Provider Ċ import Ġme . li 2 . android . architecture . data . repository . Articles Repository Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠThe Ġconstructor Ġthat Ġis Ġautomatically Ġcalled Ġby ĠViewModel Provider Ġis Ġthe Ġdefault Ġone Ġ- Ċ Ġ* Ġit Ġtakes Ġno Ġarguments . ĠIf Ġyou Ġwant Ġto Ġcreate Ġa Ġdifferent Ġconstructor Ġfor Ġa Ġview Ġmodel , Ċ Ġ* Ġyou 'll Ġneed Ġto Ġmake Ġa Ġview Ġmodel Ġprovider Ġfactory . Ċ Ġ* Ċ Ġ* ĠCreated Ġby Ġwe i yi Ġon Ġ 0 4 / 0 2 / 2 0 1 8 . Ċ Ġ* Ġhttps :// github . com / li 2 Ċ Ġ*/ Ċ Ċ class ĠArticle Detail ViewModel Factory Ċ @ Inject Ċ constructor () Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġm Repository : ĠArticles Repository ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠArticle Detail ViewModel ( m Repository ) Ġas ĠT ĊĠĠĠ Ġ} Ċ } Ċ