diff options
author | Kevin Tang <zhikait@codeaurora.org> | 2014-09-19 12:19:08 -0700 |
---|---|---|
committer | Vineeta Srivastava <vsrivastava@google.com> | 2014-09-19 14:04:57 -0700 |
commit | b2c66a082ebe2a2f887783810d4fb3a31fd547cd (patch) | |
tree | 15529378009c7f7e737fd9de847429e1fcaea598 | |
parent | 1300ae618a0e750e41a5ee22bc242a8e0a7951b5 (diff) | |
download | android_hardware_qcom_gps-b2c66a082ebe2a2f887783810d4fb3a31fd547cd.tar.gz android_hardware_qcom_gps-b2c66a082ebe2a2f887783810d4fb3a31fd547cd.tar.bz2 android_hardware_qcom_gps-b2c66a082ebe2a2f887783810d4fb3a31fd547cd.zip |
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.cpp | 4 | ||||
-rw-r--r-- | loc_api/libloc_api_50001/loc_eng.cpp | 5 |
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."); |