Fix to get precise value of distance in location_get_distance 78/236678/1 accepted/tizen/unified/20200622.134514 submit/tizen/20200619.111507
authorchakradhar pogiri <v.pogiri@samsung.com>
Fri, 19 Jun 2020 08:23:57 +0000 (13:53 +0530)
committerchakradhar pogiri <v.pogiri@samsung.com>
Fri, 19 Jun 2020 08:23:57 +0000 (13:53 +0530)
Change-Id: I41efe259d13df4d3f5dbbe32ccc12cfc8edcd6c8

location/manager/location-boundary.c
location/manager/location-position.c
location/manager/location-position.h
location/manager/location-signaling-util.c

index 197ccaa..a5391ac 100644 (file)
@@ -216,7 +216,7 @@ location_boundary_if_inside(LocationBoundary *boundary, LocationPosition *positi
        case LOCATION_BOUNDARY_CIRCLE: {
 
                                LocationPosition center;
-                               gulong distance = 0;
+                               double distance = 0;
 
                                center.latitude = boundary->circle.center->latitude;
                                center.longitude = boundary->circle.center->longitude;
index 3c1374b..0676704 100644 (file)
@@ -96,7 +96,7 @@ location_position_copy(const LocationPosition *position)
 
 /* Vincenty formula. WGS-84 */
 EXPORT_API int
-location_get_distance(const LocationPosition *pos1, const LocationPosition *pos2, gulong *distance)
+location_get_distance(const LocationPosition *pos1, const LocationPosition *pos2, double *distance)
 {
        g_return_val_if_fail(pos1, LOCATION_ERROR_PARAMETER);
        g_return_val_if_fail(pos2, LOCATION_ERROR_PARAMETER);
@@ -161,7 +161,7 @@ location_get_distance(const LocationPosition *pos1, const LocationPosition *pos2
                                                                                                                                 cal2 / 6.0 * cos_2sigma * (-3.0 + 4.0 * sin_sigma * sin_sigma) * (-3.0 + 4.0 * cos_2sigma * cos_2sigma)));
        cal_dist = b * cal1 * (sigma - delta_sigma);
 
-       *distance = (gulong) cal_dist;
+       *distance = cal_dist;
 
        return LOCATION_ERROR_NONE;
 
index 5ad30b9..36e12cd 100644 (file)
@@ -147,7 +147,7 @@ LocationPosition *location_position_copy(const LocationPosition *position);
  *
  * Please refer #LocationError for more information.
  */
-int location_get_distance(const LocationPosition *pos1, const LocationPosition *pos2, gulong *distance);
+int location_get_distance(const LocationPosition *pos1, const LocationPosition *pos2, double *distance);
 
 /**
  * @brief   Change position string to latitude and longitude integer.
index 7f5ea8a..16ec240 100644 (file)
@@ -143,7 +143,7 @@ distance_based_position_signaling(LocationObject *obj, guint32 signals[LAST_SIGN
                *prev_acc = location_accuracy_copy(cur_acc);
 
        } else {
-               gulong distance;
+               double distance;
                int ret = location_get_distance(*prev_pos, cur_pos, &distance);
                if (ret != LOCATION_ERROR_NONE) {
                        LOCATION_LOGE("Fail to get distance");