package Ġcom . andro ide ss ence . lib Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . text . Layout Ċ import Ġandroid . text . Sp anned Ċ import Ġandroid . text . style . Leading Margin Span Ċ Ċ /* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 5 - 2 0 1 6 ĠE man uel ĠMo e ck lin Ċ Ġ* Ċ Ġ* Ġ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 . Ċ Ġ*/ ĊĊ Ċ /** Ċ Ġ* ĠParagraph Ġnumber ing . Ċ Ġ* Ċ Ġ* ĠAndroid Ġseems Ġto Ġadd Ġthe Ġleading Ġmargin Ġfor Ġan Ġempty Ġparagraph Ġto Ġthe Ġprevious Ġparagraph Ċ Ġ* Ġ( ] 0 , Ġ 4 ][ 4 , Ġ 4 ] Ġ--> Ġthe Ġleading Ġmargin Ġof Ġthe Ġsecond Ġspan Ġis Ġadded Ġto Ġthe Ġ] 0 , Ġ 4 ] Ġparagraph Ġregardless Ġof Ġthe ĠSp anned . flags ) Ċ Ġ* Ġ--> Ġtherefore Ġwe Ġignore Ġthe Ġleading Ġmargin Ġfor Ġthe Ġlast , Ġempty Ġparagraph Ġunless Ġit 's Ġthe Ġonly Ġone Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠR ag hun and an Ġon Ġ 3 0 - 0 7 - 2 0 1 6 . Ċ Ġ*/ Ċ @ Suppress Lint (" Parcel Creator ") Ċ class ĠNumber Span ( private Ġval Ġm Nr : ĠInt , Ġprivate Ġval Ġm Gap Width : ĠInt , Ġprivate Ġval Ġm Ignore Span : ĠBoolean , Ġtext Size : ĠFloat ) Ġ: ĠLead ing Margin Span Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Text Size Ġ= Ġ 2 0 f ĊĠĠĠ Ġprivate Ġvar Ġm Width : ĠFloat Ġ= Ġ 0 . toFloat () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Text Size Ġ= Ġtext Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Leading Margin ( first : ĠBoolean ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Gap Width // m Ignore Span Ġ? Ġ 0 Ġ: ĠMath . max ( Math . round ( m Width Ġ+ Ġ 2 ), Ġm Gap Width ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Leading Margin ( c : ĠCanvas , Ġp : ĠPaint , Ġx : ĠInt , Ġdir : ĠInt , Ġtop : ĠInt , Ġbaseline : ĠInt , Ġbottom : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext : ĠCharSequence , Ġstart : ĠInt , Ġend : ĠInt , Ġfirst : ĠBoolean , Ġl : ĠLayout ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġsp anned Ġ= Ġtext Ġas ĠSp anned ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! m Ignore Span Ġ&& Ġsp anned . get Span Start ( this ) Ġ== Ġstart ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġpaint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Style Ġ= Ġp . style ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Text Size Ġ= Ġp . text Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp . style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġm Text Size Ġ= Ġbaseline Ġ- Ġtop ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp . text Size Ġ= Ġm Text Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Width Ġ= Ġp . measure Text ( m Nr . toString () Ġ+ Ġ". ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdraw Ġthe Ġnumber ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . draw Text ( m Nr . toString () Ġ+ Ġ".", Ġx . toFloat (), Ġbaseline . toFloat (), Ġp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġrestore Ġpaint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp . style Ġ= Ġold Style ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp . text Size Ġ= Ġold Text Size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ