package Ġeu . kan ade . t ach iy omi . ui . manga . track Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġcom . blue lin el abs . cond uctor . Controller Ċ import Ġcom . google . android . material . dialog . Material AlertDialog Builder Ċ import Ġeu . kan ade . t ach iy omi . R Ċ import Ġeu . kan ade . t ach iy omi . data . database . models . Track Ċ import Ġeu . kan ade . t ach iy omi . data . track . Track Manager Ċ import Ġeu . kan ade . t ach iy omi . databinding . Track Score Dialog Binding Ċ import Ġeu . kan ade . t ach iy omi . ui . base . controller . Dialog Controller Ċ import Ġu y . ko hes ive . in jekt . In jekt Ċ import Ġu y . ko hes ive . in jekt . api . get Ċ Ċ class ĠSet Track Score Dialog < T > Ġ: ĠDialog Controller ĊĠĠĠĠĠĠĠ Ġwhere ĠT Ġ: ĠController Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġitem : ĠTrack Item ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlistener : ĠListener ĊĊĠĠĠ Ġconstructor ( target : ĠT , Ġlistener : ĠListener , Ġitem : ĠTrack Item ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġbundle Of ( KEY _ ITEM _ TRACK Ġto Ġitem . track ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget Controller Ġ= Ġtarget ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠ Ġthis . item Ġ= Ġitem ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġconstructor ( bundle : ĠBundle ) Ġ: Ġsuper ( bundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtrack Ġ= Ġbundle . get Serializable ( KEY _ ITEM _ TRACK ) Ġas ĠTrack ĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠIn jekt . get < Track Manager >(). getService ( track . sync _ id ) !! ĊĠĠĠĠĠĠĠ Ġitem Ġ= ĠTrack Item ( track , Ġservice ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( saved ViewState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicker View Ġ= ĠTrack Score Dialog Binding . inflate ( LayoutInflater . from ( activity !! )) ĊĠĠĠĠĠĠĠ Ġval Ġnp Ġ= Ġpicker View . score Picker ĊĊĠĠĠĠĠĠĠ Ġval Ġscores Ġ= Ġitem . service . get Score List (). to Typed Array () ĊĠĠĠĠĠĠĠ Ġnp . max Value Ġ= Ġscores . size Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġnp . display ed Values Ġ= Ġscores ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġinitial Ġvalue ĊĠĠĠĠĠĠĠ Ġval Ġdisplayed Score Ġ= Ġitem . service . display Score ( item . track !! ) ĊĠĠĠĠĠĠĠ Ġif Ġ( display ed Score Ġ!= Ġ"- ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġscores . indexOf ( display ed Score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnp . value Ġ= Ġif Ġ( index Ġ!= Ġ- 1 ) Ġindex Ġelse Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠMaterial AlertDialog Builder ( activity !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( R . string . score ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( picker View . root ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( android . R . string . ok ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnp . clear Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . set Score ( item , Ġnp . value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( android . R . string . cancel , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġset Score ( item : ĠTrack Item , Ġscore : ĠInt ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġconst Ġval ĠKEY _ ITEM _ TRACK Ġ= Ġ" Set Track Score Dialog . item . track " Ċ