diff options
author | Zhoulu Luo <zluo@codeaurora.org> | 2014-09-17 16:30:49 -0700 |
---|---|---|
committer | Zhoulu Luo <zluo@codeaurora.org> | 2014-09-18 12:26:41 -0700 |
commit | 9fe51b7593eb33e9ccfcb8472fd1f0922df28052 (patch) | |
tree | 358338f0f83eab45c24412fb7dd65d81ab1a1968 | |
parent | dd58e6c7952fa203dbb83d166673a1047ad9e94e (diff) | |
parent | 20cb82cbf9396ca01e222bf099f3537a9fb7da4f (diff) | |
download | gps-9fe51b7593eb33e9ccfcb8472fd1f0922df28052.tar.gz |
Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.161' into HEAD
AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk
Conflicts:
loc_api/libloc_api_50001/loc_eng.cpp
loc_api/libloc_api_50001/loc_eng.h
Change-Id: Ib51f82aa83a2aa7ea63a10efffe5e7eef8a5d135
-rw-r--r-- | core/Android.mk | 4 | ||||
-rw-r--r-- | core/loc_core_log.cpp | 2 | ||||
-rw-r--r-- | etc/gps.conf | 6 | ||||
-rw-r--r-- | loc_api/libloc_api_50001/loc_eng.cpp | 35 | ||||
-rw-r--r-- | loc_api/libloc_api_50001/loc_eng.h | 7 |
5 files changed, 46 insertions, 8 deletions
diff --git a/core/Android.mk b/core/Android.mk index 3e2b2eb..e076dcc 100644 --- a/core/Android.mk +++ b/core/Android.mk @@ -10,6 +10,10 @@ LOCAL_MODULE_OWNER := qcom LOCAL_MODULE_TAGS := optional +ifeq ($(TARGET_DEVICE),apq8026_lw) +LOCAL_CFLAGS += -DPDK_FEATURE_SET +endif + LOCAL_SHARED_LIBRARIES := \ libutils \ libcutils \ diff --git a/core/loc_core_log.cpp b/core/loc_core_log.cpp index d2eda66..1b22010 100644 --- a/core/loc_core_log.cpp +++ b/core/loc_core_log.cpp @@ -116,6 +116,7 @@ static loc_name_val_s_type loc_eng_aiding_data_bits[] = NAME_VAL( GPS_DELETE_SADATA ), NAME_VAL( GPS_DELETE_RTI ), NAME_VAL( GPS_DELETE_CELLDB_INFO ), +#ifndef PDK_FEATURE_SET NAME_VAL( GPS_DELETE_ALMANAC_CORR ), NAME_VAL( GPS_DELETE_FREQ_BIAS_EST ), NAME_VAL( GLO_DELETE_EPHEMERIS ), @@ -131,6 +132,7 @@ static loc_name_val_s_type loc_eng_aiding_data_bits[] = NAME_VAL( BDS_DELETE_ALMANAC_CORR ), NAME_VAL( BDS_DELETE_EPHEMERIS ), NAME_VAL( BDS_DELETE_ALMANAC ), +#endif NAME_VAL( GPS_DELETE_ALL) }; static int loc_eng_aiding_data_bit_num = sizeof(loc_eng_aiding_data_bits) / sizeof(loc_name_val_s_type); diff --git a/etc/gps.conf b/etc/gps.conf index 678cbab..2524242 100644 --- a/etc/gps.conf +++ b/etc/gps.conf @@ -1,8 +1,8 @@ #Uncommenting these urls would only enable #the power up auto injection and force injection(test case). -#XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin -#XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin -#XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin +#XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin +#XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin +#XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin #Version check for XTRA #DISABLE = 0 diff --git a/loc_api/libloc_api_50001/loc_eng.cpp b/loc_api/libloc_api_50001/loc_eng.cpp index 17d0871..d62d4ad 100644 --- a/loc_api/libloc_api_50001/loc_eng.cpp +++ b/loc_api/libloc_api_50001/loc_eng.cpp @@ -44,7 +44,7 @@ #include <sys/time.h> #include <netdb.h> #include <time.h> - +#include <new> #include <LocEngAdapter.h> #include <cutils/sched_policy.h> @@ -84,6 +84,8 @@ #define SAP_CONF_FILE "/etc/sap.conf" #endif +#define XTRA1_GPSONEXTRA "xtra1.gpsonextra.net" + using namespace loc_core; boolean configAlreadyRead = false; @@ -119,6 +121,9 @@ static loc_param_s_type loc_parameter_table[] = {"A_GLONASS_POS_PROTOCOL_SELECT", &gps_conf.A_GLONASS_POS_PROTOCOL_SELECT, NULL, 'n'}, {"SENSOR_PROVIDER", &sap_conf.SENSOR_PROVIDER, NULL, 'n'}, {"XTRA_VERSION_CHECK", &gps_conf.XTRA_VERSION_CHECK, NULL, 'n'}, + {"XTRA_SERVER_1", &gps_conf.XTRA_SERVER_1, NULL, 's'}, + {"XTRA_SERVER_2", &gps_conf.XTRA_SERVER_2, NULL, 's'}, + {"XTRA_SERVER_3", &gps_conf.XTRA_SERVER_3, NULL, 's'}, {"AGPS_CERT_WRITABLE_MASK", &gps_conf.AGPS_CERT_WRITABLE_MASK, NULL, 'n'} }; @@ -932,12 +937,34 @@ LocEngReportXtraServer::LocEngReportXtraServer(void* locEng, LocMsg(), mLocEng(locEng), mMaxLen(maxlength), mServers(new char[3*(mMaxLen+1)]) { + char * cptr = mServers; memset(mServers, 0, 3*(mMaxLen+1)); - strlcpy(mServers, url1, mMaxLen); - strlcpy(&(mServers[mMaxLen+1]), url2, mMaxLen); - strlcpy(&(mServers[(mMaxLen+1)<<1]), url3, mMaxLen); + + // Override modem URLs with uncommented gps.conf urls + if( gps_conf.XTRA_SERVER_1[0] != '\0' ) { + url1 = &gps_conf.XTRA_SERVER_1[0]; + } + if( gps_conf.XTRA_SERVER_2[0] != '\0' ) { + url2 = &gps_conf.XTRA_SERVER_2[0]; + } + if( gps_conf.XTRA_SERVER_3[0] != '\0' ) { + url3 = &gps_conf.XTRA_SERVER_3[0]; + } + // copy non xtra1.gpsonextra.net URLs into the forwarding buffer. + if( NULL == strcasestr(url1, XTRA1_GPSONEXTRA) ) { + strlcpy(cptr, url1, mMaxLen + 1); + cptr += mMaxLen + 1; + } + if( NULL == strcasestr(url2, XTRA1_GPSONEXTRA) ) { + strlcpy(cptr, url2, mMaxLen + 1); + cptr += mMaxLen + 1; + } + if( NULL == strcasestr(url3, XTRA1_GPSONEXTRA) ) { + strlcpy(cptr, url3, mMaxLen + 1); + } locallog(); } + void LocEngReportXtraServer::proc() const { loc_eng_xtra_data_s_type* locEngXtra = &(((loc_eng_data_s_type*)mLocEng)->xtra_module_data); diff --git a/loc_api/libloc_api_50001/loc_eng.h b/loc_api/libloc_api_50001/loc_eng.h index 99364cd..2ee44ee 100644 --- a/loc_api/libloc_api_50001/loc_eng.h +++ b/loc_api/libloc_api_50001/loc_eng.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2009-2014, The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -67,6 +67,8 @@ typedef unsigned char boolean; #define FAILURE FALSE #define INVALID_ATL_CONNECTION_HANDLE -1 +#define MAX_XTRA_SERVER_URL_LENGTH 256 + enum loc_nmea_provider_e_type { NMEA_PROVIDER_AP = 0, // Application Processor Provider of NMEA NMEA_PROVIDER_MP // Modem Processor Provider of NMEA @@ -147,6 +149,9 @@ typedef struct loc_gps_cfg_s uint8_t NMEA_PROVIDER; unsigned long A_GLONASS_POS_PROTOCOL_SELECT; unsigned long XTRA_VERSION_CHECK; + char XTRA_SERVER_1[MAX_XTRA_SERVER_URL_LENGTH]; + char XTRA_SERVER_2[MAX_XTRA_SERVER_URL_LENGTH]; + char XTRA_SERVER_3[MAX_XTRA_SERVER_URL_LENGTH]; unsigned long AGPS_CERT_WRITABLE_MASK; } loc_gps_cfg_s_type; |