/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 9 ĠArc us ĠProject . Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġar cus . app . common . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . is G one Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġar cus . presentation . common . view . ViewState Ċ import Ġar cus . presentation . common . view . ViewState ViewModel Ċ Ċ /** Ċ Ġ* ĠUsed Ġfor Ġclasses Ġthat Ġhave Ġbeen Ġupdated Ġto Ġuse Ġa Ġview Ġmodel . ĠOnce Ġall Ġclasses Ġare Ġupdated Ġ Ġto Ġhave Ġa ĠViewModel Ġthis Ċ Ġ* Ġshould Ġhave Ġeverything Ġfrom Ġ[ No ViewModel Fragment ] Ġcon solid ated Ġinto Ġthis Ġ[ Core Fragment ] Ġand Ġ[ No ViewModel Fragment ] Ċ Ġ* Ġremoved . Ċ Ġ*/ Ċ abstract Ġclass ĠCore Fragment < T Ġ: ĠView State ViewModel <* >> Ġ: ĠNo ViewModel Fragment () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġfragments Ġ[ viewModel ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġlateinit Ġvar ĠviewModel : ĠT ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġview Ġmodel Ġclass Ġthis Ġfragment Ġshould Ġload . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġval ĠviewModel Class : ĠClass < T > ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( viewModel Class ) ĊĠĠĠĠĠĠĠ ĠviewModel . view State . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠView State . Loading Ġ-> Ġprogress Container . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġprogress Container . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ