diff options
author | Bhavna Sharma <sbhavna@codeaurora.org> | 2019-06-21 14:32:15 -0700 |
---|---|---|
committer | Bhavna Sharma <sbhavna@codeaurora.org> | 2019-09-10 15:10:19 -0700 |
commit | bf3d36c771eb254f082d1f1bf953b44e75b060c5 (patch) | |
tree | a180009649999f6dcf90ad194420afa2fad465ce | |
parent | e60e51f520c9958a9c364ae194d07b02052365fd (diff) | |
download | gps-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.cpp | 1 | ||||
-rw-r--r-- | android/1.1/location_api/GnssAPIClient.cpp | 1 | ||||
-rw-r--r-- | gnss/GnssAdapter.cpp | 11 | ||||
-rw-r--r-- | location/LocationDataTypes.h | 1 |
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; |