package Ġde . j ens wang en heim . div ers ity calc gn . activity Ċ Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġde . j ens wang en heim . div ers ity calc gn . model . H oliday . Companion . DATE _ FORMAT _ PATTERN _ LONG Ċ import Ġkotlinx . android . synt hetic . main . activity _ detail .* Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroid . view . MenuItem Ċ import Ġde . j ens wang en heim . div ers ity calc gn . R Ċ import Ġde . j ens wang en heim . div ers ity calc gn . model . H oliday Ċ import Ġandroid . content . Intent Ċ import Ġandroid . provider . Calendar Contract . Events Ċ import Ġandroid . provider . Calendar Contract ĊĊ Ċ class ĠDetail Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠH OL ID AY Ġ= Ġ" Detail Activity : holiday " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTRANS ITION _ NAME Ġ= Ġ" Detail Activity : transition Name " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠHO UR _ IN _ M ILL IS Ġ= Ġ 3 6 0 0 0 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Title Enabled ( false ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ detail ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransition Name Ġ= Ġintent . get Serializable Extra ( TRANS ITION _ NAME ) Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Name Detail . transition Name Ġ= Ġtransition Name ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbind H oliday ( intent . get Serializable Extra ( H OL ID AY ) Ġas ĠH oliday ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater : ĠMenu Inflater Ġ= Ġmenu Inflater ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . detail , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . add _ to _ calendar Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaddTo Calendar () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠaddTo Calendar () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh oliday Ġ= Ġintent . get Serializable Extra ( H OL ID AY ) Ġas ĠH oliday ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ INSERT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setData ( Events . CONTENT _ URI ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Calendar Contract . EXTRA _ EVENT _ BEGIN _ TIME , Ġh oliday . from . millis Ġ+ ĠHO UR _ IN _ M ILL IS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Events . TITLE , Ġh oliday . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Events . DESCRIPTION , Ġh oliday . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putExtra ( Events . ALL _ DAY , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( holiday . to Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Calendar Contract . EXTRA _ EVENT _ END _ TIME , Ġh oliday . to . millis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind H oliday ( holiday : ĠH oliday ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtv Name Detail . text Ġ= Ġh oliday . name ĊĠĠĠĠĠĠĠ Ġtv Name Type . text Ġ= Ġh oliday . type ĊĠĠĠĠĠĠĠ Ġtv From To . text Ġ= Ġformat DateString ( holiday ) ĊĠĠĠĠĠĠĠ Ġtv Description . text Ġ= Ġh oliday . description ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat DateString ( holiday : ĠH oliday ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġh oliday . to ?. let Ġ{ Ġreturn ĠgetString ( R . string . from _ to _ date _ format ). format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH oliday . date AsString ( DATE _ FORMAT _ PATTERN _ LONG , Ġh oliday . from ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH oliday . date AsString ( DATE _ FORMAT _ PATTERN _ LONG , Ġh oliday . to ) ĊĠĠĠĠĠĠĠ Ġ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠH oliday . date AsString ( DATE _ FORMAT _ PATTERN _ LONG , Ġh oliday . from ) ĊĠĠĠ Ġ} Ċ } Ċ