package Ġcom . best . desk clock . settings Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Keep Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . ap plan de o . material calendar view . Calendar View Ċ import Ġcom . ap plan de o . material calendar view . listeners . On Day ClickListener Ċ Ċ import Ġcom . best . desk clock . data . H olidays Ċ import Ġcom . best . desk clock . R Ċ Ċ import Ġjava . util .* Ċ Ċ class ĠMaterial Calendar Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Calendar View : ĠCalendar View ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . setting _ holiday ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcalendar View Ġ= ĠfindViewById < Calendar View >( R . id . calendar View ) ĊĠĠĠĠĠĠĠ Ġm Calendar View Ġ= Ġcalendar View ĊĊĠĠĠĠĠĠĠ Ġval Ġcontext : ĠContext Ġ= Ġget ApplicationContext () ĊĠĠĠĠĠĠĠ Ġval Ġtitle ResourceId Ġ= Ġintent . getInt Extra ( EXTRA _ TITLE , Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠsetTitle ( context . getString ( title ResourceId )) ĊĊĠĠĠĠĠĠĠ Ġval Ġmin Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġmin . add ( Calendar . DAY _ OF _ MONTH , Ġ- 1 ); ĊĠĠĠĠĠĠĠ Ġcalendar View . setMinimum Date ( min ) ĊĊĠĠĠĠĠĠĠ Ġcalendar View . setSelected Dates ( H olidays . get H olidays ()) ĊĊĠĠĠĠĠĠĠ Ġcalendar View . setOn Day ClickListener ( On Day ClickListener Ġ{ Ġevent Day Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Calendar Ġ= Ġevent Day . calendar ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnow Calendar . get ( Calendar . YEAR ). toString () Ġ+ Ġ"-" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( now Calendar . get ( Calendar . MONTH ) Ġ+ Ġ 1 ). toString () Ġ+ Ġ"-" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnow Calendar . get ( Calendar . DATE ). toString (), ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item ?. itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġh olidays Ġ= ĠH olidays () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Calendar View ?. getSelected Dates ()?. let Ġ{ Ġh olidays . set H olidays ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġh olidays Ġ= ĠH olidays () ĊĠĠĠĠĠĠĠ Ġm Calendar View ?. getSelected Dates ()?. let Ġ{ Ġh olidays . set H olidays ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĠKey Ġto Ġan Ġextra Ġthat Ġdefines Ġresource Ġid Ġto Ġthe Ġtitle Ġof Ġthis Ġactivity . Ġ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ TITLE Ġ= Ġ" extra _ title " ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġan Ġintent Ġthat Ġla unches Ġthe Ġring tone Ġpicker Ġto Ġedit Ġthe Ġring tone Ġof Ġall Ġtimers ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Keep ĊĠĠĠĠĠĠĠ Ġfun Ġcreate Material Cal ender Picker Intent ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIntent ( context , ĠMaterial Calendar Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( EXTRA _ TITLE , ĠR . string . open _ holiday _ settings ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }