package Ġeu . kan ade . t ach iy omi . widget . preference Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . af ol le st ad . material dialogs . list . list Items Single Choice Ċ import Ġeu . kan ade . t ach iy omi . data . preference . get OrDefault Ċ Ċ class ĠInt List Mat Preference Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġactivity : ĠActivity ?, ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĊĠĠĠĠĠĠĠ ĠAttributeSet ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ċ ) Ġ: ĊĠĠĠ ĠMat Preference ( activity , Ġcontext , Ġattrs ) Ġ{ ĊĠĠĠ Ġvar Ġentry Values : ĠList < Int > Ġ= Ġempty List () ĊĠĠĠ Ġvar Ġentry Range : ĠInt Range ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ 0 .. 0 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ Ġentry Values Ġ= Ġvalue . toList () Ġ} ĊĠĠĠ Ġvar Ġentries Res : ĠArray < Int > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġempty Array () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ Ġentries Ġ= Ġvalue . map Ġ{ Ġcontext . getString ( it ) Ġ} Ġ} ĊĠĠĠ Ġprivate Ġvar Ġdef Value : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġentries : ĠList < String > Ġ= Ġempty List () ĊĠĠĠ Ġvar Ġcustom Selected Value : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġvar Ġcustom Summary Provider : ĠSummary Provider < Mat Preference >? Ġ= ĠSummary Provider < Mat Preference > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġentry Values . indexOf ( prefs . getInt ( key , Ġdef Value ). get OrDefault ()) ĊĠĠĠĠĠĠĠ Ġif Ġ( entries . isEmpty () Ġ|| Ġindex Ġ== Ġ- 1 ) Ġ"" ĊĠĠĠĠĠĠĠ Ġelse Ġentries [ index ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Set Initial Value ( defaultValue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Set Initial Value ( defaultValue ) ĊĠĠĠĠĠĠĠ Ġdef Value Ġ= ĠdefaultValue Ġas ? ĠInt Ġ?: Ġdef Value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdialog (): ĠMaterial Dialog Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dialog (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdefault Ġ= Ġentry Values . indexOf ( custom Selected Value Ġ?: Ġprefs . getInt ( key , Ġdef Value ). get OrDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Items Single Choice ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġentries , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwaitFor Positive Button Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Selection Ġ= Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_, Ġpos , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġentry Values [ pos ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( key Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . getInt ( key , Ġdef Value ). set ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall ChangeListener ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Int List Mat Preference . summary Ġ= Ġthis @ Int List Mat Preference . summary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ