package Ġcom . daniel vil ha . sample Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġcom . daniel vil ha . calendar ve iw . Calendar Dialog Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġdan iel vil ha Ġon Ġ 2 5 / 0 6 / 2 0 Ċ Ġ* Ġhttps :// github . com / daniel vil ha Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠCalendar Dialog . Callback Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġbtn Show Calendar . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCalendar Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Single ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set First Monday ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Callback ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . show ( support FragmentManager , ĠMainActivity :: class . java . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn Show Calendar Hidden . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCalendar Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Single ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set First Monday ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . show Time ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . set Callback ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . show ( support FragmentManager , ĠMainActivity :: class . java . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cancelled () Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Cancelled ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Data Selected ( first Date : ĠCalendar ?, Ġsecond Date : ĠCalendar ?, Ġhours : ĠInt , Ġminutes : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( first Date Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( second Date Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Date [ Calendar . HOUR _ OF _ DAY ] Ġ= Ġhours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Date [ Calendar . MINUTE ] Ġ= Ġminutes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . btn Show Calendar ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat ( getString ( R . string . time Format ), ĠLocale . getDefault ()). format ( first Date . time ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Date [ Calendar . HOUR _ OF _ DAY ] Ġ= Ġhours ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Date [ Calendar . MINUTE ] Ġ= Ġminutes ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . btn Show Calendar ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . period , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat ( getString ( R . string . date Format ), ĠLocale . getDefault ()). format ( first Date . time ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimpleDateFormat ( getString ( R . string . time Format ), ĠLocale . getDefault ()). format ( second Date . time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . btn Show Calendar ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" No Ġdays Ġselected ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }