package Ġcom . z yy o ona 7 . demo Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġcom . z yy o ona 7 . demo . activity . Base Activity Ċ import Ġcom . z yy o ona 7 . demo . databinding . Activity Details Binding Ċ import Ġcom . z yy o ona 7 . demo . dialog fragment . DatePicker Dialog Fragment Ċ import Ġcom . z yy o ona 7 . demo . dialog fragment . Link age Picker Dialog Fragment Ċ import Ġcom . z yy o ona 7 . demo . dialog fragment . Time Picker Dialog Fragment Ċ import Ġcom . z yy o ona 7 . demo . entities . City Ċ import Ġcom . z yy o ona 7 . picker . listener . On Date Selected Listener Ċ import Ġcom . z yy o ona 7 . picker . listener . On Link age Selected Listener Ċ import Ġcom . z yy o ona 7 . picker . listener . On Time Selected Listener Ċ import Ġcom . z yy o ona 7 . wheel . Wheel View Ċ import Ġjava . text . DateFormat Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠDetails Activity Ġ: ĠBase Activity < Activity Details Binding >(), On Date Selected Listener , Ċ On Link age Selected Listener , On Time Selected Listener { ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Year =- 1 ĊĠĠĠ Ġprivate Ġvar Ġcurrent Month =- 1 ĊĠĠĠ Ġprivate Ġvar Ġcurrent Day =- 1 ĊĊĊĠĠĠ Ġprivate Ġvar Ġp : String ="" ĊĠĠĠ Ġprivate Ġvar Ġc : String ="" ĊĠĠĠ Ġprivate Ġvar Ġa : String ="" ĊĊĠĠĠ Ġprivate Ġvar Ġis 2 4 Hour : Boolean = false ĊĠĠĠ Ġprivate Ġvar Ġis Am : Boolean = false ĊĠĠĠ Ġprivate Ġvar Ġhour : Int =- 1 ĊĠĠĠ Ġprivate Ġvar Ġminute : Int =- 1 ĊĠĠĠ Ġprivate Ġvar Ġsecond : Int =- 1 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( Intent ( context , ĠDetails Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ details ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Variables ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listeners ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . btn Time Picker . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTime Picker Activity . start ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn DatePicker . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Activity . start ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Link age Picker . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLink age Picker Activity . start ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn DatePicker Df . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Dialog Fragment . newInstance ( current Year , current Month , current Day ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show ( support FragmentManager ," DatePicker ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Link age Picker Df . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLink age Picker Dialog Fragment . newInstance ( p , Ġc , Ġa ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show ( support FragmentManager ," Link age Picker ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Time Picker Df . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTime Picker Dialog Fragment . newInstance ( hour , Ġminute , Ġsecond , is 2 4 Hour , is Am ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show ( support FragmentManager ," Time Picker ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Selected ( year : ĠInt , Ġmonth : ĠInt , Ġday : ĠInt , Ġdate : ĠDate ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Year = year ĊĠĠĠĠĠĠĠ Ġcurrent Month = month ĊĠĠĠĠĠĠĠ Ġcurrent Day = day ĊĠĠĠĠĠĠĠ Ġbinding . btn DatePicker Df . text Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ", Locale . getDefault ()). format ( date ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Time Selected ( is 2 4 Hour : ĠBoolean , Ġhour : ĠInt , Ġminute : ĠInt , Ġsecond : ĠInt , Ġis Am : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . is 2 4 Hour = is 2 4 Hour ĊĠĠĠĠĠĠĠ Ġthis . is Am = is Am ĊĠĠĠĠĠĠĠ Ġthis . hour = hour ĊĠĠĠĠĠĠĠ Ġthis . minute = minute ĊĠĠĠĠĠĠĠ Ġthis . second = second ĊĠĠĠĠĠĠĠ Ġval Ġam Pm Ġ= Ġif Ġ(! is 2 4 Hour ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Am ) Ġ" ä¸Ĭ åįĪ " Ġelse Ġ" ä¸ĭ åįĪ " ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtime = String . format ( if Ġ( is 2 4 Hour ) Ġ"% 0 2 d :% 0 2 d :% 0 2 d " Ġelse Ġ"% d :% 0 2 d :% 0 2 d ", hour , minute , second ) ĊĠĠĠĠĠĠĠ Ġbinding . btn Time Picker Df . text ="$ am Pm Ġ$ time " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Link age Selected ( first Wv : ĠW heel View , Ġsecond Wv : ĠW heel View ?, Ġthird Wv : ĠW heel View ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġp = first Wv . getSelected Item < City >() ?. name ?: "" ĊĠĠĠĠĠĠĠ Ġc = second Wv ?. getSelected Item < City >() ?. name ?: "" ĊĠĠĠĠĠĠĠ Ġa = third Wv ?. getSelected Item < City >() ?. name ?: "" ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Link age Picker Df . text ="$ p ,$ c ,$ a " ĊĠĠĠ Ġ} Ċ } Ċ