package Ġcom . m ichael fl is ar . material preferences . preferences creen . choice Ċ Ċ import Ġcom . m ichael fl is ar . material preferences . core . interfaces . Storage Setting Ċ import Ġcom . m ichael fl is ar . material preferences . preferences creen . Screen Ċ import Ġcom . m ichael fl is ar . material preferences . preferences creen . choice . multi . Multi Choice Preference Ċ import Ġcom . m ichael fl is ar . material preferences . preferences creen . choice . single . Single Choice Preference Enum Ċ import Ġcom . m ichael fl is ar . material preferences . preferences creen . choice . single . Single Choice Preference Int Ċ Ċ // Ġ------------- Ċ // ĠDSL Ċ // Ġ------------- Ċ Ċ inline Ġfun ĠScreen . Append able . single Choice ( setting : ĠStorage Setting < Int >, Ġchoices : ĠList < Choice Item >, Ġblock : ĠSingle Choice Preference Int . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ ĠSingle Choice Preference Int ( setting , Ġchoices ). apply ( block ). also (:: add Preference Item ) Ċ Ċ inline Ġfun Ġ< E Ġ: ĠEnum <* >> ĠScreen . Append able . single Choice ( setting : ĠStorage Setting < E >, Ġvalues : ĠArray < E >, Ġno inline Ġlabel Provider : Ġ(( E ) Ġ-> ĠString ) Ġ= Ġ{ Ġit . name Ġ}, Ġblock : ĠSingle Choice Preference Enum < E >. () Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ ĠSingle Choice Preference Enum ( setting , Ġvalues , Ġlabel Provider ). apply ( block ). also (:: add Preference Item ) Ċ Ċ inline Ġfun ĠScreen . Append able . multi Choice ( setting : ĠStorage Setting < Set < Int >>, Ġchoices : ĠList < Choice Item >, Ġblock : ĠMulti Choice Preference . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ ĠMulti Choice Preference ( setting , Ġchoices ). apply ( block ). also (:: add Preference Item ) Ċ