/* Ċ Ġ* Ġ ĠCopyright ĠÂ© ĠP ays afe ĠHold ings ĠUK ĠLimited Ġ 2 0 1 9 . ĠFor Ġmore Ġinformation Ġsee ĠLICENSE Ċ Ġ*/ Ċ Ċ package Ġcom . p ays afe . th reed secure Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . card inal commerce . card inal mobile sdk . Card inal Ċ import Ġcom . p ays afe . th reed secure . data . api . Net ban x Api Ċ import Ġcom . p ays afe . th reed secure . domain . Finalize UseCase Ċ import Ġcom . p ays afe . th reed secure . domain . Handle Challenge UseCase Ċ import Ġcom . p ays afe . th reed secure . ui . Base Activity Ċ import Ġcom . p ays afe . th reed secure . util . Activity Lifecycle Callbacks Adapter Ċ import Ġcom . p ays afe . th reed secure . ui . v 1 . WebView Challenge ViewModel Ċ import Ġcom . p ays afe . th reed secure . ui . v 2 . Card inal Challenge ViewModel Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ internal Ġclass ĠViewModel Provider Factory ( ĊĠĠĠ Ġprivate Ġval Ġapi : ĠNet ban x Api , ĊĠĠĠ Ġprivate Ġval Ġcard inal : ĠCard inal Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĊĠĠĠĠĠĠĠ Ġwith ( model Class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis AssignableFrom ( WebView Challenge ViewModel :: class . java ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWebView Challenge ViewModel ( Finalize UseCase ( api )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis AssignableFrom ( Card inal Challenge ViewModel :: class . java ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCard inal Challenge ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandle Challenge UseCase ( api , Ġcard inal ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFinal ize UseCase ( api ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Trying Ġto Ġcreate Ġunknown Ġmodel Ġclass Ġ${ model Class . canonical Name }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġas ĠT ĊĊĠĠĠ Ġinternal Ġfun Ġbind To Activity Lifecycle ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠ Ġwith ( context . application Context Ġas ĠApplication ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister Activity Lifecycle Callbacks ( object Ġ: ĠActivity Lifecycle Callbacks Adapter () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Activity Created ( activity : ĠActivity , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Ġis ĠBase Activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . factory Ġ= Ġthis @ ViewModel Provider Factory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ċ }