package Ġru . g 0 0 0 sha 2 5 6 . wallet . view _ model Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Store Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Provider Ċ Ċ class ĠViewModel Provider Factory < VM Ġ: ĠViewModel > Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval ĠviewModel Provider : ĠProvider < VM > Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġ< VM Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < VM >): ĠVM Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠviewModel Provider . get () Ġas ĠVM ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠVM Ġ: ĠViewModel > Ġget ( viewModel Store : ĠViewModel Store ): ĠVM Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget ( viewModel Store , ĠVM :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< VM Ġ: ĠViewModel > Ġget ( viewModel Store : ĠViewModel Store , Ġclazz : ĠClass < VM >): ĠVM Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Provider Ġ= ĠViewModel Provider ( viewModel Store , Ġthis ) ĊĠĠĠĠĠĠĠ Ġreturn ĠviewModel Provider [ clazz ] ĊĠĠĠ Ġ} Ċ Ċ }