summaryrefslogtreecommitdiff
path: root/gnss/aidl/default/GnssMeasurementInterface.cpp
diff options
context:
space:
mode:
authorHaamed Gheibi <haamed@google.com>2021-09-30 03:31:03 +0000
committerHaamed Gheibi <haamed@google.com>2021-09-30 03:32:37 +0000
commit0d25a36c4a05b7dc1fe833d311cba0abd1979db7 (patch)
treeb9bb668d79bdb511337c63d71f724fd7c5d16cad /gnss/aidl/default/GnssMeasurementInterface.cpp
parent41b783ac627a1562c9959d2a309339c43e89ee95 (diff)
parente58dbcf0de859ade425f22b62a45259449ae538d (diff)
Merge TP1A.210812.002
Bug: 198367246 Change-Id: I64df13aefdc06c8bb9f9b3a4256c41879e15e515
Diffstat (limited to 'gnss/aidl/default/GnssMeasurementInterface.cpp')
-rw-r--r--gnss/aidl/default/GnssMeasurementInterface.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/gnss/aidl/default/GnssMeasurementInterface.cpp b/gnss/aidl/default/GnssMeasurementInterface.cpp
index fcc1f986cc..0e489c59e4 100644
--- a/gnss/aidl/default/GnssMeasurementInterface.cpp
+++ b/gnss/aidl/default/GnssMeasurementInterface.cpp
@@ -19,11 +19,13 @@
#include "GnssMeasurementInterface.h"
#include <aidl/android/hardware/gnss/BnGnss.h>
#include <log/log.h>
+#include "GnssReplayUtils.h"
#include "Utils.h"
namespace aidl::android::hardware::gnss {
using Utils = ::android::hardware::gnss::common::Utils;
+using ReplayUtils = ::android::hardware::gnss::common::ReplayUtils;
std::shared_ptr<IGnssMeasurementCallback> GnssMeasurementInterface::sCallback = nullptr;
@@ -63,9 +65,22 @@ void GnssMeasurementInterface::start(const bool enableCorrVecOutputs) {
mIsActive = true;
mThread = std::thread([this, enableCorrVecOutputs]() {
while (mIsActive == true) {
- auto measurement = Utils::getMockMeasurement(enableCorrVecOutputs);
- this->reportMeasurement(measurement);
-
+ std::string rawMeasurementStr = "";
+ if (ReplayUtils::hasGnssDeviceFile() &&
+ ReplayUtils::isGnssRawMeasurement(
+ rawMeasurementStr = ReplayUtils::getDataFromDeviceFile(
+ std::string(
+ ::android::hardware::gnss::common::CMD_GET_RAWMEASUREMENT),
+ mMinIntervalMillis))) {
+ // TODO: implement rawMeasurementStr parser and report measurement.
+ ALOGD("rawMeasurementStr(size: %zu) from device file: %s", rawMeasurementStr.size(),
+ rawMeasurementStr.c_str());
+ auto measurement = Utils::getMockMeasurement(enableCorrVecOutputs);
+ this->reportMeasurement(measurement);
+ } else {
+ auto measurement = Utils::getMockMeasurement(enableCorrVecOutputs);
+ this->reportMeasurement(measurement);
+ }
std::this_thread::sleep_for(std::chrono::milliseconds(mMinIntervalMillis));
}
});