package Ġme . tat oc aster . covid stats . screens Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġme . tat oc aster . core . base .* Ċ import Ġme . tat oc aster . core . mixins . ProgressBar Mixin Ċ import Ġme . tat oc aster . covid stats . R Ċ import Ġme . tat oc aster . covid stats . inject Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠC ov id Stats Fragment Ġ: ĠBase Fragment (), ĠProgress Bar Mixin Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġcov id Stats ViewModel : ĠC ov id Stats ViewModel ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠC ov id Stats ViewModel Factory ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġactivity Context : ĠContext ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Total Cases Count : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Total Re covered Count : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Total Death Count : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġb Refresh Stats : ĠButton ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġinject () ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ covid _ stats , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġfind Views ById ( view ) ĊĊĠĠĠĠĠĠĠ Ġcov id Stats ViewModel Ġ= ĠViewModel Provider ( this , ĠviewModel Factory )[ Cov id Stats ViewModel :: class . java ] ĊĊĠĠĠĠĠĠĠ Ġcov id Stats ViewModel . state . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply Progress bar Mixin ( state , Ġview . findViewById ( R . id . progress Bar )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJust Initial Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJust Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJust Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Refresh Stats . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity Context , ĠR . string . server _ error , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJust Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠC ov id Stats ViewModel . Cases Loaded Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Refresh Stats . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Cases Count . text Ġ= Ġstate . payload . total Confirmed . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Re covered Count . text Ġ= Ġstate . payload . total Re covered . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Total Death Count . text Ġ= Ġstate . payload . total Death s . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠJust Unknown Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity Context , ĠR . string . server _ error , ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUndefined StateException ( state ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġb Refresh Stats . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Refresh Stats . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity Context , ĠR . string . loading , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcov id Stats ViewModel . getC ov id Cases () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfind Views ById ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtv Total Cases Count Ġ= Ġview . findViewById ( R . id . tv Total Cases Count ) ĊĠĠĠĠĠĠĠ Ġtv Total Re covered Count Ġ= Ġview . findViewById ( R . id . tv Total Re covered Count ) ĊĠĠĠĠĠĠĠ Ġtv Total Death Count Ġ= Ġview . findViewById ( R . id . tv Total Death Count ) ĊĠĠĠĠĠĠĠ Ġb Refresh Stats Ġ= Ġview . findViewById ( R . id . b Refresh Stats ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠC ov id Stats Fragment () ĊĠĠĠ Ġ} Ċ }