/* Ċ Ġ* ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġto Ġyou Ġ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 Ġcom . orange . ease . dan . ui . criteria . details . examples Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . orange . ease . dan . R Ċ import Ġcom . orange . ease . dan . databinding . Example Frag L vl 2 Binding Ċ import Ġcom . orange . ease . dan . data . repository . Criteria Repository Ċ import Ġcom . orange . ease . dan . navigation . FragmentManager Activity Ċ import Ġcom . orange . ease . dan . view model . Criteria Details ViewModel Ċ Ċ class ĠExample Criteria Fragment : ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠExample Frag L vl 2 Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠCriteria Details ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠmContext Ġ: ĠContext ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠExample Criteria Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠExample Frag L vl 2 Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( require Activity ()). get ( Criteria Details ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . criteria Ġ= ĠCriteria Repository . getCurrent Criteria () ĊĠĠĠĠĠĠĠ Ġinit Header () ĊĠĠĠĠĠĠĠ Ġinit Example () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ ĠmContext Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Header () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . textView Title Example . text Ġ= ĠviewModel . getCurrent Example ()?. let Ġ{ Ġit . details Example . getTitle Ress ource ( mContext ) Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . textView Description Example . text Ġ= ĠviewModel . getCurrent Example ()?. let Ġ{ Ġit . details Example . getDescription Ress ource ( mContext ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Example () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . getCurrent Example ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . frame Layout Example A xs Yes . addView ( it . details Example . get Accessible Example ( mContext )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . frame Layout Example A xs No . addView ( it . details Example . get Not Accessible Example ( mContext )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexamples Count Ġ= ĠviewModel . criteria ?. example List ?. size Ġ?: Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Example Count Ġ= Ġ( viewModel . criteria ?. example List ?. indexOf ( it ) Ġ?: Ġ 0 ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġif Ġ( it . details Example . has Empty Title ()) Ġ"" Ġelse Ġ( getString ( R . string . example ) Ġ+ Ġ" Ġ$ current Example Count /$ examples Count ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). support ActionBar ?. title Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). title Ġ= ĠgetString ( R . string . example ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuse Option Ġ= Ġit . details Example . use Option () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoption Visibility Ġ= Ġ Ġif Ġ( use Option ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . view Option Enabled . visibility Ġ= Ġoption Visibility ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . textView Option Enabled . text Ġ= Ġit . details Example . getOption Ress ource ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( mContext Ġas ĠFragment Manager Activity ). set Menu Action Visibility ( use Option ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊ