package Ġcom . step 2 hell . android Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . text . Layout Ċ import Ġandroid . text . Static Layout Ċ import Ġandroid . text . Text Direction He ur istics Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Px Ċ import Ġandroidx . annotation . Requires Api Ċ Ċ fun ĠTextView . getLine Count Before Drawing (@ Px Ġwidth : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġtext Width Ġ= Ġwidth Ġ- Ġcompound Padding Left Ġ- Ġcompound Padding Right ĊĠĠĠ Ġval Ġstatic Layout Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetStatic Layout 2 3 ( this , Ġtext Width ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠgetStatic Layout ( this , Ġtext Width ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġstatic Layout . line Count . coerce At Most ( max Lines ) Ċ } Ċ Ċ @ Requires Api ( api Ġ= ĠBuild . VERSION _ CODES . M ) Ċ private Ġfun ĠgetStatic Layout 2 3 ( tv : ĠTextView , Ġwidth : ĠInt ): ĠStatic Layout Ġ{ ĊĠĠĠ Ġreturn ĠStatic Layout . Builder . obtain ( tv . text , Ġ 0 , Ġtv . text . length , Ġtv . paint , Ġwidth ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġset Alignment ( Layout . Alignment . ALIGN _ NORMAL ) ĊĠĠĠĠĠĠĠ Ġset Text Direction ( Text Direction He ur istics . FIRST STRONG _ LTR ) ĊĠĠĠĠĠĠĠ Ġset Line Spacing ( tv . line Spacing Extra , Ġtv . line Spacing Multiplier ) ĊĠĠĠĠĠĠĠ Ġset Include Pad ( tv . include Font Padding ) ĊĠĠĠĠĠĠĠ Ġset Break Strategy ( tv . break Strategy ) ĊĠĠĠĠĠĠĠ Ġset Hy phen ation Frequency ( tv . hy phen ation Frequency ) ĊĠĠĠĠĠĠĠ Ġset Max Lines ( if Ġ( tv . max Lines Ġ== Ġ- 1 ) ĠInt . MAX _ VALUE Ġelse Ġtv . max Lines ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Just ification Mode ( tv . just ification Mode ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( tv . el lip size Ġ!= Ġnull Ġ&& Ġtv . key Listener Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset El lip size ( tv . el lip size ). set El lips ized Width ( width ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. build () Ċ } Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ private Ġfun ĠgetStatic Layout ( tv : ĠTextView , Ġwidth : ĠInt ): ĠStatic Layout Ġ{ ĊĠĠĠ Ġreturn ĠStatic Layout ( ĊĠĠĠĠĠĠĠ Ġtv . text , ĊĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠ Ġtv . text . length , ĊĠĠĠĠĠĠĠ Ġtv . paint , ĊĠĠĠĠĠĠĠ Ġwidth , ĊĠĠĠĠĠĠĠ ĠLayout . Alignment . ALIGN _ NORMAL , ĊĠĠĠĠĠĠĠ Ġtv . line Spacing Multiplier , ĊĠĠĠĠĠĠĠ Ġtv . line Spacing Extra , ĊĠĠĠĠĠĠĠ Ġtv . include Font Padding , ĊĠĠĠĠĠĠĠ Ġtv . el lip size , ĊĠĠĠĠĠĠĠ Ġwidth ĊĠĠĠ Ġ) Ċ } Ċ