Commit graph

11 commits

Author SHA1 Message Date
Kevin Tang
63c4d2f67b locAPIRemoveGeofences roolback to async result notification
locAPIRemoveGeofences is rolled back to async result notification,
using the RemoveGeofencesRequest, but using a new temporal bidict
of sessions & ids, to avoid a previous race condition using the
wrong id when removing and adding a geofence.

Change-Id: Icd85373b82e620ea4059431f0c3d13c95f99ca3c
CRs-fixed: 2132679
2017-10-25 15:04:06 -07:00
Dante Russo
34ce2a6873 Fix support for batching without batch full event
Additional fixes:
-fix issue where if StartTracking or
StartBatching fails at QMI LOC layer, then the
session is stuck and Tracking or Batching cannot
be stoped or started again.
-fix getBatchedLocation API to return an error
if the id given is not valid, as caller
will not get a response callback in this case.

CRs-fixed 2118838
Change-Id: I389fc862836450f0081f6394c971b33614373841
2017-10-10 14:56:34 -07:00
Kevin Tang
c7642dca5f locAPIRemoveGeofences now notify the result inmediately
locAPIRemoveGeofences is no longer waiting for the request response,
instead it will always notify his callbacks with LOCATION_ERROR_SUCCESS
if the provided id is found, or LOCATION_ERROR_ID_UNKNOWN if not.

Change-Id: I602ad43bee894e85fde1e80210e6477b628e4a39
CRs-fixed: 2099450
2017-09-22 17:28:58 -07:00
Dante Russo
c1da12aa2e Prevent gps stuck on if multiple starts are called
If framework happens to call start of session multiple
times without calling stop first, it can cause a session
to get stuck on without any way to stop it

CRs-fixed: 2083756
Change-Id: Ic871d870ca67c9465438f8494e381bfbcb85a830
2017-07-27 14:04:23 -07:00
Bhavna Sharma
686a5c54b0 Location API for Outdoor Trip Batching
Add / Modify Location API for
Outdoor Trip Batching feature.
Introduce a batch mode to differentiate
between routine and outdoor trip mode.

CRs-Fixed: 2041674

Change-Id: Ia8b2d34457b29c4fe754ab24287a6984ab9a96f5
2017-07-24 09:25:07 -07:00
Baili Feng
2df685d3ec Support multiple sessions
Start more than one sessions by calling
locAPIStartSession multiple times

Change-Id: I1625faaab0f69fcb2700b6dbd695f59061c6a88d
CRs-fixed: 2079631
2017-07-24 21:42:24 +08:00
Baili Feng
1a128bd7cd Split control apis to a separate class
Move control apis to LocationAPIControlClient.
There should be only one instance of it per process.

Change-Id: I5969e6b3ad45f3fc5bfe4f4cd543a077c540c3ea
CRs-Fixed: 2064389
2017-06-27 19:04:00 +08:00
Baili Feng
c0a300ca3a Reset RequestQueue instead of delete it.
Change the type of mRequestQueue from 'array of pointers'
to 'array of instances'. So we can reuse them.

CRs-fixed: 2050837
Change-Id: I362319ece38cf10ee7ae2278a89249ce97e2f0a5
2017-06-21 10:31:03 +08:00
Baili Feng
1f3ac891ae Make updateConfig functional before gnss is enabled
locAPIGnssUpdateConfig and locAPIEnable/Disable
will use different request queues

Change-Id: I8c5456ebc4c221ff0e536ad488259b21e5607e03
CRs-Fixed: 2054316
2017-06-06 09:45:37 +08:00
Baili Feng
b29778eac0 Fix intermittant crashes in location
Deleting memory without setting it to null
can cause the memory to still be non-null
and be interpreted as valid.
Also check if the entry is in the map using
find instead of assuming it is in the map.

Bug: 62033719 62033834 62033690 62033563 62032790
CRs-fixed: 2050837
Change-Id: I2534de2d6157be86ac95cfe6615e4c0019ee48fd
2017-05-24 11:03:16 -07:00
Dante Russo
c85c8ff673 LocationAPI implementation
Implementation of LocationAPI into gps hal
to be a common API that is called into by platform
specific APIs.

Change-Id: Ie5a7bd217d4ae2175ad49e6aca2fb6ecd4702f3b
CRs-fixed: 1112712
2017-02-28 16:47:50 -08:00