/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 5 ĠSquare , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġleak can ary . internal Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġcom . squareup . leak can ary . core . R Ċ import Ġleak can ary . internal . More Details View . Details . CLOSED Ċ import Ġleak can ary . internal . More Details View . Details . OPEN ED Ċ Ċ internal Ġclass ĠMore Details View ( ĊĠ Ġcontext : ĠContext , ĊĠ Ġattrs : ĠAttributeSet Ċ ) Ġ: ĠView ( context , Ġattrs ) Ġ{ ĊĊĠ Ġenum Ġclass ĠDetails Ġ{ ĊĠĠĠ ĠOPEN ED , ĊĠĠĠ ĠCLO SED , ĊĠĠĠ ĠNONE ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġicon Paint : ĠPaint ĊĊĠ Ġprivate Ġvar Ġdetails Ġ= ĠDetails . NONE ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġval Ġresources Ġ= Ġresources ĊĠĠĠ Ġicon Paint Ġ= ĠPaint ( Paint . ANTI _ ALIAS _ FLAG ) ĊĠĠĠ Ġval Ġstroke Size Ġ= Ġresources . get Dimension Pixel Size ( R . dim en . leak _ can ary _ more _ stroke _ width ) ĊĠĠĠĠĠĠĠ Ġ. toFloat () ĊĠĠĠ Ġicon Paint . stroke Width Ġ= Ġstroke Size ĊĊĠĠĠ Ġ// ĠThis Ġlint Ġcheck Ġdoesn 't Ġwork Ġfor Ġlibraries Ġwhich Ġhave Ġa Ġcommon Ġprefix . ĊĠĠĠ Ġ@ Suppress Lint (" Custom View Style able ") Ġ// ĊĠĠĠ Ġval Ġa Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . leak _ can ary _ More Details View ) ĊĠĠĠ Ġval Ġplus Color Ġ= ĊĠĠĠĠĠ Ġa . getColor ( R . style able . leak _ can ary _ More Details View _ leak _ can ary _ plus _ color , ĠColor . BLACK ) ĊĠĠĠ Ġa . recycle () ĊĊĠĠĠ Ġicon Paint . color Ġ= Ġplus Color ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠ Ġval Ġwidth Ġ= Ġwidth ĊĠĠĠ Ġval Ġheight Ġ= Ġheight ĊĠĠĠ Ġval Ġhalf Height Ġ= Ġheight Ġ/ Ġ 2 ĊĠĠĠ Ġval Ġhalf Width Ġ= Ġwidth Ġ/ Ġ 2 ĊĊĠĠĠ Ġif Ġ( details Ġ== ĠOPEN ED ) Ġ{ ĊĠĠĠĠĠ Ġcanvas . draw Line ( 0 f , Ġhalf Height . toFloat (), Ġwidth . toFloat (), Ġhalf Height . toFloat (), Ġicon Paint ) ĊĠĠĠ Ġ} Ġelse Ġif Ġ( details Ġ== ĠCLO SED ) Ġ{ ĊĠĠĠĠĠ Ġcanvas . draw Line ( 0 f , Ġhalf Height . toFloat (), Ġwidth . toFloat (), Ġhalf Height . toFloat (), Ġicon Paint ) ĊĠĠĠĠĠ Ġcanvas . draw Line ( half Width . toFloat (), Ġ 0 f , Ġhalf Width . toFloat (), Ġheight . toFloat (), Ġicon Paint ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġset Details ( details : ĠDetails ) Ġ{ ĊĠĠĠ Ġif Ġ( details Ġ!= Ġthis . details ) Ġ{ ĊĠĠĠĠĠ Ġthis . details Ġ= Ġdetails ĊĠĠĠĠĠ Ġinvalidate () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ