diff options
author | Cyan_Hsieh <cyanhsieh@google.com> | 2019-10-23 16:59:50 +0800 |
---|---|---|
committer | Cyan_Hsieh <cyanhsieh@google.com> | 2019-10-23 16:59:50 +0800 |
commit | 53e16b1d5f92148e5b210f9e0ae07796acc773f5 (patch) | |
tree | d7ee3704640d162cad7f0aa11092ed3142c7f631 /android/2.0 | |
parent | 589705ca19053b4f59ca45e2676f51b5534103d5 (diff) | |
parent | dcc7a97b89055222d9a8369f94a3ac9197314441 (diff) | |
download | gps-53e16b1d5f92148e5b210f9e0ae07796acc773f5.tar.gz |
Merge remote-tracking branch 'goog/qcom/release/LA.UM.8.9.R1.10.00.00.558.049' into qt-qpr1-dev
Conflicts:
android/dummy/Android.mk
Bug: 142854653
Change-Id: I4da9aa6bd0194897d539c3e9ab5a84a2b5bc32d4
Diffstat (limited to 'android/2.0')
-rw-r--r-- | android/2.0/AGnss.cpp | 2 | ||||
-rw-r--r-- | android/2.0/AGnssRil.cpp | 30 | ||||
-rw-r--r-- | android/2.0/GnssConfiguration.cpp | 38 | ||||
-rw-r--r-- | android/2.0/location_api/GnssAPIClient.cpp | 4 | ||||
-rw-r--r-- | android/2.0/service.cpp | 3 |
5 files changed, 55 insertions, 22 deletions
diff --git a/android/2.0/AGnss.cpp b/android/2.0/AGnss.cpp index 7bd015e..a48f1a0 100644 --- a/android/2.0/AGnss.cpp +++ b/android/2.0/AGnss.cpp @@ -107,7 +107,7 @@ Return<void> AGnss::setCallback(const sp<V2_0::IAGnssCallback>& callback) { AgpsCbInfo cbInfo = {}; cbInfo.statusV4Cb = (void*)agnssStatusIpV4Cb; - cbInfo.cbPriority = AGPS_CB_PRIORITY_HIGH; + cbInfo.atlType = AGPS_ATL_TYPE_SUPL | AGPS_ATL_TYPE_SUPL_ES; mGnss->getGnssInterface()->agpsInit(cbInfo); return Void(); diff --git a/android/2.0/AGnssRil.cpp b/android/2.0/AGnssRil.cpp index 9de8b7d..a477fc2 100644 --- a/android/2.0/AGnssRil.cpp +++ b/android/2.0/AGnssRil.cpp @@ -57,29 +57,29 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool // for XTRA if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) { - int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN; + int8_t typeout = loc_core::TYPE_UNKNOWN; switch(type) { case IAGnssRil::NetworkType::MOBILE: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE; + typeout = loc_core::TYPE_MOBILE; break; case IAGnssRil::NetworkType::WIFI: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI; + typeout = loc_core::TYPE_WIFI; break; case IAGnssRil::NetworkType::MMS: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_MMS; + typeout = loc_core::TYPE_MMS; break; case IAGnssRil::NetworkType::SUPL: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_SUPL; + typeout = loc_core::TYPE_SUPL; break; case IAGnssRil::NetworkType::DUN: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_DUN; + typeout = loc_core::TYPE_DUN; break; case IAGnssRil::NetworkType::HIPRI: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_HIPRI; + typeout = loc_core::TYPE_HIPRI; break; case IAGnssRil::NetworkType::WIMAX: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIMAX; + typeout = loc_core::TYPE_WIMAX; break; default: { @@ -88,16 +88,16 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool switch(networkType) { case NetworkType_BLUETOOTH: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_BLUETOOTH; + typeout = loc_core::TYPE_BLUETOOTH; break; case NetworkType_ETHERNET: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_ETHERNET; + typeout = loc_core::TYPE_ETHERNET; break; case NetworkType_PROXY: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_PROXY; + typeout = loc_core::TYPE_PROXY; break; default: - typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN; + typeout = loc_core::TYPE_UNKNOWN; } } break; @@ -110,12 +110,12 @@ Return<bool> AGnssRil::updateNetworkState_2_0(const V2_0::IAGnssRil::NetworkAttr ENTRY_LOG_CALLFLOW(); if (nullptr != mGnss && (nullptr != mGnss->getGnssInterface())) { - int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN; + int8_t typeout = loc_core::TYPE_UNKNOWN; bool roaming = false; if (attributes.capabilities & IAGnssRil::NetworkCapability::NOT_METERED) { - typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI; + typeout = loc_core::TYPE_WIFI; } else { - typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE; + typeout = loc_core::TYPE_MOBILE; } if (attributes.capabilities & IAGnssRil::NetworkCapability::NOT_ROAMING) { roaming = false; diff --git a/android/2.0/GnssConfiguration.cpp b/android/2.0/GnssConfiguration.cpp index d2a8763..363d2b1 100644 --- a/android/2.0/GnssConfiguration.cpp +++ b/android/2.0/GnssConfiguration.cpp @@ -23,6 +23,7 @@ #include <log_util.h> #include "Gnss.h" #include "GnssConfiguration.h" +#include "ContextBase.h" #include <android/hardware/gnss/1.0/types.h> namespace android { @@ -32,6 +33,7 @@ namespace V2_0 { namespace implementation { using ::android::hardware::gnss::V1_0::GnssConstellationType; +using namespace loc_core; GnssConfiguration::GnssConfiguration(Gnss* gnss) : mGnss(gnss) { } @@ -109,8 +111,7 @@ Return<bool> GnssConfiguration::setLppProfile(uint8_t lppProfile) { return false; } - GnssConfig config; - memset(&config, 0, sizeof(GnssConfig)); + GnssConfig config = {}; config.size = sizeof(GnssConfig); config.flags = GNSS_CONFIG_FLAGS_LPP_PROFILE_VALID_BIT; switch (lppProfile) { @@ -162,8 +163,37 @@ Return<bool> GnssConfiguration::setGlonassPositioningProtocol(uint8_t protocol) return mGnss->updateConfiguration(config); } -Return<bool> GnssConfiguration::setGpsLock(uint8_t /*lock*/) { - // deprecated function. Must return false to pass VTS +Return<bool> GnssConfiguration::setGpsLock(uint8_t lock) { + + if (mGnss == nullptr) { + LOC_LOGE("%s]: mGnss is nullptr", __FUNCTION__); + return false; + } + + GnssConfig config = {}; + config.size = sizeof(GnssConfig); + config.flags = GNSS_CONFIG_FLAGS_GPS_LOCK_VALID_BIT; + switch (lock) { + case 0: + config.gpsLock = GNSS_CONFIG_GPS_LOCK_NONE; + break; + case 1: + config.gpsLock = GNSS_CONFIG_GPS_LOCK_MO; + break; + case 2: + config.gpsLock = GNSS_CONFIG_GPS_LOCK_NI; + break; + case 3: + config.gpsLock = GNSS_CONFIG_GPS_LOCK_MO_AND_NI; + break; + default: + LOC_LOGE("%s]: invalid lock: %d.", __FUNCTION__, lock); + return false; + break; + } + + mGnss->updateConfiguration(config); + // Must return false to pass VTS return false; } diff --git a/android/2.0/location_api/GnssAPIClient.cpp b/android/2.0/location_api/GnssAPIClient.cpp index ffe9075..a3cdd27 100644 --- a/android/2.0/location_api/GnssAPIClient.cpp +++ b/android/2.0/location_api/GnssAPIClient.cpp @@ -279,7 +279,9 @@ void GnssAPIClient::gnssDeleteAidingData(IGnss::GnssAidingData aidingDataFlags) GNSS_AIDING_DATA_SV_TYPE_GLONASS_BIT | GNSS_AIDING_DATA_SV_TYPE_QZSS_BIT | GNSS_AIDING_DATA_SV_TYPE_BEIDOU_BIT | - GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT; + GNSS_AIDING_DATA_SV_TYPE_GALILEO_BIT | + GNSS_AIDING_DATA_SV_TYPE_NAVIC_BIT; + data.posEngineMask = STANDARD_POSITIONING_ENGINE; if (aidingDataFlags == IGnss::GnssAidingData::DELETE_ALL) data.deleteAll = true; diff --git a/android/2.0/service.cpp b/android/2.0/service.cpp index 16f0b06..664c661 100644 --- a/android/2.0/service.cpp +++ b/android/2.0/service.cpp @@ -48,7 +48,8 @@ int main() { ALOGI("%s", __FUNCTION__); - bool vendorEnhanced = isRunningWithVendorEnhancedFramework(); + int vendorInfo = getVendorEnhancedInfo(); + bool vendorEnhanced = ( 1 == vendorInfo || 3 == vendorInfo ); setVendorEnhanced(vendorEnhanced); #ifdef ARCH_ARM_32 |