diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-09-20 08:20:20 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-09-20 08:20:20 +0000 |
commit | 3c941518e307d96bc970144def838c9f2b0e1598 (patch) | |
tree | 2ffa845b99948c4b6042b1fb82e371686a98aa4b | |
parent | 5157416c346c1d1553856e846fe663aed3f863d9 (diff) | |
parent | 777634e5f220df8fbcbadedae0c05b1b60702d9f (diff) | |
download | gps-3c941518e307d96bc970144def838c9f2b0e1598.tar.gz |
Merge "Register AGPS request event after SSR" into pi-dev
-rw-r--r-- | msm8998/gnss/GnssAdapter.cpp | 7 | ||||
-rw-r--r-- | msm8998/gnss/GnssAdapter.h | 3 |
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); |