diff options
Diffstat (limited to 'gps/android/AGnssRil.cpp')
-rw-r--r-- | gps/android/AGnssRil.cpp | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/gps/android/AGnssRil.cpp b/gps/android/AGnssRil.cpp index bd4bb37..d790bae 100644 --- a/gps/android/AGnssRil.cpp +++ b/gps/android/AGnssRil.cpp @@ -29,6 +29,8 @@ #include <string> #include "Gnss.h" #include "AGnssRil.h" +#include <DataItemConcreteTypesBase.h> + typedef void* (getLocationInterface)(); namespace android { @@ -51,7 +53,35 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool // for XTRA if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) { - mGnss->getGnssInterface()->updateConnectionStatus(connected, (uint8_t)type); + int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN; + switch(type) + { + case IAGnssRil::NetworkType::MOBILE: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE; + break; + case IAGnssRil::NetworkType::WIFI: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI; + break; + case IAGnssRil::NetworkType::MMS: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_MMS; + break; + case IAGnssRil::NetworkType::SUPL: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_SUPL; + break; + case IAGnssRil::NetworkType::DUN: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_DUN; + break; + case IAGnssRil::NetworkType::HIPRI: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_HIPRI; + break; + case IAGnssRil::NetworkType::WIMAX: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIMAX; + break; + default: + typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN; + break; + } + mGnss->getGnssInterface()->updateConnectionStatus(connected, typeout); } return true; } |