package Ġcom . mapbox . maps . plugin . annotation Ċ Ċ import Ġandroid . view . View Ċ import Ġcom . mapbox . maps . plugin . annotation . generated . Circle Manager Ċ import Ġcom . mapbox . maps . plugin . annotation . generated . Fill Manager Ċ import Ġcom . mapbox . maps . plugin . annotation . generated . Line Manager Ċ import Ġcom . mapbox . maps . plugin . annotation . generated . Symbol Manager Ċ import Ġcom . mapbox . maps . plugin . deleg ates . Map Delegate Provider Ċ import Ġcom . mapbox . maps . plugin . deleg ates . Map Plugin Provider Delegate Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ /** Ċ Ġ* ĠThe Ġimpl Ġclass Ġfor ĠAnnotation Plugin Ċ Ġ*/ Ċ class ĠAnnotation Plugin Impl Ġ: ĠAnnotation Plugin Ġ{ ĊĠ Ġprivate Ġlateinit Ġvar Ġdelegate Provider : ĠMap Delegate Provider ĊĠ Ġprivate Ġval Ġmanager List Ġ= Ġmutable ListOf < Weak Reference < Annotation Manager < *, Ġ*, Ġ*, Ġ*, Ġ*, Ġ* >> >() ĊĠ Ġprivate Ġvar Ġwidth Ġ= Ġ 0 ĊĠ Ġprivate Ġvar Ġheight Ġ= Ġ 0 ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCreate Ġan Ġannotation Ġm anger Ġinstance . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġmap View Ġthe Ġmap View ĊĠĠ Ġ* Ġ@ param Ġtype ĠThe Ġtype Ġof Ġhe Ġtype Ġof Ġannotation Ġm anger ĊĠĠ Ġ* Ġ@ param Ġannotation Config Ġthe Ġconfiguration Ġfor ĠAnnotation Manager ĊĠĠ Ġ* Ġ@ return Ġthe Ġannotation Ġm anger ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġcreate Annotation Manager ( ĊĠĠĠ Ġmap View : ĠView , ĊĠĠĠ Ġtype : ĠAnnotation Type , ĊĠĠĠ Ġannotation Config : ĠAnnotation Config ? ĊĠ Ġ): ĠAnnotation Manager < *, Ġ*, Ġ*, Ġ*, Ġ*, Ġ*> Ġ{ ĊĠĠĠ Ġval Ġmanager Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠ ĠAnnotation Type . Fill Ġ-> ĠFill Manager ( map View , Ġdelegate Provider , Ġannotation Config ) ĊĠĠĠĠĠ ĠAnnotation Type . Circle Ġ-> ĠCircle Manager ( map View , Ġdelegate Provider , Ġannotation Config ) ĊĠĠĠĠĠ ĠAnnotation Type . Line Ġ-> ĠLine Manager ( map View , Ġdelegate Provider , Ġannotation Config ) ĊĠĠĠĠĠ ĠAnnotation Type . Symbol Ġ-> ĠSymbol Manager ( map View , Ġdelegate Provider , Ġannotation Config ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġmanager . on Size Changed ( width , Ġheight ) ĊĠĠĠ Ġmanager List . add ( Weak Reference ( manager )) ĊĠĠĠ Ġreturn Ġmanager ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInv oked Ġwhen ĠMap View 's Ġwidth Ġand Ġheight Ġhave Ġchanged . ĊĠĠ Ġ* Ġ@ param Ġwidth Ġthe Ġwidth Ġof Ġmap View ĊĠĠ Ġ* Ġ@ param Ġheight Ġthe Ġheight Ġof Ġmap View ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġon Size Changed ( width : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠ Ġthis . width Ġ= Ġwidth ĊĠĠĠ Ġthis . height Ġ= Ġheight ĊĠĠĠ Ġmanager List . forEach Ġ{ Ġit . get ()?. on Size Changed ( width , Ġheight ) Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠProvides Ġall Ġmap Ġdelegate Ġinstances . ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġon Delegate Provider ( delegate Provider : ĠMap Delegate Provider ) Ġ{ ĊĠĠĠ Ġthis . delegate Provider Ġ= Ġdelegate Provider ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġfor ĠMap View Ġto Ġget Ġthe ĠAnnotation Ġplugin Ġinstance . Ċ Ġ* Ċ Ġ* Ġ@ return ĠComp ass Ġplugin Ġinstance Ċ Ġ*/ Ċ fun ĠMap Plugin Provider Delegate . getAnnotation Plugin (): ĠAnnotation Plugin Ġ{ ĊĠ Ġreturn Ġthis . get Plugin ( Annotation Plugin Impl :: class . java ) !! Ċ }