package Ġcom . pol idea . cock pit . param sed ition . view holder Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . pol idea . cock pit . R Ċ import Ġcom . pol idea . cock pit . core . C ock pit Param Ċ import Ġcom . pol idea . cock pit . core . type . C ock pit Color Ċ import Ġcom . pol idea . cock pit . param sed ition . view . Color Preview View Ċ import Ġcom . pol idea . cock pit . utils . Text Watcher Adapter Ċ import Ġjava . lang . RuntimeException Ċ Ċ internal Ġclass ĠColor Param ViewHolder ( view : ĠView ) Ġ: ĠParam Base Value With Restore ViewHolder < C ock pit Color >( view ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġvalue : ĠTextView Ġ= Ġview . findViewById ( R . id . cock pit _ color _ param _ value ) ĊĊĠĠĠ Ġprivate Ġval Ġcolor Preview : ĠColor Preview View Ġ= Ġview . findViewById ( R . id . cock pit _ color _ preview _ view ) ĊĊĠĠĠ Ġvar Ġon Color Edition RequestListener : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue . add TextChanged Listener ( object Ġ: ĠText Watcher Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Value Ġ= Ġs ?. toString () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠColor . parse Color ( color Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ChangeListener ?. invoke ( C ock pit Color ( color Value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Preview . show Color ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠRuntimeException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Preview . show Placeholder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay Param ( param : ĠC ock pit Param < C ock pit Color >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . display Param ( param ) ĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ Ġon Color Edition RequestListener ?. invoke () Ġ} ĊĠĠĠĠĠĠĠ Ġvalue . text Ġ= Ġparam . value . value ĊĠĠĠ Ġ} Ċ }