package Ġcom . eto logic . point sc orer . screens Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġcom . eto logic . point sc orer . R . color Ċ import Ġcom . eto logic . point sc orer . R . layout Ċ import Ġcom . eto logic . point sc orer . utils . StringUtils Ċ import Ġcom . sky do ves . color picker view . listeners . Color Listener Ċ import Ġkotlinx . android . synt hetic . main ._ dialog _ name _ and _ color .* Ċ Ċ class ĠPlayer Dialog Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĠĠĠĠĊĠĠĠ Ġinterface ĠPlayer Dialog Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Color Changed ( color : ĠInt ) ĊĠĠĠĠĠĠĠ Ġfun Ġon Name Changed ( name : ĠString ?) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġvar Ġinitial Color : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdefault TextColor : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdefault Name : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġplayer Dialog Listener : ĠPlayer Dialog Listener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġinitial Name : ĠString ? Ġ= Ġnull ĊĠĠĠĠĊĠĠĠ Ġinternal Ġfun Ġset Player Dialog Listener ( player Dialog Listener : ĠPlayer Dialog Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . player Dialog Listener Ġ= Ġplayer Dialog Listener ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( layout ._ dialog _ name _ and _ color , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġdefault TextColor Ġ= ĠContext Compat . getColor ( view . context , Ġcolor . gray _ text ) ĊĠĠĠĠĠĠĠ Ġinit Values () ĊĠĠĠĠĠĠĠ Ġinit Color Picker () ĊĠĠĠĠĠĠĠ Ġinit Name () ĊĠĠĠĠĠĠĠ Ġinit Listeners () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġfun Ġinit Values () Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ Ġarguments Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault TextColor Ġ= Ġactivity ?. let Ġ{ ĠContext Compat . getColor ( it , Ġcolor . gray _ text ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Color Ġ= Ġdefault TextColor ?. let Ġ{ Ġarguments . getInt ( KEY _ INITIAL _ COLOR , Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarg Name Ġ= Ġarguments . getString ( KEY _ INITIAL _ NAME , Ġdefault Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Name Ġ= Ġif Ġ( StringUtils . isEmpty ( arg Name )) Ġdefault Name Ġelse Ġarg Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġfun Ġinit Color Picker () Ġ{ ĊĠĠĠĠĠĠĠ Ġcolor Picker View ?. attach Brightness Slider ( brightness Slide Bar ) ĊĠĠĠĠĠĠĠ Ġcolor Picker View ?. setColor Listener ( Color Listener Ġ{ Ġcolor : ĠInt , Ġfrom User : ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( from User ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt iet Name ?. setTextColor ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( player Dialog Listener Ġ!= Ġnull ) Ġplayer Dialog Listener !!. on Color Changed ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġfun Ġinit Name () Ġ{ ĊĠĠĠĠĠĠĠ Ġt iet Name ?. setText ( initial Name ) ĊĠĠĠĠĠĠĠ Ġinitial Color ?. let Ġ{ Ġt iet Name ?. setTextColor ( it ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġfun Ġinit Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġbt Ok ?. setOnClickListener Ġ{ Ġdismiss () Ġ} ĊĠĠĠĠĠĠĠ Ġbt Cancel ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Color ?. let Ġ{ Ġit 1 Ġ-> Ġplayer Dialog Listener ?. on Color Changed ( it 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Dialog Listener ?. on Name Changed ( initial Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ!= Ġnull Ġ&& Ġdialog !!. window Ġ!= Ġnull ) Ġdialog !!. window !!. setBackground Drawable Resource ( color . color Primary Dark ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Added ) Ġdismiss () ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( player Dialog Listener Ġ!= Ġnull ) Ġplayer Dialog Listener !!. on Name Changed ( if Ġ( ti et Name ?. text Ġ!= Ġnull ) Ġt iet Name ?. text . toString () Ġelse Ġ"") ĊĠĠĠĠĠĠĠ Ġsuper . on Dismiss ( dialog ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" Player Dialog Fragment " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ INITIAL _ COLOR Ġ= Ġ" key _ initial _ color " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ INITIAL _ NAME Ġ= Ġ" key _ initial _ name " ĊĠĠĠ Ġ} Ċ }