package Ġblue . a ode v . anime ult ime tv . presentation . common Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 1 7 . lean back . widget . Image Card View Ċ import Ġandroid . support . v 1 7 . lean back . widget . Presenter Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġblue . a ode v . anime ult ime tv . R Ċ Ċ abstract Ġclass ĠBase Card Presenter ( ĊĠĠĠĠĠĠĠ Ġval Ġcard Image Width : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġcard Image Height : ĠInt Ċ ) Ġ: ĠPres enter () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġhas Resources Ġ= Ġfalse ĊĠĠĠ Ġprotected Ġvar Ġselected BackgroundColor Ġ= Ġ- 1 ĊĠĠĠ Ġprotected Ġvar Ġdefault BackgroundColor Ġ= Ġ- 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! has Resources ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Resources ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Resources Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcard View Ġ= Ġobject Ġ: ĠImage Card View ( parent . context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetSelected ( selected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Card BackgroundColor ( this , Ġselected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . setSelected ( selected ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcard View . is Focus able Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcard View . is Focus able In Touch Mode Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġimage ĊĠĠĠĠĠĠĠ Ġcard View . set Main Image Dimensions ( card Image Width , Ġcard Image Height ) ĊĠĠĠĠĠĠĠ Ġcard View . set Main Image Scale Type ( ImageView . Scale Type . FIT _ XY ) ĊĊĠĠĠĠĠĠĠ Ġupdate Card BackgroundColor ( card View , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( card View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Resources ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdefault BackgroundColor Ġ= ĠContext Compat . getColor ( context , ĠR . color . card _ background _ default ) ĊĠĠĠĠĠĠĠ Ġselected BackgroundColor Ġ= ĠContext Compat . getColor ( context , ĠR . color . card _ background _ selected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Card BackgroundColor ( view : ĠImage Card View , Ġselected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= Ġif Ġ( selected ) Ġselected BackgroundColor Ġelse Ġdefault BackgroundColor ĊĊĠĠĠĠĠĠĠ Ġ// ĠBoth Ġbackground Ġcolors Ġshould Ġbe Ġset Ġbecause Ġthe Ġview 's ĊĠĠĠĠĠĠĠ Ġ// Ġbackground Ġis Ġtemporarily Ġvisible Ġduring Ġanimations . ĊĠĠĠĠĠĠĠ Ġview . set BackgroundColor ( color ) ĊĠĠĠĠĠĠĠ Ġview . findViewById < View >( R . id . info _ field ). set BackgroundColor ( color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Un bind ViewHolder ( view Holder : ĠViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard View Ġ= ĠviewHolder . view Ġas ĠImage Card View ĊĊĠĠĠĠĠĠĠ Ġ// ĠRemove Ġreferences Ġto Ġimages Ġso Ġthat Ġthe Ġgarbage Ġcollector Ġcan Ġfree Ġup Ġmemory . ĊĠĠĠĠĠĠĠ Ġcard View . badge Image Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġcard View . main Image Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }