summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2018-10-02 22:08:19 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-10-02 22:08:19 +0000
commit5ae953efca3b1ca49476e6163c809ccad46d1cfe (patch)
tree2ffa845b99948c4b6042b1fb82e371686a98aa4b
parent616d275b3bf0395db7c2516423b58f9df5807017 (diff)
parent3c941518e307d96bc970144def838c9f2b0e1598 (diff)
downloadgps-5ae953efca3b1ca49476e6163c809ccad46d1cfe.tar.gz
Snap for 5044688 from 3c941518e307d96bc970144def838c9f2b0e1598 to pi-qpr2-release
Change-Id: I76133965bdbfa1358b9aa33e098c154d57f2f5c5
-rw-r--r--Android.mk22
-rw-r--r--msm8998/gnss/Agps.cpp5
-rw-r--r--msm8998/gnss/GnssAdapter.cpp7
-rw-r--r--msm8998/gnss/GnssAdapter.h3
4 files changed, 28 insertions, 9 deletions
diff --git a/Android.mk b/Android.mk
index 3e0e388..e8db66e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,5 +1,16 @@
-# TODO: Find a better way to separate build configs for ADP vs non-ADP devices
-ifneq ($(BOARD_IS_AUTOMOTIVE),true)
+#set TARGET_USES_HARDWARE_QCOM_GPS to false to disable this project.
+
+ifeq ($(TARGET_USES_HARDWARE_QCOM_GPS),)
+ ifneq ($(filter sdm845 sdm710, $(TARGET_BOARD_PLATFORM)),)
+ TARGET_USES_HARDWARE_QCOM_GPS := false
+ else ifeq ($(BOARD_IS_AUTOMOTIVE),true)
+ TARGET_USES_HARDWARE_QCOM_GPS := false
+ else
+ TARGET_USES_HARDWARE_QCOM_GPS := true
+ endif
+endif
+
+ifeq ($(TARGET_USES_HARDWARE_QCOM_GPS),true)
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
LOCAL_PATH := $(call my-dir)
ifeq ($(BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET),true)
@@ -10,8 +21,7 @@ ifneq ($(BOARD_IS_AUTOMOTIVE),true)
else ifneq ($(filter msm8992,$(TARGET_BOARD_PLATFORM)),)
#For msm8992 use msm8994
include $(call all-named-subdir-makefiles,msm8994)
- else ifneq ($(filter msm8960 msm8084 msm8994 msm8996 msm8998 sdm845 sdm710,$(TARGET_BOARD_PLATFORM)),)
- #For these, use their platform name as the subdirectory
+ else ifneq ($(filter msm8960 msm8084 msm8994 msm8996 msm8998,$(TARGET_BOARD_PLATFORM)),)
include $(call all-named-subdir-makefiles,$(TARGET_BOARD_PLATFORM))
else ifeq ($(filter msm8916,$(TARGET_BOARD_PLATFORM)),)
#For all other targets besides msm8916
@@ -20,9 +30,7 @@ ifneq ($(BOARD_IS_AUTOMOTIVE),true)
endif #TARGET_BOARD_PLATFORM
else
- ifneq ($(filter sdm845 sdm710,$(TARGET_BOARD_PLATFORM)),)
- include $(call all-named-subdir-makefiles,$(TARGET_BOARD_PLATFORM))
- else ifneq ($(filter msm8909 msm8226 ,$(TARGET_BOARD_PLATFORM)),)
+ ifneq ($(filter msm8909 msm8226 ,$(TARGET_BOARD_PLATFORM)),)
ifeq ($(TARGET_SUPPORTS_QCOM_3100),true)
# For SD3100.
include $(call all-named-subdir-makefiles,msm8909w_3100)
diff --git a/msm8998/gnss/Agps.cpp b/msm8998/gnss/Agps.cpp
index f5b8efe..e671daa 100644
--- a/msm8998/gnss/Agps.cpp
+++ b/msm8998/gnss/Agps.cpp
@@ -205,7 +205,10 @@ void AgpsStateMachine::processAgpsEventReleased(){
switch (mState) {
case AGPS_STATE_RELEASED:
- LOC_LOGE("Unexpected event RELEASED in state %d", mState);
+ /* Subscriber list should be empty if we are in released state */
+ if (!mSubscriberList.empty()) {
+ LOC_LOGE("Unexpected event RELEASED in RELEASED state");
+ }
break;
case AGPS_STATE_ACQUIRED:
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);