IGnssDebug.hal change field outputs for dump()
Aligning the dump() string build to match the new
API fields in IGnssDebug.hal
Bug: 30955615
Test: Builds and non-implementation message reported on Pixel '16
Change-Id: I9e60c87e9c5a5ee2bc20e3f54eb878bd472515c1
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index 78d8b53..86662b9 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -1457,33 +1457,44 @@
/*
* TODO(b/33089503) : Create a jobject to represent GnssDebug.
*/
- if (gnssDebugIface != nullptr) {
+
+ std::stringstream internalState;
+
+ if (gnssDebugIface == nullptr) {
+ internalState << "Gnss Debug Interface not available" << std::endl;
+ } else {
IGnssDebug::DebugData data;
gnssDebugIface->getDebugData([&data](const IGnssDebug::DebugData& debugData) {
data = debugData;
});
- std::stringstream internalState;
- if (data.position.valid) {
- internalState << "Gnss Location Data:: LatitudeDegrees: " << data.position.latitudeDegrees
+ internalState << "Gnss Location Data:: ";
+ if (!data.position.valid) {
+ internalState << "not valid";
+ } else {
+ internalState << "LatitudeDegrees: " << data.position.latitudeDegrees
<< ", LongitudeDegrees: " << data.position.longitudeDegrees
<< ", altitudeMeters: " << data.position.altitudeMeters
<< ", speedMetersPerSecond: " << data.position.speedMetersPerSec
<< ", bearingDegrees: " << data.position.bearingDegrees
- << ", horizontalAccuracyMeters: " << data.position.horizontalAccuracyMeters
+ << ", horizontalAccuracyMeters: "
+ << data.position.horizontalAccuracyMeters
<< ", verticalAccuracyMeters: " << data.position.verticalAccuracyMeters
- << ", speedAccuracyMetersPerSecond: " << data.position.speedAccuracyMetersPerSecond
+ << ", speedAccuracyMetersPerSecond: "
+ << data.position.speedAccuracyMetersPerSecond
<< ", bearingAccuracyDegrees: " << data.position.bearingAccuracyDegrees
- << ", ageSeconds: " << data.position.ageSeconds << std::endl;
+ << ", ageSeconds: " << data.position.ageSeconds;
}
+ internalState << std::endl;
- if (data.time.valid) {
- internalState << "Gnss Time Data:: timeEstimate: " << data.time.timeEstimate
- << ", timeUncertaintyNs: " << data.time.timeUncertaintyNs << std::endl;
- }
+ internalState << "Gnss Time Data:: timeEstimate: " << data.time.timeEstimate
+ << ", timeUncertaintyNs: " << data.time.timeUncertaintyNs
+ << ", frequencyUncertaintyNsPerSec: "
+ << data.time.frequencyUncertaintyNsPerSec << std::endl;
if (data.satelliteDataArray.size() != 0) {
- internalState << "Satellite Data:: ";
+ internalState << "Satellite Data for " << data.satelliteDataArray.size()
+ << " satellites:: " << std::endl;
}
for (size_t i = 0; i < data.satelliteDataArray.size(); i++) {
@@ -1492,11 +1503,20 @@
<< static_cast<uint32_t>(data.satelliteDataArray[i].constellation)
<< ", ephemerisType: "
<< static_cast<uint32_t>(data.satelliteDataArray[i].ephemerisType)
+ << ", ephemerisSource: "
+ << static_cast<uint32_t>(data.satelliteDataArray[i].ephemerisSource)
+ << ", ephemerisHealth: "
+ << static_cast<uint32_t>(data.satelliteDataArray[i].ephemerisHealth)
+ << ", serverPredictionIsAvailable: "
+ << data.satelliteDataArray[i].serverPredictionIsAvailable
+ << ", serverPredictionAgeSeconds: "
+ << data.satelliteDataArray[i].serverPredictionAgeSeconds
<< ", ephemerisAgeSeconds: "
<< data.satelliteDataArray[i].ephemerisAgeSeconds << std::endl;
}
- result = env->NewStringUTF(internalState.str().c_str());
}
+
+ result = env->NewStringUTF(internalState.str().c_str());
return result;
}