package Ġio . github . z wi eb ack . family finance . dialog Ċ Ċ import Ġandroid . app . DatePicker Dialog Ċ import Ġandroid . app . DatePicker Dialog . On Date Set Listener Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . DatePicker Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġio . github . z wi eb ack . family finance . extension . to Calendar Date With Month Fix Ċ import Ġorg . th reet en . bp . LocalDate Ċ Ċ class ĠDate Picker Fragment Dialog Ġ: ĠDialog Fragment (), ĠOn Date Set Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdate Set Listener : ĠOn Date Set Listener ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠOn Date Set Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . date Set Listener Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠClass CastException ("$ context Ġmust Ġimplement ĠOn Date Set Listener ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġrequire Arguments (). get Serializable ( DATE _ KEY ) Ġas ĠLocalDate ĊĠĠĠĠĠĠĠ Ġval Ġ( year , Ġmonth , Ġday ) Ġ= Ġdate . to Calendar Date With Month Fix () ĊĠĠĠĠĠĠĠ Ġreturn ĠDate Picker Dialog ( require Context (), Ġthis , Ġyear , Ġmonth , Ġday ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Date Set ( view : ĠDate Picker , Ġyear : ĠInt , Ġmonth : ĠInt , Ġday : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdate Set Listener . on Date Set ( view , Ġyear , Ġmonth , Ġday ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDATE _ KEY Ġ= Ġ" date " ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( date : ĠLocalDate ): ĠDate Picker Fragment Dialog Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠDate Picker Fragment Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable ( DATE _ KEY , Ġdate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ