aboutsummaryrefslogtreecommitdiff
path: root/gps/loc_api
diff options
context:
space:
mode:
authordianlujitao <dianlujitao@gmail.com>2016-12-03 13:16:43 +0800
committerdavidevinavil <davidevinavil@gmail.com>2017-01-21 18:29:00 +0100
commit6818ac6afaa76a95c469707f5c1ddcfead73a634 (patch)
treeaae17ef2c085c3e51b60b0c41abbd7960ff4d191 /gps/loc_api
parent7155dfe063ba2c220da76a3894d00ddabdc39d90 (diff)
z2_plus: Update GPS HAL from upstream
* Tag: LA.UM.5.5.r1-01300-8x96.0 Change-Id: I269ec7f9809531139e157220feed9a2c977a7d6c
Diffstat (limited to 'gps/loc_api')
-rw-r--r--gps/loc_api/libloc_api_50001/loc_eng.cpp51
-rw-r--r--gps/loc_api/libloc_api_50001/loc_eng.h1
2 files changed, 19 insertions, 33 deletions
diff --git a/gps/loc_api/libloc_api_50001/loc_eng.cpp b/gps/loc_api/libloc_api_50001/loc_eng.cpp
index c1cc640..318786d 100644
--- a/gps/loc_api/libloc_api_50001/loc_eng.cpp
+++ b/gps/loc_api/libloc_api_50001/loc_eng.cpp
@@ -1248,16 +1248,7 @@ LocEngReqRelWifi::~LocEngReqRelWifi() {
}
void LocEngReqRelWifi::proc() const {
loc_eng_data_s_type* locEng = (loc_eng_data_s_type*)mLocEng;
- if (locEng->wifi_nif) {
- WIFISubscriber s(locEng->wifi_nif, mSSID, mPassword, mSenderId);
- if (mIsReq) {
- locEng->wifi_nif->subscribeRsrc((Subscriber*)&s);
- } else {
- locEng->wifi_nif->unsubscribeRsrc((Subscriber*)&s);
- }
- } else {
- locEng->adapter->atlOpenStatus(mSenderId, 0, NULL, -1, mType);
- }
+ locEng->adapter->atlOpenStatus(mSenderId, 0, NULL, -1, mType);
}
inline void LocEngReqRelWifi::locallog() const {
LOC_LOGV("%s - senderId: %d, ssid: %s, password: %s",
@@ -2024,7 +2015,6 @@ static int loc_eng_stop_handler(loc_eng_data_s_type &loc_eng_data)
int ret_val = LOC_API_ADAPTER_ERR_SUCCESS;
if (loc_eng_data.adapter->isInSession()) {
-
ret_val = loc_eng_data.adapter->stopFix();
loc_eng_data.adapter->setInSession(FALSE);
}
@@ -2346,12 +2336,10 @@ void loc_eng_agps_init(loc_eng_data_s_type &loc_eng_data, AGpsExtCallbacks* call
EXIT_LOG(%s, VOID_RET);
return;
}
- bool agpsCapable = ((gps_conf.CAPABILITIES & GPS_CAPABILITY_MSA) ||
- (gps_conf.CAPABILITIES & GPS_CAPABILITY_MSB));
LocEngAdapter* adapter = loc_eng_data.adapter;
loc_eng_data.agps_status_cb = callbacks->status_cb;
- if (agpsCapable && NULL != adapter) {
+ if (NULL != adapter) {
if (adapter->mSupportsAgpsRequests) {
adapter->sendMsg(new LocEngAgnssNifInit(&loc_eng_data));
}
@@ -2374,25 +2362,27 @@ static void createAgnssNifs(loc_eng_data_s_type& locEng) {
bool agpsCapable = ((gps_conf.CAPABILITIES & GPS_CAPABILITY_MSA) ||
(gps_conf.CAPABILITIES & GPS_CAPABILITY_MSB));
LocEngAdapter* adapter = locEng.adapter;
- if (agpsCapable && NULL != adapter && adapter->mSupportsAgpsRequests) {
+ if (NULL != adapter && adapter->mSupportsAgpsRequests) {
if (NULL == locEng.internet_nif) {
locEng.internet_nif= new AgpsStateMachine(servicerTypeAgps,
(void *)locEng.agps_status_cb,
AGPS_TYPE_WWAN_ANY,
false);
}
- if (NULL == locEng.agnss_nif) {
- locEng.agnss_nif = new AgpsStateMachine(servicerTypeAgps,
- (void *)locEng.agps_status_cb,
- AGPS_TYPE_SUPL,
- false);
- }
- if (NULL == locEng.ds_nif &&
- gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL &&
- 0 == adapter->initDataServiceClient()) {
- locEng.ds_nif = new DSStateMachine(servicerTypeExt,
- (void *)dataCallCb,
- locEng.adapter);
+ if (agpsCapable) {
+ if (NULL == locEng.agnss_nif) {
+ locEng.agnss_nif = new AgpsStateMachine(servicerTypeAgps,
+ (void *)locEng.agps_status_cb,
+ AGPS_TYPE_SUPL,
+ false);
+ }
+ if (NULL == locEng.ds_nif &&
+ gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL &&
+ 0 == adapter->initDataServiceClient()) {
+ locEng.ds_nif = new DSStateMachine(servicerTypeExt,
+ (void *)dataCallCb,
+ locEng.adapter);
+ }
}
}
}
@@ -2402,10 +2392,6 @@ static AgpsStateMachine*
getAgpsStateMachine(loc_eng_data_s_type &locEng, AGpsExtType agpsType) {
AgpsStateMachine* stateMachine;
switch (agpsType) {
- case AGPS_TYPE_WIFI: {
- stateMachine = locEng.wifi_nif;
- break;
- }
case AGPS_TYPE_INVALID:
case AGPS_TYPE_SUPL: {
stateMachine = locEng.agnss_nif;
@@ -2933,8 +2919,9 @@ void loc_eng_handle_engine_up(loc_eng_data_s_type &loc_eng_data)
if (loc_eng_data.adapter->isInSession()) {
// This sets the copy in adapter to modem
loc_eng_data.adapter->setInSession(false);
- loc_eng_data.adapter->sendMsg(new LocEngStartFix(loc_eng_data.adapter));
+ loc_eng_start_handler(loc_eng_data);
}
+
EXIT_LOG(%s, VOID_RET);
}
diff --git a/gps/loc_api/libloc_api_50001/loc_eng.h b/gps/loc_api/libloc_api_50001/loc_eng.h
index 1ff391a..6deebaa 100644
--- a/gps/loc_api/libloc_api_50001/loc_eng.h
+++ b/gps/loc_api/libloc_api_50001/loc_eng.h
@@ -105,7 +105,6 @@ typedef struct loc_eng_data_s
// AGPS state machines
AgpsStateMachine* agnss_nif;
AgpsStateMachine* internet_nif;
- AgpsStateMachine* wifi_nif;
//State machine for Data Services
AgpsStateMachine* ds_nif;