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
This commit is contained in:
Hema Iyer Sankaranarayanan 2016-07-12 13:40:41 -07:00
parent 54794a45e6
commit 0ac496f962
2 changed files with 12 additions and 5 deletions

View file

@ -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) {
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));
}

View file

@ -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);