package Ġcom . hol lab rowser . me force . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . graphics . drawable . Transition Drawable Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġcom . hol lab rowser . me force . R Ċ import Ġcom . hol lab rowser . me force . utils . Theme Utils Ċ Ċ /** Ċ Ġ* ĠCreate Ġa Ġnew Ġtransition Ġdrawable Ġwith Ġthe Ġspecified Ġlist Ġof Ġlayers . ĠAt Ġleast Ċ Ġ* Ġ 2 Ġlayers Ġare Ġrequired Ġfor Ġthis Ġdrawable Ġto Ġwork Ġproperly . Ċ Ġ*/ Ċ class ĠBackground Drawable ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġ@ Attr Res Ġfirst : ĠInt Ġ= ĠR . attr . h alo Color , ĊĠĠĠ Ġ@ Attr Res Ġsecond : ĠInt Ġ= ĠR . attr . color Surface Ċ ) Ġ: ĠTransition Drawable ( ĊĠĠĠ ĠarrayOf < Drawable >( ĊĠĠĠĠĠĠĠ ĠColor Drawable ( Theme Utils . getColor ( context , Ġfirst )), ĊĠĠĠĠĠĠĠ ĠColor Drawable ( Theme Utils . getColor ( context , Ġsecond )) ĊĠĠĠ Ġ) Ċ ) Ċ { ĊĊĠĠĠ Ġvar Ġis Selected : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġstart Transition ( duration Millis : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . start Transition ( duration Millis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis Selected Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreverse Transition ( duration : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . reverse Transition ( duration ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis Selected Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ Ċ } Ċ