From 0ac496f962e35e2b76024c3733473359dec6827e Mon Sep 17 00:00:00 2001 From: Hema Iyer Sankaranarayanan Date: Tue, 12 Jul 2016 13:40:41 -0700 Subject: [PATCH] Add field for location clients to chose position sharing option Add new configuration for location clients to specify whether position reports can be shared with other existing clients Change-Id: I44ade2e48124f992a04956ed8c34218e73face81 Crs-Fixed: 1038783 --- core/gps_extended.h | 11 +++++++---- loc_api/libloc_api_50001/loc.cpp | 6 +++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/core/gps_extended.h b/core/gps_extended.h index b6d7a41b..9460d4ee 100644 --- a/core/gps_extended.h +++ b/core/gps_extended.h @@ -50,15 +50,17 @@ struct LocPosMode uint32_t min_interval; uint32_t preferred_accuracy; uint32_t preferred_time; + bool share_position; char credentials[14]; char provider[8]; LocPosMode(LocPositionMode m, GpsPositionRecurrence recr, uint32_t gap, uint32_t accu, uint32_t time, - const char* cred, const char* prov) : + bool sp, const char* cred, const char* prov) : mode(m), recurrence(recr), min_interval(gap < GPS_MIN_POSSIBLE_FIX_INTERVAL_MS ? - GPS_MIN_POSSIBLE_FIX_INTERVAL_MS : gap), - preferred_accuracy(accu), preferred_time(time) { + GPS_MIN_POSSIBLE_FIX_INTERVAL_MS : gap), + preferred_accuracy(accu), preferred_time(time), + share_position(sp) { memset(credentials, 0, sizeof(credentials)); memset(provider, 0, sizeof(provider)); if (NULL != cred) { @@ -73,7 +75,8 @@ struct LocPosMode mode(LOC_POSITION_MODE_MS_BASED), recurrence(GPS_POSITION_RECURRENCE_PERIODIC), min_interval(GPS_DEFAULT_FIX_INTERVAL_MS), - preferred_accuracy(50), preferred_time(120000) { + preferred_accuracy(50), preferred_time(120000), + share_position(true) { memset(credentials, 0, sizeof(credentials)); memset(provider, 0, sizeof(provider)); } diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp index ca9760d3..6a8fa2e3 100644 --- a/loc_api/libloc_api_50001/loc.cpp +++ b/loc_api/libloc_api_50001/loc.cpp @@ -460,8 +460,12 @@ static int loc_set_position_mode(GpsPositionMode mode, break; } + // set position sharing option to true + bool sharePosition = true; + LocPosMode params(locMode, recurrence, min_interval, - preferred_accuracy, preferred_time, NULL, NULL); + preferred_accuracy, preferred_time, + sharePosition, NULL, NULL); ret_val = loc_eng_set_position_mode(loc_afw_data, params); EXIT_LOG(%d, ret_val);