From: chakradhar Date: Tue, 15 Sep 2020 05:15:35 +0000 (+0530) Subject: Fix for corner cases X-Git-Tag: tizen_6.0.m2_release X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Ftizen_6.0.m2_release;p=platform%2Fcore%2Flocation%2Flbs-location.git Fix for corner cases Change-Id: I0158c9d07a074314efeb7d080b27a16faa9ea804 --- diff --git a/location/manager/location-boundary.c b/location/manager/location-boundary.c index cbdd726..05a2b6c 100644 --- a/location/manager/location-boundary.c +++ b/location/manager/location-boundary.c @@ -381,10 +381,10 @@ location_boundary_on_path(LocationBoundary *boundary, LocationPosition *position px = x1 - x2; norm = y1 * y1 + px * px; - u = ( y3 * y1 + ( x3 - x2 ) * px ) / norm; if(norm <= 0){ u = 0; }else{ + u = ( y3 * y1 + ( x3 - x2 ) * px ) / norm; if( u > 1){ u = 1; }else if (u < 0){ @@ -420,7 +420,7 @@ location_boundary_on_path(LocationBoundary *boundary, LocationPosition *position center.longitude = boundary->circle.center->longitude; location_get_distance(¢er, position, &distance); - if (distance < boundary->circle.radius + tolerance) { + if (distance < boundary->circle.radius + tolerance && distance > boundary->circle.radius - tolerance) { return TRUE; } break; @@ -467,10 +467,10 @@ location_boundary_on_path(LocationBoundary *boundary, LocationPosition *position px = x1 - x2; norm = y1 * y1 + px * px; - u = ( y3 * y1 + ( x3 - x2 ) * px ) / norm; if(norm <= 0){ u = 0; }else{ + u = ( y3 * y1 + ( x3 - x2 ) * px ) / norm; if( u > 1){ u = 1; }else if (u < 0){ @@ -504,7 +504,6 @@ location_boundary_on_path(LocationBoundary *boundary, LocationPosition *position return FALSE; } - EXPORT_API int location_boundary_add(const LocationObject *obj, const LocationBoundary *boundary) {