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