summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2019-09-05 16:53:34 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-09-05 16:53:34 +0000
commit13b776ec49fa6302a0f1111c958123450388c29a (patch)
treeb42f0a828680dbe21eed093d0cf9a794686a365d
parent8d6e3a709f10e90f17e244d5084e4588e1e96bea (diff)
parentaf2055045181e434ca9fdd4ca08001885f6b9de3 (diff)
downloadgps-13b776ec49fa6302a0f1111c958123450388c29a.tar.gz
Merge "DO NOT MERGE - Merge Android 10 into master"
-rw-r--r--msm8909/core/Android.mk3
-rw-r--r--msm8909/etc/Android.mk2
-rw-r--r--msm8909/loc_api/libloc_api_50001/Android.mk2
-rw-r--r--msm8909/loc_api/libloc_api_50001/loc.cpp4
-rw-r--r--msm8909/loc_api/libloc_api_50001/loc_eng.cpp4
-rw-r--r--msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h10
-rw-r--r--msm8909/utils/Android.mk3
-rw-r--r--msm8996/loc_api/libloc_api_50001/loc.cpp2
-rw-r--r--msm8998/android/AGnss.cpp5
-rw-r--r--msm8998/utils/loc_nmea.cpp66
10 files changed, 55 insertions, 46 deletions
diff --git a/msm8909/core/Android.mk b/msm8909/core/Android.mk
index f99d9aa..d07f544 100644
--- a/msm8909/core/Android.mk
+++ b/msm8909/core/Android.mk
@@ -6,6 +6,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libloc_core
+LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_OWNER := qcom
LOCAL_MODULE_TAGS := optional
@@ -40,6 +41,8 @@ LOCAL_C_INCLUDES:= \
$(TARGET_OUT_HEADERS)/gps.utils \
$(TARGET_OUT_HEADERS)/libflp
+LOCAL_HEADER_LIBRARIES := libutils_headers
+
LOCAL_COPY_HEADERS_TO:= libloc_core/
LOCAL_COPY_HEADERS:= \
LocApiBase.h \
diff --git a/msm8909/etc/Android.mk b/msm8909/etc/Android.mk
index 33287df..112658d 100644
--- a/msm8909/etc/Android.mk
+++ b/msm8909/etc/Android.mk
@@ -7,7 +7,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := gps.conf
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
LOCAL_SRC_FILES := gps.conf
include $(BUILD_PREBUILT)
diff --git a/msm8909/loc_api/libloc_api_50001/Android.mk b/msm8909/loc_api/libloc_api_50001/Android.mk
index ef9accb..1d66b41 100644
--- a/msm8909/loc_api/libloc_api_50001/Android.mk
+++ b/msm8909/loc_api/libloc_api_50001/Android.mk
@@ -6,6 +6,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libloc_eng
+LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_OWNER := qcom
LOCAL_MODULE_TAGS := optional
@@ -64,6 +65,7 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := gps.$(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE)
+LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_OWNER := qcom
LOCAL_MODULE_TAGS := optional
diff --git a/msm8909/loc_api/libloc_api_50001/loc.cpp b/msm8909/loc_api/libloc_api_50001/loc.cpp
index fbc66b0..70f9931 100644
--- a/msm8909/loc_api/libloc_api_50001/loc.cpp
+++ b/msm8909/loc_api/libloc_api_50001/loc.cpp
@@ -546,9 +546,7 @@ static void loc_delete_aiding_data(GpsAidingData f)
{
ENTRY_LOG();
-#ifndef TARGET_BUILD_VARIANT_USER
loc_eng_delete_aiding_data(loc_afw_data, f);
-#endif
EXIT_LOG(%s, VOID_RET);
}
@@ -1000,7 +998,7 @@ static inline int createSocket() {
LOC_LOGE("create socket error. reason:%s", strerror(errno));
} else {
- const char* socketPath = "/data/misc/location/xtra/socket_hal_xtra";
+ const char* socketPath = "/data/vendor/location/xtra/socket_hal_xtra";
struct sockaddr_un addr = { .sun_family = AF_UNIX };
snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", socketPath);
diff --git a/msm8909/loc_api/libloc_api_50001/loc_eng.cpp b/msm8909/loc_api/libloc_api_50001/loc_eng.cpp
index 98a3c49..5b5a83c 100644
--- a/msm8909/loc_api/libloc_api_50001/loc_eng.cpp
+++ b/msm8909/loc_api/libloc_api_50001/loc_eng.cpp
@@ -77,11 +77,11 @@
#define FAILURE FALSE
#ifndef GPS_CONF_FILE
-#define GPS_CONF_FILE "/etc/gps.conf" //??? platform independent
+#define GPS_CONF_FILE "/vendor/etc/gps.conf" //??? platform independent
#endif
#ifndef SAP_CONF_FILE
-#define SAP_CONF_FILE "/etc/sap.conf"
+#define SAP_CONF_FILE "/vendor/etc/sap.conf"
#endif
#define XTRA1_GPSONEXTRA "xtra1.gpsonextra.net"
diff --git a/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h b/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h
index 1d8c142..712fc2d 100644
--- a/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h
+++ b/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h
@@ -33,11 +33,11 @@
#ifdef _ANDROID_
-#define GPSONE_LOC_API_Q_PATH "/data/misc/location/gpsone_d/gpsone_loc_api_q"
-#define GPSONE_LOC_API_RESP_Q_PATH "/data/misc/location/gpsone_d/gpsone_loc_api_resp_q"
-#define QUIPC_CTRL_Q_PATH "/data/misc/location/gpsone_d/quipc_ctrl_q"
-#define MSAPM_CTRL_Q_PATH "/data/misc/location/gpsone_d/msapm_ctrl_q"
-#define MSAPU_CTRL_Q_PATH "/data/misc/location/gpsone_d/msapu_ctrl_q"
+#define GPSONE_LOC_API_Q_PATH "/data/vendor/location/gpsone_d/gpsone_loc_api_q"
+#define GPSONE_LOC_API_RESP_Q_PATH "/data/vendor/location/gpsone_d/gpsone_loc_api_resp_q"
+#define QUIPC_CTRL_Q_PATH "/data/vendor/location/gpsone_d/quipc_ctrl_q"
+#define MSAPM_CTRL_Q_PATH "/data/vendor/location/gpsone_d/msapm_ctrl_q"
+#define MSAPU_CTRL_Q_PATH "/data/vendor/location/gpsone_d/msapu_ctrl_q"
#else
diff --git a/msm8909/utils/Android.mk b/msm8909/utils/Android.mk
index 0f9b05f..386f767 100644
--- a/msm8909/utils/Android.mk
+++ b/msm8909/utils/Android.mk
@@ -41,6 +41,8 @@ LOCAL_LDFLAGS += -Wl,--export-dynamic
LOCAL_C_INCLUDES:= \
$(LOCAL_PATH)/platform_lib_abstractions
+LOCAL_HEADER_LIBRARIES := libutils_headers
+
LOCAL_COPY_HEADERS_TO:= gps.utils/
LOCAL_COPY_HEADERS:= \
loc_log.h \
@@ -60,6 +62,7 @@ LOCAL_COPY_HEADERS:= \
platform_lib_abstractions/platform_lib_macros.h \
loc_misc_utils.h
+LOCAL_VENDOR_MODULE := true
LOCAL_MODULE := libgps.utils
LOCAL_MODULE_TAGS := optional
diff --git a/msm8996/loc_api/libloc_api_50001/loc.cpp b/msm8996/loc_api/libloc_api_50001/loc.cpp
index 781df6e..db4a971 100644
--- a/msm8996/loc_api/libloc_api_50001/loc.cpp
+++ b/msm8996/loc_api/libloc_api_50001/loc.cpp
@@ -610,9 +610,7 @@ static void loc_delete_aiding_data(GpsAidingData f)
{
ENTRY_LOG();
-#ifndef TARGET_BUILD_VARIANT_USER
loc_eng_delete_aiding_data(loc_afw_data, f);
-#endif
EXIT_LOG(%s, VOID_RET);
}
diff --git a/msm8998/android/AGnss.cpp b/msm8998/android/AGnss.cpp
index c497ed4..51a6ff6 100644
--- a/msm8998/android/AGnss.cpp
+++ b/msm8998/android/AGnss.cpp
@@ -38,7 +38,10 @@ AGnss::AGnss(Gnss* gnss) : mGnss(gnss) {
void AGnss::agnssStatusIpV4Cb(IAGnssCallback::AGnssStatusIpV4 status){
- sAGnssCbIface->agnssStatusIpV4Cb(status);
+ auto r = sAGnssCbIface->agnssStatusIpV4Cb(status);
+ if (!r.isOk()) {
+ LOC_LOGE("Error invoking AGNSS status cb %s", r.description().c_str());
+ }
}
Return<void> AGnss::setCallback(const sp<IAGnssCallback>& callback) {
diff --git a/msm8998/utils/loc_nmea.cpp b/msm8998/utils/loc_nmea.cpp
index 9fbed98..b0cd9ea 100644
--- a/msm8998/utils/loc_nmea.cpp
+++ b/msm8998/utils/loc_nmea.cpp
@@ -71,8 +71,6 @@ typedef struct loc_sv_cache_info_s
float vdop;
} loc_sv_cache_info;
-static loc_sv_cache_info sv_cache_info;
-
/*===========================================================================
FUNCTION loc_nmea_sv_meta_init
@@ -90,6 +88,7 @@ SIDE EFFECTS
===========================================================================*/
static loc_nmea_sv_meta* loc_nmea_sv_meta_init(loc_nmea_sv_meta& sv_meta,
+ loc_sv_cache_info& sv_cache_info,
GnssSvType svType,
bool needCombine)
{
@@ -495,7 +494,20 @@ void loc_nmea_generate_pos(const UlpLocation &location,
int utcMinutes = pTm->tm_min;
int utcSeconds = pTm->tm_sec;
int utcMSeconds = (location.gpsLocation.timestamp)%1000;
-
+ loc_sv_cache_info sv_cache_info = {};
+
+ if (GPS_LOCATION_EXTENDED_HAS_GNSS_SV_USED_DATA & locationExtended.flags) {
+ sv_cache_info.gps_used_mask =
+ (uint32_t)locationExtended.gnss_sv_used_ids.gps_sv_used_ids_mask;
+ sv_cache_info.glo_used_mask =
+ (uint32_t)locationExtended.gnss_sv_used_ids.glo_sv_used_ids_mask;
+ sv_cache_info.gal_used_mask =
+ (uint32_t)locationExtended.gnss_sv_used_ids.gal_sv_used_ids_mask;
+ sv_cache_info.qzss_used_mask =
+ (uint32_t)locationExtended.gnss_sv_used_ids.qzss_sv_used_ids_mask;
+ sv_cache_info.bds_used_mask =
+ (uint32_t)locationExtended.gnss_sv_used_ids.bds_sv_used_ids_mask;
+ }
if (generate_nmea) {
char talker[3] = {'G', 'P', '\0'};
uint32_t svUsedCount = 0;
@@ -506,7 +518,8 @@ void loc_nmea_generate_pos(const UlpLocation &location,
// -------------------
count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GPS, true), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GPS, true),
+ nmeaArraystr);
if (count > 0)
{
svUsedCount += count;
@@ -519,7 +532,8 @@ void loc_nmea_generate_pos(const UlpLocation &location,
// -------------------
count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GLONASS, true), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GLONASS, true),
+ nmeaArraystr);
if (count > 0)
{
svUsedCount += count;
@@ -532,7 +546,8 @@ void loc_nmea_generate_pos(const UlpLocation &location,
// -------------------
count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GALILEO, true), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GALILEO, true),
+ nmeaArraystr);
if (count > 0)
{
svUsedCount += count;
@@ -545,7 +560,8 @@ void loc_nmea_generate_pos(const UlpLocation &location,
// --------------------------
count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_QZSS, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_QZSS, false),
+ nmeaArraystr);
if (count > 0)
{
svUsedCount += count;
@@ -556,7 +572,8 @@ void loc_nmea_generate_pos(const UlpLocation &location,
// ---$PQGSA/$GNGSA (BEIDOU)---
// ----------------------------
count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_BEIDOU, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_BEIDOU, false),
+ nmeaArraystr);
if (count > 0)
{
svUsedCount += count;
@@ -920,13 +937,6 @@ void loc_nmea_generate_pos(const UlpLocation &location,
length = loc_nmea_put_checksum(sentence, sizeof(sentence));
nmeaArraystr.push_back(sentence);
-
- // clear the cache so they can't be used again
- sv_cache_info.gps_used_mask = 0;
- sv_cache_info.glo_used_mask = 0;
- sv_cache_info.gal_used_mask = 0;
- sv_cache_info.qzss_used_mask = 0;
- sv_cache_info.bds_used_mask = 0;
}
//Send blank NMEA reports for non-final fixes
else {
@@ -989,20 +999,9 @@ void loc_nmea_generate_sv(const GnssSvNotification &svNotify,
int sentenceCount = 0;
int sentenceNumber = 1;
int svNumber = 1;
+ loc_sv_cache_info sv_cache_info = {};
//Count GPS SVs for saparating GPS from GLONASS and throw others
-
- sv_cache_info.gps_used_mask = 0;
- sv_cache_info.glo_used_mask = 0;
- sv_cache_info.gal_used_mask = 0;
- sv_cache_info.qzss_used_mask = 0;
- sv_cache_info.bds_used_mask = 0;
-
- sv_cache_info.gps_count = 0;
- sv_cache_info.glo_count = 0;
- sv_cache_info.gal_count = 0;
- sv_cache_info.qzss_count = 0;
- sv_cache_info.bds_count = 0;
for(svNumber=1; svNumber <= svCount; svNumber++) {
if (GNSS_SV_TYPE_GPS == svNotify.gnssSvs[svNumber - 1].type)
{
@@ -1072,35 +1071,38 @@ void loc_nmea_generate_sv(const GnssSvNotification &svNotify,
// ------------------
loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GPS, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GPS, false), nmeaArraystr);
// ------------------
// ------$GLGSV------
// ------------------
loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GLONASS, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GLONASS, false),
+ nmeaArraystr);
// ------------------
// ------$GAGSV------
// ------------------
loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GALILEO, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GALILEO, false),
+ nmeaArraystr);
// -------------------------
// ------$PQGSV (QZSS)------
// -------------------------
loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_QZSS, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_QZSS, false), nmeaArraystr);
// ---------------------------
// ------$PQGSV (BEIDOU)------
// ---------------------------
loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence),
- loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_BEIDOU, false), nmeaArraystr);
+ loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_BEIDOU, false),
+ nmeaArraystr);
EXIT_LOG(%d, 0);
}