package Ġio . horizontal systems . bank wallet . modules . coin . invest ments Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . horizontal systems . bank wallet . core . App Ċ import Ġjavax . annotation . concurrent . Immutable Ċ Ċ object ĠCoin Invest ments Module Ġ{ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġclass ĠFactory ( private Ġval Ġcoin Uid : ĠString ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠCoin Invest ments Service ( coin Uid , ĠApp . market Kit , ĠApp . currency Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCoin Invest ments ViewModel ( service , ĠApp . number Formatter ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Immutable ĊĠĠĠ Ġdata Ġclass ĠView Item ( ĊĠĠĠĠĠĠĠ Ġval Ġamount : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġinfo : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġfund View Items : ĠList < Fund View Item > ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Immutable ĊĠĠĠ Ġdata Ġclass ĠFund View Item ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġlogo Url : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġis Lead : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġurl : ĠString ĊĠĠĠ Ġ) Ċ } Ċ