package Ġcom . cre ativity . dev . form simple Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . annotation . Requires Api Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Calendar View Ċ import Ġcom . cre ativity . dev . form simple . model . Co lection Calendar Ċ import Ġcom . cre ativity . dev . form simple . model . List Object Ċ import Ġcom . cre ativity . dev . form simple . utils . General Helper Ċ import Ġcom . cre ativity . dev . form simple . utils . Timer Helper Ċ import Ġkotlinx . android . synt hetic . main . activity _ calendar __ h _. * Ċ import Ġkotlinx . android . synt hetic . main . content _ toolbar .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠCalendar _ H _ Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġcontext Ġ= Ġthis ĊĠĠĠ Ġvar Ġget DateString : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġget Zone Id : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġtitle : ĠString Ġ= Ġ"" ĊĠĠĠ Ġvar Ġformat Date : ĠString Ġ= ĠTimer Helper . long Date ĊĠĠĠ Ġvar Ġlist Calendar Day : ĠList < Date > Ġ= ĠArrayList () ĊĠĠĠ Ġlateinit Ġvar Ġobj Collection Calendar : ĠCo lection Calendar ĊĠĠĠ Ġprivate Ġvar Ġcolor Title Toolbar : ĠInt Ġ= ĠColor . WHITE ĊĠĠĠ Ġprivate Ġvar Ġcolor Background Toolbar : ĠInt Ġ= ĠColor . rgb ( 1 0 1 , 1 8 5 , 1 0 2 ) ĊĠĠĠ Ġprivate Ġval Ġtimer Helper Ġ= ĠTimer Helper () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ calendar __ h _) ĊĊĠĠĠĠĠĠĠ Ġget Bundle Data () ĊĠĠĠĠĠĠĠ Ġactivity Create Toolbar () ĊĠĠĠĠĠĠĠ Ġset Range Date ( list Calendar Day ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . save _ search , Ġmenu ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġitem . itemId ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . checked ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠList Object . event List . even Set Simple String ( tv _ date _ 1 . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtitle : Ġget Put Extra ĊĠĠĠ Ġ// Ġdescription : Ġre co ge Ġlos Ġdatos Ġenv i ados Ġdesde Ġla Ġactiv idad Ġque Ġh ace Ġllam ada . ĊĠĠĠ Ġ// ĠProgram mer : Ġj G ut ier rez . ĊĊĠĠĠ Ġprivate Ġfun Ġget Bundle Data () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġextras Ġ= Ġintent . get Bundle Extra ( General Helper . key Bundle ()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( extras Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġextras . get Serializable ( LIST _ IG B _ CA ) Ġas ĠArrayList < Co lection Calendar > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġobj Collection Calendar Ġ= Ġarray . get ( 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġobj Collection Calendar . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Background Toolbar Ġ= Ġobj Collection Calendar . color Toolbar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Title Toolbar Ġ= Ġobj Collection Calendar . color Title Toolbar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Calendar Day Ġ= Ġobj Collection Calendar . list Date ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget DateString Ġ= Ġobj Collection Calendar . text ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( getDate String . length Ġ> Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Date : ĠDate Ġ= ĠGeneral Helper . parse Date ( getDate String , format Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcv _ date . setDate ( selected Date . time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( obj Collection Calendar . background Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ d . setBackground Resource ( obj Collection Calendar . background ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Range Date ( list Date : List < Date > ){ ĊĊĠĠĠĠĠĠĠ Ġif ( list Date . size Ġ> Ġ 1 ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcv _ date . max Date Ġ= Ġ ĠGeneral Helper . to Calendar ( list Date . last ()). time In Millis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcv _ date . min Date Ġ= ĠGeneral Helper . to Calendar ( list Date . first ()). time In Millis ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( getDate String . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Date : ĠDate Ġ= ĠGeneral Helper . parse Date ( getDate String , format Date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcv _ date . setDate ( selected Date . time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ date _ 1 . text Ġ= Ġtimer Helper . setText Calendar ( selected Date , format Date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcv _ date . setOn Date ChangeListener ( object Ġ: ĠCalendar View . On Date ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Selected Day Change ( view : ĠCalendar View , Ġyear : ĠInt , Ġmonth : ĠInt , Ġday OfMonth : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠG regorian Calendar ( year , Ġmonth , Ġday OfMonth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate ( view . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ date _ 1 . text Ġ= Ġtimer Helper . setText Calendar ( date , format Date ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset String Date ( date : ĠDate ){ ĊĠĠĠĠĠĠĠ Ġval Ġss Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ") ĊĠĠĠĠĠĠĠ Ġval Ġcurrent date Ġ= Ġss . format ( date ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtitle : Ġcreate Toolbar ĊĠĠĠ Ġ// Ġdescription : Ġgener ar Ġun Ġmenu Ġpersonal izado Ġcon Ġbot ones Ġa Ġla Ġdere cha Ġpara Ġel Ġtoolbar . ĊĠĠĠ Ġ// Ġprogrammer : Ġj G ut ier rez ĊĠĠĠ Ġprivate Ġfun Ġactivity Create Toolbar () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġm Toolbar Ġ= Ġtoolbar ĊĊĠĠĠĠĠĠĠ Ġm Toolbar . setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( m Toolbar ) ĊĠĠĠĠĠĠĠ Ġm Toolbar . set Navigation Icon ( R . drawable . ic _ arrow _ back _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġm Toolbar . inflate Menu ( R . menu . save _ search ) ĊĠĠĠĠĠĠĠ Ġm Toolbar . setTitle TextColor ( color Title Toolbar ) ĊĠĠĠĠĠĠĠ Ġm Toolbar . set BackgroundColor ( color Background Toolbar ) ĊĠĠĠĠĠĠĠ Ġm Toolbar . set Navigation OnClickListener ( View . OnClickListener Ġ{ Ġfinish () Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ