summaryrefslogtreecommitdiff
path: root/gnss
diff options
context:
space:
mode:
authorHoss Zhou <zhouh@codeaurora.org>2018-12-04 16:58:02 +0800
committerHoss Zhou <zhouh@codeaurora.org>2018-12-24 15:23:55 +0800
commitf7c6bf552ae3818f98c19dd327b55de531924d47 (patch)
tree88929f72c2b47e8190511a209d08622886239333 /gnss
parent148b0dd3b2953653bba9acf36345df66570081fd (diff)
downloadgps-f7c6bf552ae3818f98c19dd327b55de531924d47.tar.gz
fix multiple GPS_LOCK request
donot send GPS_LOCK request when new gpsLock is the same as last one. Change-Id: Ifb87018d11aef0383762b9b132742faf3d4d7e79 CRs-fixed: 2360896
Diffstat (limited to 'gnss')
-rw-r--r--gnss/GnssAdapter.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index fc59c22..54a2145 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -846,13 +846,14 @@ GnssAdapter::gnssUpdateConfigCommand(GnssConfig config)
if (gnssConfigRequested.flags & GNSS_CONFIG_FLAGS_GPS_LOCK_VALID_BIT) {
uint32_t newGpsLock = mAdapter.convertGpsLock(gnssConfigRequested.gpsLock);
- ContextBase::mGps_conf.GPS_LOCK = newGpsLock;
- if (0 == ContextBase::mGps_conf.GPS_LOCK) {
- ContextBase::mGps_conf.GPS_LOCK = 3;
+ if (0 == newGpsLock) {
+ newGpsLock = 3;
}
- if (0 != mAdapter.getPowerVoteId()) {
+ if (newGpsLock == ContextBase::mGps_conf.GPS_LOCK ||
+ 0 != mAdapter.getPowerVoteId()) {
gnssConfigNeedEngineUpdate.flags &= ~(GNSS_CONFIG_FLAGS_GPS_LOCK_VALID_BIT);
}
+ ContextBase::mGps_conf.GPS_LOCK = newGpsLock;
index++;
}
if (gnssConfigRequested.flags & GNSS_CONFIG_FLAGS_SUPL_VERSION_VALID_BIT) {