package Ġcom . av ito . android . test . matcher Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . support . annotation . Color Int Ċ import Ġandroid . support . annotation . Drawable Res Ċ import Ġandroid . support . test . espress o . matcher . Bounded Matcher Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . av ito . android . test . util . getResource Name Ċ import Ġcom . av ito . android . test . util . match Drawable Ċ import Ġorg . hamcrest . Description Ċ Ċ class ĠCompound Drawable Matcher ( ĊĠĠĠ Ġ@ Drawable Res Ġprivate Ġval Ġleft : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Drawable Res Ġprivate Ġval Ġtop : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Drawable Res Ġprivate Ġval Ġright : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Drawable Res Ġprivate Ġval Ġbottom : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġ@ Color Int Ġprivate Ġval Ġt int : ĠInt ? Ġ= Ġnull Ċ ) Ġ: ĠBo unded Matcher < View , ĠTextView >( TextView :: class . java ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdescription : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdescription . append Text (" has Ġcompound Ġdraw ables : Ġ${ this . description }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( item : ĠTextView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġitem . context ĊĠĠĠĠĠĠĠ Ġval Ġcompound Draw ables Ġ= Ġitem . compound Draw ables ĊĠĠĠĠĠĠĠ Ġthis . description Ġ= ĠgetDescription ( context . resources ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġleft . match Drawable ( context , Ġcompound Draw ables [ LEFT ], Ġt int ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright . match Drawable ( context , Ġcompound Draw ables [ RIGHT ], Ġt int ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop . match Drawable ( context , Ġcompound Draw ables [ TOP ], Ġt int ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom . match Drawable ( context , Ġcompound Draw ables [ BOTTOM ], Ġt int ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetDescription ( resources : ĠResources ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" left =${ left . getResource Name ( resources )}, Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" top =${ top . getResource Name ( resources )}, Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" right =${ right . getResource Name ( resources )}, Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" bottom =${ bottom . getResource Name ( resources )}, " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" with Ġt int =${ tint ?. toString ( 1 6 ) Ġ?: Ġ" not Ġapplied "} " ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġconst Ġval ĠLEFT Ġ= Ġ 0 Ċ private Ġconst Ġval ĠTOP Ġ= Ġ 1 Ċ private Ġconst Ġval ĠRIGHT Ġ= Ġ 2 Ċ private Ġconst Ġval ĠBOTTOM Ġ= Ġ 3 Ċ