package Ġcom . ct d . cy manage . widget Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . DatePicker Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ct d . cy manage . R Ċ import Ġjava . util .* ĊĊĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAdministrator Ġon Ġ 2 0 1 8 \ 1 \ 1 9 Ġ 0 0 1 9 . Ċ Ġ*/ Ċ class ĠPick Date Dialog : ĠDialog Ġ{ ĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġtheme Res Id : ĠInt ) Ġ: Ġsuper ( context , Ġtheme Res Id ) Ġ{} ĊĊĠĠĠ Ġprotected Ġconstructor ( context : ĠContext , Ġcancel able : ĠBoolean , Ġcancel Listener : ĠDialog Interface . On Cancel Listener ?) Ġ: Ġsuper ( context , Ġcancel able , Ġcancel Listener ) Ġ{} ĊĊĊĠĠĠ Ġinterface ĠPick Date Dialog Listen Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġdata Check ( pick Date Dialog : Pick Date Dialog ?, content : String ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġclass ĠBuilder ( private Ġval ĠmContext : ĠContext , listener : ĠPick Date Dialog Listen ? ){ ĊĊĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġm Pick Date Dialog Listen : ĠPick Date Dialog Listen ? Ġ Ġ= Ġ Ġlistener ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġ Ġcreate ( Ġyear : Int , Ġmonth : Int , Ġday OfMonth : Int ) Ġ: Pick Date Dialog Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠmContext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinstantiate Ġthe Ġdialog Ġwith Ġthe Ġcustom ĠTheme ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdialog Ġ= Ġ ĠPick Date Dialog ( mContext , ĠR . style . My Dialog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . set Canceled On Touch Outside ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlayout Ġ= Ġinflater . inflate ( R . layout . dialog _ pick data , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdate Picker Ġ= Ġ Ġlayout !!. findViewById ( R . id . date _ picker ) Ġas ĠDate Picker ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . max Date Ġ= ĠDate (). time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . min Date Ġ= Ġmin Data () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( year Ġ!= Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġmonth Ġ!= Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġday OfMonth Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . update Date ( year , Ġmonth Ġ- Ġ 1 , Ġday OfMonth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . add ContentView ( layout , ĠViewGroup . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT )) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Pick Date Dialog Listen Ġ!= Ġnull ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( layout !!. findViewById ( R . id . positive Button ) Ġas ĠTextView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Pick Date Dialog Listen !!. data Check ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString . format ( Locale . US , Ġ"% 0 2 d /% 0 2 d /% 0 2 d ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . year , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . month Ġ+ Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Picker . day OfMonth ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( layout !!. findViewById ( R . id . negative Button ) Ġas ĠTextView ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . set ContentView ( layout ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdialog ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġfun Ġmin Data (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . set ( 2 0 0 8 , Ġ 0 , Ġ 1 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc . set ( Calendar . MILLI SECOND , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġc . time . time ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ }