package Ġdev . k drag 0 n . android 1 2 ext . ui . settings . appearance Ċ Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . View Ċ import Ġde . Max r 1 9 9 8 . modern preferences . Preference Ċ import Ġde . Max r 1 9 9 8 . modern preferences . Preference Screen Ċ import Ġde . Max r 1 9 9 8 . modern preferences . Preferences Adapter Ċ import Ġdev . k drag 0 n . android 1 2 ext . R Ċ Ċ class ĠColor Sw atch Preference ( key : ĠString ) Ġ: ĠPreference ( key ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Widget Layout Resource () Ġ= ĠR . layout . color _ sample ĊĊĠĠĠ Ġoverride Ġfun Ġbind Views ( holder : ĠPreferences Adapter . ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . bind Views ( holder ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= Ġget Int ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . widget !!. background Tint List Ġ= ĠColor State List . valueOf ( color ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . widget !!. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun ĠPreference Screen . Append able . color Pref ( key : ĠString , Ġblock : ĠColor Sw atch Preference . () Ġ-> ĠUnit ): ĠColor Sw atch Preference Ġ{ ĊĠĠĠ Ġreturn ĠColor Sw atch Preference ( key ). apply ( block ). also (:: add Preference Item ) Ċ } Ċ