package Ġcom . example . goal app Ċ Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . DatePicker Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . fragment . app . set Fragment Result Ċ import Ġjava . time . LocalDate Ċ Ċ private Ġconst Ġval ĠARG _ PARAM 1 Ġ= Ġ" year " Ċ private Ġconst Ġval ĠARG _ PARAM 2 Ġ= Ġ" month " Ċ private Ġconst Ġval ĠARG _ PARAM 3 Ġ= Ġ" day " Ċ private Ġconst Ġval ĠARG _ PARAM 4 Ġ= Ġ" request Key " Ċ Ċ class ĠDate Picker Fragment Ġ: ĠDialog Fragment (), ĠDate Picker Dialog . On Date Set Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdate : ĠLocalDate ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġrequest Key : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= ĠLocalDate . of ( it . getInt ( ARG _ PARAM 1 ), Ġit . getInt ( ARG _ PARAM 2 ), Ġit . getInt ( ARG _ PARAM 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Key Ġ= Ġit . getString ( ARG _ PARAM 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDate Picker Dialog ( require Context (), Ġthis , Ġdate !!. year , Ġdate !!. month Value Ġ- Ġ 1 , Ġdate !!. day OfMonth ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Set ( view : ĠDate Picker ?, Ġyear : ĠInt , Ġmonth : ĠInt , Ġday OfMonth : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Fragment Result ( request Key !! , ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 1 , Ġyear ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 2 , Ġmonth Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 3 , Ġday OfMonth ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( year : ĠInt , Ġmonth : ĠInt , Ġday : ĠInt , Ġrequest Key : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Picker Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 1 , Ġyear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 2 , Ġmonth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ PARAM 3 , Ġday ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( ARG _ PARAM 4 , Ġrequest Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }