package Ġcom . dg . helpers Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . util . Log Ċ Ċ import Ġjava . util . HashMap Ċ Ċ /** Ċ Ġ* ĠThis Ġloads Ġthe Ġspecified Ġfont Ġfrom Ġthe Ġassets Ġfolder . Ċ Ġ* ĠIf Ġthe Ġpath Ġspecified Ġdoes Ġnot Ġcontain Ġpath Ġand Ġextension Ċ Ġ* Ġ- Ġit Ġwill Ġsearch Ġfor Ġassets / fonts /< font name >. [ ttf | ot f ] Ċ Ġ*/ Ċ @ Suppress (" unused ") Ċ class ĠFont Helper Ġprivate Ġconstructor () Ċ { ĊĠĠĠ Ġcompanion Ġobject ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs Font Cache Ġ= ĠHashMap < String , ĠType face >() ĊĊĠĠĠĠĠĠĠ Ġfun Ġclear Cache () ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs Font Cache . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcache Size (): ĠInt ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġs Font Cache . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLoads Ġthe Ġfont Ġwith Ġpossible Ġuse Ġof Ġthe Ġstatic Ġcache ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠfontFamily ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġload From Cache ĠShould Ġthe Ġfont Ġbe Ġloaded Ġfrom Ġcache ? ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġsave To Cache ĠShould Ġthe Ġfont Ġbe Ġsaved Ġto Ġcache ? ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe Ġloaded ĠType face Ġor Ġnull Ġif Ġfailed . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Font ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload From Cache : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave To Cache : ĠBoolean Ġ= Ġtrue ): ĠType face ? ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtype face : ĠType face ? Ġ= Ġif Ġ( load From Cache ) Ġs Font Cache [ fontFamily ] Ġelse Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type face Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype face Ġ= Ġload Font From Assets ( context , ĠfontFamily ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( save To Cache Ġ&& Ġtype face Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Font Cache [ fontFamily ] Ġ= Ġtype face ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtype face ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLoads Ġthe Ġfont Ġdirectly Ġfrom Ġthe ĠAssets . ĠNo Ġcaching Ġdone Ġhere . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠfontFamily ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe Ġloaded ĠType face Ġor Ġnull Ġif Ġfailed . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġload Font From Assets ( context : ĠContext , ĠfontFamily : ĠString ): ĠType face ? ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! fontFamily . contains (".") Ġ&& Ġ! fontFamily . contains ("/ ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt tf Font Family Ġ= Ġ" fonts /$ fontFamily . ttf " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠType face . createFrom Asset ( context . resources . assets , Ġt tf Font Family ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( ignored : ĠException ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġo tf Font Family Ġ= Ġ" fonts /$ fontFamily . ot f " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠType face . createFrom Asset ( context . resources . assets , Ġo tf Font Family ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( ignored : ĠException ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠType face . createFrom Asset ( context . resources . assets , ĠfontFamily ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : ĠException ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" Font Helper ", Ġe . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }