summaryrefslogtreecommitdiff
path: root/gnss/common/utils/default/FixLocationParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnss/common/utils/default/FixLocationParser.cpp')
-rw-r--r--gnss/common/utils/default/FixLocationParser.cpp37
1 files changed, 18 insertions, 19 deletions
diff --git a/gnss/common/utils/default/FixLocationParser.cpp b/gnss/common/utils/default/FixLocationParser.cpp
index f0177b49c5..f391d96616 100644
--- a/gnss/common/utils/default/FixLocationParser.cpp
+++ b/gnss/common/utils/default/FixLocationParser.cpp
@@ -16,14 +16,15 @@
#include "FixLocationParser.h"
-#include <android/hardware/gnss/1.0/IGnss.h>
-
namespace android {
namespace hardware {
namespace gnss {
namespace common {
-std::unique_ptr<V2_0::GnssLocation> FixLocationParser::getLocationFromInputStr(
+using aidl::android::hardware::gnss::ElapsedRealtime;
+using aidl::android::hardware::gnss::GnssLocation;
+
+std::unique_ptr<GnssLocation> FixLocationParser::getLocationFromInputStr(
const std::string& locationStr) {
/*
* Fix,Provider,LatitudeDegrees,LongitudeDegrees,AltitudeMeters,SpeedMps,
@@ -44,33 +45,31 @@ std::unique_ptr<V2_0::GnssLocation> FixLocationParser::getLocationFromInputStr(
if (locationValues.size() < 12) {
return nullptr;
}
- V2_0::ElapsedRealtime elapsedRealtime = {
- .flags = V2_0::ElapsedRealtimeFlags::HAS_TIMESTAMP_NS |
- V2_0::ElapsedRealtimeFlags::HAS_TIME_UNCERTAINTY_NS,
- .timestampNs = static_cast<uint64_t>(::android::elapsedRealtimeNano()),
+ ElapsedRealtime elapsedRealtime = {
+ .flags = ElapsedRealtime::HAS_TIMESTAMP_NS | ElapsedRealtime::HAS_TIME_UNCERTAINTY_NS,
+ .timestampNs = ::android::elapsedRealtimeNano(),
// This is an hardcoded value indicating a 1ms of uncertainty between the two clocks.
// In an actual implementation provide an estimate of the synchronization uncertainty
// or don't set the field.
.timeUncertaintyNs = 1020400};
- V1_0::GnssLocation locationV1 = {
+ GnssLocation location = {
.gnssLocationFlags = 0xFF,
.latitudeDegrees = ParseUtils::tryParseDouble(locationValues[2], 0),
.longitudeDegrees = ParseUtils::tryParseDouble(locationValues[3], 0),
.altitudeMeters = ParseUtils::tryParseDouble(locationValues[4], 0),
- .speedMetersPerSec = ParseUtils::tryParsefloat(locationValues[5], 0),
- .bearingDegrees = ParseUtils::tryParsefloat(locationValues[7], 0),
- .horizontalAccuracyMeters = ParseUtils::tryParsefloat(locationValues[6], 0),
- .verticalAccuracyMeters = ParseUtils::tryParsefloat(locationValues[6], 0),
- .speedAccuracyMetersPerSecond = ParseUtils::tryParsefloat(locationValues[9], 0),
- .bearingAccuracyDegrees = ParseUtils::tryParsefloat(locationValues[10], 0),
- .timestamp = ParseUtils::tryParseLongLong(locationValues[8], 0)};
-
- V2_0::GnssLocation locationV2 = {.v1_0 = locationV1, .elapsedRealtime = elapsedRealtime};
- return std::make_unique<V2_0::GnssLocation>(locationV2);
+ .speedMetersPerSec = ParseUtils::tryParseDouble(locationValues[5], 0),
+ .bearingDegrees = ParseUtils::tryParseDouble(locationValues[7], 0),
+ .horizontalAccuracyMeters = ParseUtils::tryParseDouble(locationValues[6], 0),
+ .verticalAccuracyMeters = ParseUtils::tryParseDouble(locationValues[6], 0),
+ .speedAccuracyMetersPerSecond = ParseUtils::tryParseDouble(locationValues[9], 0),
+ .bearingAccuracyDegrees = ParseUtils::tryParseDouble(locationValues[10], 0),
+ .timestampMillis = ParseUtils::tryParseLongLong(locationValues[8], 0),
+ .elapsedRealtime = elapsedRealtime};
+ return std::make_unique<GnssLocation>(location);
}
} // namespace common
} // namespace gnss
} // namespace hardware
-} // namespace android
+} // namespace android \ No newline at end of file