GPS HAL: allow client to start tracking session when registering
for none-position related callbacks
When locaiton client has callback for sv, meas, nmea, gps debug
data, the location client should be considered as GNSS client
and allow session to be started
Change-Id: I7641c3eaff64cfd076ee678530fb33610a30fe76
CRs-fixed: 2698513
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index c3c47aa..04c1d63 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -2639,7 +2639,8 @@
auto it = mClientData.find(client);
if (it != mClientData.end()) {
if (it->second.trackingCb || it->second.gnssLocationInfoCb ||
- it->second.engineLocationsInfoCb || it->second.gnssMeasurementsCb) {
+ it->second.engineLocationsInfoCb || it->second.gnssMeasurementsCb ||
+ it->second.gnssDataCb || it->second.gnssSvCb || it->second.gnssNmeaCb) {
allowed = true;
} else {
LOC_LOGi("missing right callback to start tracking")
diff --git a/location/LocationAPI.cpp b/location/LocationAPI.cpp
index 1f5e33b..ef1cc3a 100644
--- a/location/LocationAPI.cpp
+++ b/location/LocationAPI.cpp
@@ -97,6 +97,9 @@
locationCallbacks.trackingCb != nullptr ||
locationCallbacks.gnssLocationInfoCb != nullptr ||
locationCallbacks.engineLocationsInfoCb != nullptr ||
+ locationCallbacks.gnssSvCb != nullptr ||
+ locationCallbacks.gnssNmeaCb != nullptr ||
+ locationCallbacks.gnssDataCb != nullptr ||
locationCallbacks.gnssMeasurementsCb != nullptr ||
locationCallbacks.locationSystemInfoCb != nullptr);
}