package Ġcom . g no . github . repo viewer . ui . repository details Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġdagger . ass isted . Ass isted Ċ import Ġdagger . ass isted . Ass isted Factory Ċ import Ġdagger . ass isted . Ass isted Inject Ċ Ċ class ĠRepository Details ViewModel ( private Ġval Ġurl : ĠString ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġurl LiveData Ġ= Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠ Ġemit ( url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRepository Details ViewModel Factory Ġ@ Ass isted Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġ@ Ass isted Ġprivate Ġval Ġurl : ĠString , ĊĠĠĠ Ġ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( model Class Ġ== ĠRepository Details ViewModel :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRepository Details ViewModel ( url ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Ass isted Factory ĊĠĠĠĠĠĠĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Ass isted Ġurl : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠRepository Details ViewModel Factory ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ