/** Ċ Ġ* ĠCreated Ġby ĠY u G ang ĠYang Ġon ĠApril Ġ 0 8 , Ġ 2 0 1 5 . Ċ Ġ* ĠCopyright Ġ 2 0 0 7 - 2 0 1 5 ĠLap ut app . com . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . lo o peer . coder e ader kt . ui . view Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ Ċ import Ġcom . lo o peer . coder e ader kt . R Ċ Ċ class ĠFore ground TextView Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull ) Ġ: Ġandroid . support . v 7 . widget . AppCompat TextView ( context , Ġattrs ) Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġm foreground : ĠDrawable ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Foreground TextView ) ĊĠĠĠĠĠĠĠ Ġval Ġforeground Ġ= Ġa . get Drawable ( R . style able . Foreground TextView _ android _ foreground ) ĊĠĠĠĠĠĠĠ Ġif Ġ( foreground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Foreground ( foreground ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġa . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSup ply Ġa Ġdrawable Ġresource Ġthat Ġis Ġto Ġbe Ġrendered Ġon Ġtop Ġof Ġall Ġof Ġthe Ġchild ĊĠĠĠĠ Ġ* Ġviews Ġin Ġthe Ġframe Ġlayout . ĊĊĠĠĠĠ Ġ* Ġ@ param Ġdrawable Res Id ĠThe Ġdrawable Ġresource Ġto Ġbe Ġdrawn Ġon Ġtop Ġof Ġthe Ġchildren . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Foreground Resource ( drawable Res Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Foreground ( context . resources . get Drawable ( drawable Res Id )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSup ply Ġa ĠDrawable Ġthat Ġis Ġto Ġbe Ġrendered Ġon Ġtop Ġof Ġall Ġof Ġthe Ġchild ĊĠĠĠĠ Ġ* Ġviews Ġin Ġthe Ġframe Ġlayout . ĊĊĠĠĠĠ Ġ* Ġ@ param Ġdrawable ĠThe ĠDrawable Ġto Ġbe Ġdrawn Ġon Ġtop Ġof Ġthe Ġchildren . ĊĠĠĠĠ Ġ*/ ĊĊĊĠĠĠ Ġoverride Ġfun Ġset Foreground ( drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ=== Ġdrawable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm foreground !!. callback Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun schedule Drawable ( m foreground ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm foreground Ġ= Ġdrawable ĊĊĠĠĠĠĠĠĠ Ġif Ġ( drawable Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . callback Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( drawable . is State ful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . state Ġ= Ġdrawable State ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest Layout () ĊĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Super Call ") ĊĠĠĠ Ġoverride Ġfun Ġverify Drawable ( who : ĠDrawable ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . verify Drawable ( who ) Ġ|| Ġwho Ġ=== Ġm foreground ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Super Call ") ĊĠĠĠ Ġoverride Ġfun Ġjump Draw ables To Current State () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . jump Draw ables To Current State () ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull ) Ġm foreground !!. jump To Current State () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdrawable StateChanged () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . drawable StateChanged () ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull Ġ&& Ġm foreground !!. is State ful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm foreground !!. state Ġ= Ġdrawable State ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm foreground !!. setBounds ( 0 , Ġ 0 , Ġmeasured Width , Ġmeasured Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Size Changed ( w : ĠInt , Ġh : ĠInt , Ġold w : ĠInt , Ġold h : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Size Changed ( w , Ġh , Ġold w , Ġold h ) ĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm foreground !!. setBounds ( 0 , Ġ 0 , Ġw , Ġh ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Super Call ") ĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m foreground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm foreground !!. draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ