summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhavna Sharma <sbhavna@codeaurora.org>2019-06-21 14:32:15 -0700
committerBhavna Sharma <sbhavna@codeaurora.org>2019-09-10 15:10:19 -0700
commitbf3d36c771eb254f082d1f1bf953b44e75b060c5 (patch)
treea180009649999f6dcf90ad194420afa2fad465ce
parente60e51f520c9958a9c364ae194d07b02052365fd (diff)
downloadgps-bf3d36c771eb254f082d1f1bf953b44e75b060c5.tar.gz
Selectively send deleteAll command to engines
Modify GNSS interface API's to accept positioning engine mask to perform deleteAll command on CRs-Fixed: 2477966 Change-Id: I54a32d76de98ba6bfa88d7fd1925c44b3079af08
-rw-r--r--android/1.0/location_api/GnssAPIClient.cpp1
-rw-r--r--android/1.1/location_api/GnssAPIClient.cpp1
-rw-r--r--gnss/GnssAdapter.cpp11
-rw-r--r--location/LocationDataTypes.h1
4 files changed, 10 insertions, 4 deletions
diff --git a/android/1.0/location_api/GnssAPIClient.cpp b/android/1.0/location_api/GnssAPIClient.cpp
index a36d2b4..b9fe2b2 100644
--- a/android/1.0/location_api/GnssAPIClient.cpp
+++ b/android/1.0/location_api/GnssAPIClient.cpp
@@ -231,6 +231,7 @@ void GnssAPIClient::gnssDeleteAidingData(IGnss::GnssAidingData aidingDataFlags)
GNSS_AIDING_DATA_SV_TYPE_QZSS_BIT |
GNSS_AIDING_DATA_SV_TYPE_BEIDOU_BIT |
GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT;
+ data.posEngineMask = STANDARD_POSITIONING_ENGINE;
if (aidingDataFlags == IGnss::GnssAidingData::DELETE_ALL)
data.deleteAll = true;
diff --git a/android/1.1/location_api/GnssAPIClient.cpp b/android/1.1/location_api/GnssAPIClient.cpp
index 89877e5..9a95fdf 100644
--- a/android/1.1/location_api/GnssAPIClient.cpp
+++ b/android/1.1/location_api/GnssAPIClient.cpp
@@ -231,6 +231,7 @@ void GnssAPIClient::gnssDeleteAidingData(IGnss::GnssAidingData aidingDataFlags)
GNSS_AIDING_DATA_SV_TYPE_QZSS_BIT |
GNSS_AIDING_DATA_SV_TYPE_BEIDOU_BIT |
GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT;
+ data.posEngineMask = STANDARD_POSITIONING_ENGINE;
if (aidingDataFlags == IGnss::GnssAidingData::DELETE_ALL)
data.deleteAll = true;
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index 578953d..c2e4a09 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -1816,12 +1816,15 @@ GnssAdapter::gnssDeleteAidingDataCommand(GnssAidingData& data)
mSessionId(sessionId),
mData(data) {}
inline virtual void proc() const {
- mAdapter.deleteAidingData(mData, mSessionId);
+ if ((mData.posEngineMask & STANDARD_POSITIONING_ENGINE) != 0) {
+ mAdapter.deleteAidingData(mData, mSessionId);
- SystemStatus* s = mAdapter.getSystemStatus();
- if ((nullptr != s) && (mData.deleteAll)) {
- s->setDefaultGnssEngineStates();
+ SystemStatus* s = mAdapter.getSystemStatus();
+ if ((nullptr != s) && (mData.deleteAll)) {
+ s->setDefaultGnssEngineStates();
+ }
}
+
mAdapter.mEngHubProxy->gnssDeleteAidingData(mData);
}
};
diff --git a/location/LocationDataTypes.h b/location/LocationDataTypes.h
index 27c5157..40b1c73 100644
--- a/location/LocationDataTypes.h
+++ b/location/LocationDataTypes.h
@@ -707,6 +707,7 @@ typedef struct {
bool deleteAll; // if true, delete all aiding data and ignore other params
GnssAidingDataSv sv; // SV specific aiding data
GnssAidingDataCommon common; // common aiding data
+ PositioningEngineMask posEngineMask; // engines to perform the delete operation on.
} GnssAidingData;
typedef uint16_t DrCalibrationStatusMask;