package Ġcom . int elli viz . qu ak ere port . ui Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Dialog Fragment Ċ Ċ class ĠDate Picker Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġvar Ġm Id : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġlistener : ĠOn Date Selected Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġinterface ĠOn Date Selected Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Date Selected ( day : ĠString , Ġmonth : ĠString , Ġyear : ĠString , Ġid : ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ YEAR Ġ= Ġ" year " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ MONTH Ġ= Ġ" month " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ DAY Ġ= Ġ" day " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ ID Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ ID Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ DATE Ġ= Ġ" date " ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( id : ĠInt , Ġdate : ĠString ): ĠDate Picker Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs : ĠBundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Int ( ARG _ ID , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . putString ( ARG _ DATE , Ġdate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠDate Picker Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdate Set Listener Ġ= ĠDate Picker Dialog . On Date Set Listener Ġ{ Ġview , Ġyear , Ġmonth , Ġday Ġ-> ĊĠĠĠĠĠĠĠ Ġif ( activity Ġis ĠOn Date Selected Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Ġ= Ġactivity Ġas ĠOn Date Selected Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Date Selected ("" Ġ+ Ġview . day OfMonth , Ġ"" Ġ+ Ġ( view . month Ġ+ Ġ 1 ), Ġ"" Ġ+ Ġview . year , Ġm Id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( target Fragment Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ ID , Ġm Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ YEAR , Ġ"" Ġ+ Ġview . year ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ MONTH , Ġ"" Ġ+ Ġ( view . month Ġ+ Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( EXTRA _ DAY , Ġ"" Ġ+ Ġview . day OfMonth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Fragment !!. on Activity Result ( target Request Code , ĠActivity . RESULT _ OK , Ġintent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġm Id Ġ= Ġarguments !!. getInt ( ARG _ ID ) ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġarguments !!. getString ( ARG _ DATE ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDate Picker Dialog ( activity !! , Ġdate Set Listener , Ġget Year ( date ), Ġget Month ( date ), Ġget Day ( date )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Day ( date : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtokens : ĠList < String > Ġ= Ġdate . split ("- ") ĊĠĠĠĠĠĠĠ Ġreturn Ġtokens [ 2 ]. toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Month ( date : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtokens : ĠList < String > Ġ= Ġdate . split ("- ") ĊĠĠĠĠĠĠĠ Ġreturn Ġtokens [ 1 ]. toInt () Ġ- Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Year ( date : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtokens : ĠList < String > Ġ= Ġdate . split ("- ") ĊĠĠĠĠĠĠĠ Ġreturn Ġtokens [ 0 ]. toInt () ĊĠĠĠ Ġ} Ċ } Ċ