summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-09-20 08:20:20 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-09-20 08:20:20 +0000
commit3c941518e307d96bc970144def838c9f2b0e1598 (patch)
tree2ffa845b99948c4b6042b1fb82e371686a98aa4b
parent5157416c346c1d1553856e846fe663aed3f863d9 (diff)
parent777634e5f220df8fbcbadedae0c05b1b60702d9f (diff)
downloadgps-3c941518e307d96bc970144def838c9f2b0e1598.tar.gz
Merge "Register AGPS request event after SSR" into pi-dev
-rw-r--r--msm8998/gnss/GnssAdapter.cpp7
-rw-r--r--msm8998/gnss/GnssAdapter.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/msm8998/gnss/GnssAdapter.cpp b/msm8998/gnss/GnssAdapter.cpp
index e14cf28..1896108 100644
--- a/msm8998/gnss/GnssAdapter.cpp
+++ b/msm8998/gnss/GnssAdapter.cpp
@@ -64,7 +64,8 @@ GnssAdapter::GnssAdapter() :
mControlCallbacks(),
mPowerVoteId(0),
mNiData(),
- mAgpsManager()
+ mAgpsManager(),
+ mAgpsInitialized(false)
{
LOC_LOGD("%s]: Constructor %p", __func__, this);
mUlpPositionMode.mode = LOC_POSITION_MODE_INVALID;
@@ -1004,6 +1005,9 @@ GnssAdapter::updateClientsEventMask()
mask |= LOC_API_ADAPTER_BIT_GNSS_MEASUREMENT;
}
}
+ if (true == getAgpsInitialized()) {
+ mask |= LOC_API_ADAPTER_BIT_LOCATION_SERVER_REQUEST;
+ }
updateEvtMask(mask, LOC_REGISTRATION_MASK_SET);
}
@@ -2392,6 +2396,7 @@ void GnssAdapter::initAgpsCommand(void* statusV4Cb){
mAgpsManager->createAgpsStateMachines();
+ mAdapter.setAgpsInitialized(true);
/* Register for AGPS event mask */
mAdapter.updateEvtMask(LOC_API_ADAPTER_BIT_LOCATION_SERVER_REQUEST,
LOC_REGISTRATION_MASK_ENABLED);
diff --git a/msm8998/gnss/GnssAdapter.h b/msm8998/gnss/GnssAdapter.h
index d857558..e8cebd5 100644
--- a/msm8998/gnss/GnssAdapter.h
+++ b/msm8998/gnss/GnssAdapter.h
@@ -99,6 +99,7 @@ class GnssAdapter : public LocAdapterBase {
/* ==== AGPS ========================================================*/
// This must be initialized via initAgps()
AgpsManager mAgpsManager;
+ bool mAgpsInitialized;
/*==== CONVERSION ===================================================================*/
static void convertOptions(LocPosMode& out, const LocationOptions& options);
@@ -191,6 +192,8 @@ public:
const char* apnName, int apnLen, LocApnIpType ipType);
void dataConnClosedCommand(AGpsExtType agpsType);
void dataConnFailedCommand(AGpsExtType agpsType);
+ inline void setAgpsInitialized(bool value) { mAgpsInitialized = value; }
+ inline bool getAgpsInitialized() { return mAgpsInitialized; }
/* ======== RESPONSES ================================================================== */
void reportResponse(LocationError err, uint32_t sessionId);