aboutsummaryrefslogtreecommitdiff
path: root/gps/android/location_api/MeasurementAPIClient.cpp
diff options
context:
space:
mode:
authorBruno Martins <bgcngm@gmail.com>2018-03-14 23:42:25 +0000
committerCosme Domínguez Díaz <cosme.ddiaz@gmail.com>2018-03-16 00:50:43 +0100
commit122f2ed00414cf416b67c6dee10131b0f3e28bea (patch)
tree04057c48ef75a874573f880e5ea3a3ede58fdd95 /gps/android/location_api/MeasurementAPIClient.cpp
parentd725d2ed80359098e6b1952f942421cabd844b2a (diff)
msm8996-common: Update GPS HIDL HAL from upstream
* Tag: LA.UM.6.6.r1-06700-89xx.0 Change-Id: If746b12bcbc3e414aa9ba9f421040edd0f815638
Diffstat (limited to 'gps/android/location_api/MeasurementAPIClient.cpp')
-rw-r--r--gps/android/location_api/MeasurementAPIClient.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/gps/android/location_api/MeasurementAPIClient.cpp b/gps/android/location_api/MeasurementAPIClient.cpp
index dd7ceac..731c7ed 100644
--- a/gps/android/location_api/MeasurementAPIClient.cpp
+++ b/gps/android/location_api/MeasurementAPIClient.cpp
@@ -66,7 +66,9 @@ MeasurementAPIClient::measurementSetCallback(const sp<IGnssMeasurementCallback>&
{
LOC_LOGD("%s]: (%p)", __FUNCTION__, &callback);
+ mMutex.lock();
mGnssMeasurementCbIface = callback;
+ mMutex.unlock();
LocationCallbacks locationCallbacks;
memset(&locationCallbacks, 0, sizeof(LocationCallbacks));
@@ -116,10 +118,14 @@ void MeasurementAPIClient::onGnssMeasurementsCb(
LOC_LOGD("%s]: (count: %zu active: %zu)",
__FUNCTION__, gnssMeasurementsNotification.count, mTracking);
if (mTracking) {
- if (mGnssMeasurementCbIface != nullptr) {
+ mMutex.lock();
+ auto gnssMeasurementCbIface(mGnssMeasurementCbIface);
+ mMutex.unlock();
+
+ if (gnssMeasurementCbIface != nullptr) {
IGnssMeasurementCallback::GnssData gnssData;
convertGnssData(gnssMeasurementsNotification, gnssData);
- auto r = mGnssMeasurementCbIface->GnssMeasurementCb(gnssData);
+ auto r = gnssMeasurementCbIface->GnssMeasurementCb(gnssData);
if (!r.isOk()) {
LOC_LOGE("%s] Error from GnssMeasurementCb description=%s",
__func__, r.description().c_str());