package Ġcom . a osh en f eng yu . test amaz ing talk er . mvp . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . R Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . adapter . Schedule Adapter Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . base . Base Fragment Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . bean . Schedule Bundle Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . bean . Schedule Item Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . constant . Constant . CAL END AR _ COLUMN _ COUNT Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . mvp . contract . Calendar Contract Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . mvp . model . Calendar Model Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . mvp . presenter . Calendar Presenter Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . request . Calendar Api Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . request . Request Manager Ċ import Ġcom . a osh en f eng yu . test amaz ing talk er . util . Date Util Ċ import Ġkotlinx . android . synt hetic . main . fragment _ calendar .* Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠCalendar Fragment ( private Ġval ĠstartDate Calendar : ĠCalendar ) Ġ: ĊĠĠĠ ĠBase Fragment < Calendar Contract . View , ĠCalendar Presenter >(), ĊĠĠĠ ĠCalendar Contract . View Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġiv Day Title Lines Ġ= ĠArrayList < ImageView >() ĊĠĠĠ Ġprivate Ġvar Ġtv Day Titles Ġ= ĠArrayList < TextView >() ĊĠĠĠ Ġprivate Ġvar Ġtv Day Texts Ġ= ĠArrayList < TextView >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Presenter (): ĠCalendar Presenter Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Ġ= ĠRequest Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. ret rofit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Calendar Api :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= ĠCalendar Model ( api ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCalendar Presenter ( this , Ġmodel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ calendar , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġfind Views () ĊĠĠĠĠĠĠĠ Ġset Day Texts () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġget Schedule () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfind Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġiv Day Title Lines . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf < ImageView >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ sun , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ mon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ t ue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ wed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ th u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ f ri , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv _ day _ title _ line _ sat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtv Day Titles . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf < TextView >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ sun , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ mon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ t ue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ wed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ th u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ f ri , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ title _ text _ sat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġtv Day Texts . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf < TextView >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ sun , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ mon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ t ue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ wed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ th u , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ f ri , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ day _ text _ sat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Day Texts () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( i , Ġtv ) Ġin Ġtv Day Texts . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠstartDate Calendar . clone () Ġas ĠCalendar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcalendar . add ( Calendar . DAY _ OF _ MONTH , Ġi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv . text Ġ= Ġcalendar . get ( Calendar . DAY _ OF _ MONTH ). toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Schedule () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter ?. load Schedule ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Util . get Iso 8 6 0 1 DateString ( startDate Calendar ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Schedule ( schedule Bundle : ĠSchedule Bundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġc pb _ loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġif Ġ( schedule Bundle . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset Day Title Enable ( schedule Bundle . getColumn Title Enable s ()) ĊĠĠĠĠĠĠĠ Ġset Schedule List ( schedule Bundle . get Schedule Items ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Day Title Enable ( enable s : ĠArrayList < Boolean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( i , Ġenable ) Ġin Ġenables . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Day Title Lines [ i ]. isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Day Titles [ i ]. isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Day Texts [ i ]. isEnabled Ġ= Ġenable ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Schedule List ( schedule Items : ĠArrayList < Schedule Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġrv _ schedule . layout Manager Ġ= ĠGrid LayoutManager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCAL END AR _ COLUMN _ COUNT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGrid LayoutManager . VERTICAL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠSchedule Adapter () ĊĠĠĠĠĠĠĠ Ġrv _ schedule . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġadapter . set Schedule ( schedule Items ) ĊĠĠĠ Ġ} Ċ Ċ }