package Ġcom . lambda . m ne me cards . edit Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . lambda . m ne me cards . network . Deck Ċ Ċ // ĠYou Ġneed Ġa Ġview Ġmodel Ġfactory Ġfor Ġwhen Ġpassing Ġarguments Ċ class ĠEdit ViewModel Factory ( ĊĠĠĠ Ġprivate Ġval Ġdeck : ĠDeck , ĊĠĠĠ Ġprivate Ġval Ġapplication : ĠApplication Ċ ): ĠViewModel Provider . Factory { ĊĠĠĠ Ġ@ Suppress (" unchecked _ cast ") ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Edit ViewModel :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEdit ViewModel ( deck , Ġapplication ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown ĠViewModel Ġclass ") ĊĠĠĠ Ġ} Ċ }