summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Tang <zhikait@codeaurora.org>2014-09-19 12:19:08 -0700
committerVineeta Srivastava <vsrivastava@google.com>2014-09-19 14:04:57 -0700
commitb2c66a082ebe2a2f887783810d4fb3a31fd547cd (patch)
tree15529378009c7f7e737fd9de847429e1fcaea598
parent1300ae618a0e750e41a5ee22bc242a8e0a7951b5 (diff)
downloadgps-b2c66a082ebe2a2f887783810d4fb3a31fd547cd.tar.gz
GPS lock is stuck as disabled after post powerup enablement
when the device boots with gps disabled in settings and later enabled post pwoer up, the lock state doesn't get updated correctly. Bug: 16131208 Change-Id: Ice8237a3fd67740819de573ffebbab851363163d
-rw-r--r--loc_api/libloc_api_50001/loc.cpp4
-rw-r--r--loc_api/libloc_api_50001/loc_eng.cpp5
2 files changed, 4 insertions, 5 deletions
diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp
index 5ac2ab2..87a878e 100644
--- a/loc_api/libloc_api_50001/loc.cpp
+++ b/loc_api/libloc_api_50001/loc.cpp
@@ -304,9 +304,10 @@ static int loc_init(GpsCallbacks* callbacks)
gps_sv_cb = callbacks->sv_status_cb;
retVal = loc_eng_init(loc_afw_data, &clientCallbacks, event, NULL);
- loc_afw_data.adapter->requestUlp(gps_conf.CAPABILITIES);
loc_afw_data.adapter->mSupportsAgpsRequests = !loc_afw_data.adapter->hasAgpsExtendedCapabilities();
loc_afw_data.adapter->mSupportsPositionInjection = !loc_afw_data.adapter->hasCPIExtendedCapabilities();
+ loc_afw_data.adapter->setGpsLockMsg(0);
+ loc_afw_data.adapter->requestUlp(gps_conf.CAPABILITIES);
if(retVal) {
LOC_LOGE("loc_eng_init() fail!");
@@ -412,6 +413,7 @@ static void loc_cleanup()
ENTRY_LOG();
loc_afw_data.adapter->setPowerVote(false);
+ loc_afw_data.adapter->setGpsLockMsg(gps_conf.GPS_LOCK);
loc_eng_cleanup(loc_afw_data);
loc_close_mdm_node();
diff --git a/loc_api/libloc_api_50001/loc_eng.cpp b/loc_api/libloc_api_50001/loc_eng.cpp
index b678802..d6e64df 100644
--- a/loc_api/libloc_api_50001/loc_eng.cpp
+++ b/loc_api/libloc_api_50001/loc_eng.cpp
@@ -1578,8 +1578,7 @@ int loc_eng_init(loc_eng_data_s_type &loc_eng_data, LocCallbacks* callbacks,
}
STATE_CHECK((NULL == loc_eng_data.adapter),
- "instance already initialized",
- return loc_eng_data.adapter->setGpsLockMsg(0));
+ "instance already initialized", return 0);
memset(&loc_eng_data, 0, sizeof (loc_eng_data));
@@ -1724,8 +1723,6 @@ void loc_eng_cleanup(loc_eng_data_s_type &loc_eng_data)
loc_eng_stop(loc_eng_data);
}
- loc_eng_data.adapter->setGpsLockMsg(gps_conf.GPS_LOCK);
-
#if 0 // can't afford to actually clean up, for many reason.
LOC_LOGD("loc_eng_init: client opened. close it now.");