package Ġcom . jar vis lin . drug stores . page . map Ċ Ċ import Ġandroidx . collection . L ru Cache Ċ import Ġcom . google . android . gms . maps . model . Marker Ċ import Ġcom . jar vis lin . domain . entity . Dr ug store Info Ċ Ċ class ĠMarker CacheManager Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMAX _ MARKER _ AMOUNT Ġ= Ġ 1 5 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSIZE Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġstore Set Ġ= Ġmutable Set Of < Dr ug store Info >() ĊĠĠĠ Ġprivate Ġval Ġcache Ġ= Ġobject Ġ: ĠL ru Cache < Dr ug store Info , ĠMarker >( MAX _ MARKER _ AMOUNT ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsize Of ( key : ĠDr ug store Info , Ġvalue : ĠMarker ): ĠInt Ġ= ĠSIZE ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġentry Removed ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġev ict ed : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey : ĠDr ug store Info , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠoldValue : ĠMarker , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue : ĠMarker ? ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Set . remove ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠoldValue . remove () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . entry Removed ( ev ict ed , Ġkey , ĠoldValue , ĠnewValue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Cached ( info : ĠDr ug store Info ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcache [ info ] Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd ( drug store : ĠDr ug store Info , Ġmarker : ĠMarker ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( drug store , Ġmarker ) ĊĠĠĠĠĠĠĠ Ġstore Set . add ( drug store ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Dr ug store Info ( marker : ĠMarker ): ĠDr ug store Info Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstore Set . first Ġ{ Ġit . id Ġ== Ġmarker . snippet Ġ} ĊĠĠĠ Ġ} Ċ }