package Ġcom . simple mobile tools . calendar . pro . dialogs Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Radio Group Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġcom . simple mobile tools . calendar . pro . R Ċ import Ġcom . simple mobile tools . calendar . pro . extensions . config Ċ import Ġcom . simple mobile tools . calendar . pro . extensions . events Helper Ċ import Ġcom . simple mobile tools . calendar . pro . models . EventType Ċ import Ġcom . simple mobile tools . commons . extensions . hide Keyboard Ċ import Ġcom . simple mobile tools . commons . extensions . setFill With Stroke Ċ import Ġcom . simple mobile tools . commons . extensions . setup Dialog Stuff Ċ import Ġcom . simple mobile tools . commons . extensions . update Text Colors Ċ import Ġcom . simple mobile tools . commons . views . My Compat RadioButton Ċ import Ġkotlinx . android . synt hetic . main . dialog _ select _ radio _ group . view .* Ċ import Ġkotlinx . android . synt hetic . main . radio _ button _ with _ color . view .* Ċ import Ġjava . util .* Ċ Ċ class ĠSelect EventType Dialog ( val Ġactivity : ĠActivity , Ġval Ġcurr EventType : ĠLong , Ġval Ġshow Cal D AV Cal endars : ĠBoolean , Ġval Ġshow New EventType Option : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadd Last Used One As First Option : ĠBoolean , Ġval Ġshow Only Writable : ĠBoolean , Ġval Ġcallback : Ġ( eventType : ĠEventType ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġprivate Ġval ĠNEW _ EVENT _ TYPE _ ID Ġ= Ġ- 2 L ĊĠĠĠ Ġprivate Ġval ĠLAST _ USED _ EVENT _ TYPE _ ID Ġ= Ġ- 1 L ĊĊĠĠĠ Ġprivate Ġval Ġdialog : ĠAlertDialog ? ĊĠĠĠ Ġprivate Ġval Ġradio Group : ĠRadio Group ĊĠĠĠ Ġprivate Ġvar Ġwas Init Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġevent Types Ġ= ĠArrayList < EventType >() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġactivity . layout Inflater . inflate ( R . layout . dialog _ select _ radio _ group , Ġnull ) Ġas ĠViewGroup ĊĠĠĠĠĠĠĠ Ġradio Group Ġ= Ġview . dialog _ radio _ group ĊĊĠĠĠĠĠĠĠ Ġactivity . events Helper . getEvent Types ( activity , Ġshow Only Writable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Types Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Last Used One As First Option ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Used EventType Ġ= ĠEventType ( LAST _ USED _ EVENT _ TYPE _ ID , Ġactivity . getString ( R . string . last _ used _ one ), ĠColor . TRANSP ARENT , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd RadioButton ( last Used EventType ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Types . filter Ġ{ Ġshow Cal D AV Cal endars Ġ|| Ġit . cal dav Calendar Id Ġ== Ġ 0 Ġ}. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd RadioButton ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show New EventType Option ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew EventType Ġ= ĠEventType ( NEW _ EVENT _ TYPE _ ID , Ġactivity . getString ( R . string . add _ new _ type ), ĠColor . TRANSP ARENT , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd RadioButton ( new EventType ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwas Init Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . update Text Colors ( view . dialog _ radio _ holder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠAlertDialog . Builder ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . setup Dialog Stuff ( view , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd RadioButton ( eventType : ĠEventType ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġactivity . layout Inflater . inflate ( R . layout . radio _ button _ with _ color , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ( view . dialog _ radio _ button Ġas ĠMy Compat RadioButton ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠeventType . getDisplay Title () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= ĠeventType . id Ġ== Ġcurr EventType ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= ĠeventType . id !!. toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( eventType . color Ġ!= ĠColor . TRANSP ARENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . dialog _ radio _ color . setFill With Stroke ( eventType . color , Ġactivity . config . backgroundColor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ Ġview Clicked ( eventType ) Ġ} ĊĠĠĠĠĠĠĠ Ġradio Group . addView ( view , ĠRadio Group . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġview Clicked ( eventType : ĠEventType ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! was Init ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( eventType . id Ġ== ĠNEW _ EVENT _ TYPE _ ID ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEdit EventType Dialog ( activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . hide Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( eventType ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ