/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 , Ġ 2 0 2 2 ĠZ UP ĠIT ĠSER V IC OS ĠEM ĠT EC NO LOG IA ĠE ĠIN OV AC AO ĠSA Ċ Ġ* Ċ Ġ* Ġ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 Ġbr . com . z up . be agle . android . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . core . view . children Ċ import Ġandroidx . core . widget . TextView Compat Ċ import Ġbr . com . z up . be agle . R Ċ import Ġbr . com . z up . be agle . android . components . layout . NavigationBar Ċ Ċ private Ġconst Ġval ĠTEXT _ AP PE AR ANCE _ ZERO Ġ= Ġ 0 Ċ Ċ object ĠToolbar Text Manager Ġ{ ĊĊĠĠĠ Ġfun Ġgenerate Title ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġnavigation Bar : ĠNavigation Bar , ĊĠĠĠĠĠĠĠ Ġtext Appearance : ĠInt , ĊĠĠĠĠĠĠĠ Ġid : ĠInt Ġ= ĠR . id . be agle _ toolbar _ text ĊĠĠĠ Ġ): ĠTextView Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= ĠTextView ( context ) ĊĠĠĠĠĠĠĠ ĠtextView . id Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠViewGroup . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠtextView . layout Params Ġ= Ġparams . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . max Lines Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . el lip size Ġ= ĠText Utils . Truncate At . END ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġnavigation Bar . title ĊĠĠĠĠĠĠĠ Ġif Ġ( text Appearance Ġ!= ĠTEXT _ AP PE AR ANCE _ ZERO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTextView Compat . setText Appearance ( textView , Ġtext Appearance ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠtextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcenter Title ( ĊĠĠĠĠĠĠĠ Ġtoolbar : ĠToolbar , ĊĠĠĠĠĠĠĠ Ġtitle TextView : ĠTextView ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . add On Layout ChangeListener Ġ{ Ġ_, Ġ_, Ġ_, Ġ_, Ġ_, Ġ_, Ġ_, Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġideal X Ġ= Ġ(( toolbar . width Ġ- Ġtitle TextView . width ) Ġ/ Ġ 2 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Toolbar View Ġ= Ġtoolbar . children . find Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . right Ġ== Ġtoolbar . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Toolbar View Start Ġ= Ġlast Toolbar View ?. left Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ide al X Ġ+ Ġtitle TextView . width Ġ> Ġlast Toolbar View Start ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġideal X Adjust ed Ġ= Ġideal X Ġ- Ġ( ide al X Ġ+ Ġtitle TextView . width Ġ- Ġlast Toolbar View Start ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle TextView . x Ġ= Ġideal X Adjust ed ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle TextView . x Ġ= Ġideal X ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ