package Ġcom . open class rooms . re ale state manager . utils . extensions Ċ Ċ import Ġandroid . location . Location Ċ import Ġcom . mapbox . mapbox sdk . geometry . LatLng Ċ import Ġcom . mapbox . mapbox sdk . geometry . LatLng Bounds Ċ import Ġjava . math . Round ingMode Ċ import Ġkotlin . math .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠMut w ak il - Mo ĠðŁ¤ © Ċ Ġ* ĠAndroid ĠEngineer , Ċ Ġ* ĠBr us se ls Ċ Ġ*/ Ċ Ċ fun ĠLat Lng . to Bounds ( radius : ĠDouble ): ĠLat Lng Bounds Ġ{ ĊĠĠĠ Ġval Ġdistance From Center Ġ= Ġradius Ġ* Ġsqrt ( 2 . 0 ) ĊĠĠĠ Ġval Ġsouth West Ġ= Ġcompute Offset Bounds ( this , Ġdistance From Center , Ġ 2 2 5 . 0 ) ĊĠĠĠ Ġval Ġnorth East Ġ= Ġcompute Offset Bounds ( this , Ġdistance From Center , Ġ 4 5 . 0 ) ĊĠĠĠ Ġreturn ĠLat Lng Bounds . Builder (). include ( north East ). include ( south West ). build () Ċ } Ċ Ċ private Ġfun Ġcompute Offset Bounds ( from : ĠLat Lng , Ġdistance Set : ĠDouble , Ġheading Set : ĠDouble ): ĠLat Lng Ġ{ ĊĠĠĠ Ġval Ġdistance Ġ= Ġdistance Set Ġ/ Ġ 6 3 7 1 0 0 9 . 0 ĊĠĠĠ Ġval Ġheading Ġ= ĠMath . to Radians ( heading Set ) ĊĠĠĠ Ġval Ġfrom Lat Ġ= ĠMath . to Radians ( from . latitude ) ĊĠĠĠ Ġval Ġfrom Lng Ġ= ĠMath . to Radians ( from . longitude ) ĊĠĠĠ Ġval Ġcos Distance Ġ= Ġcos ( distance ) ĊĠĠĠ Ġval Ġsin Distance Ġ= Ġsin ( distance ) ĊĠĠĠ Ġval Ġsin From Lat Ġ= Ġsin ( from Lat ) ĊĠĠĠ Ġval Ġcos From Lat Ġ= Ġcos ( from Lat ) ĊĠĠĠ Ġval Ġsin Lat Ġ= Ġcos Distance Ġ* Ġsin From Lat Ġ+ Ġsin Distance Ġ* Ġcos From Lat Ġ* Ġcos ( heading ) ĊĠĠĠ Ġval Ġd Lng Ġ= Ġatan 2 ( sin Distance Ġ* Ġcos From Lat Ġ* Ġsin ( heading ), Ġcos Distance Ġ- Ġsin From Lat Ġ* Ġsin Lat ) ĊĠĠĠ Ġreturn ĠLat Lng ( Math . to Degrees ( asin ( sin Lat )), ĠMath . to Degrees ( from Lng Ġ+ Ġd Lng )) Ċ } Ċ Ċ fun ĠLat Lng . isEqualTo ( previous Location : ĠLocation , Ġround To : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġlocation Lat Round Up Ġ= Ġthis . latitude . to BigDecimal (). set Scale ( round To , ĠRound ingMode . UP ) ĊĠĠĠ Ġval Ġlocation Lng Round Up Ġ= Ġthis . longitude . to BigDecimal (). set Scale ( round To , ĠRound ingMode . UP ) ĊĠĠĠ Ġval Ġprevious Lat Round Up Ġ= Ġprevious Location . latitude . to BigDecimal (). set Scale ( round To , ĠRound ingMode . UP ) ĊĠĠĠ Ġval Ġprevious Lng Round Up Ġ= Ġprevious Location . longitude . to BigDecimal (). set Scale ( round To , ĠRound ingMode . UP ) ĊĊĠĠĠ Ġreturn Ġlocation Lat Round Up Ġ== Ġprevious Lat Round Up Ġ&& Ġlocation Lng Round Up Ġ== Ġprevious Lng Round Up Ċ } Ċ