[automerge] Support vendor GNSS file properties for AAOS virtualization 2p: 9447139c92
Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/interfaces/+/16989257
Bug: 213489959
Change-Id: I1879b5176020c8dbba93b423462932f3cdf1c388
diff --git a/gnss/common/utils/default/GnssReplayUtils.cpp b/gnss/common/utils/default/GnssReplayUtils.cpp
index b27943e..d6769bd 100644
--- a/gnss/common/utils/default/GnssReplayUtils.cpp
+++ b/gnss/common/utils/default/GnssReplayUtils.cpp
@@ -16,24 +16,42 @@
#include "GnssReplayUtils.h"
+#include <array>
+
namespace android {
namespace hardware {
namespace gnss {
namespace common {
std::string ReplayUtils::getGnssPath() {
- char devname_value[PROPERTY_VALUE_MAX] = "";
- if (property_get("debug.location.gnss.devname", devname_value, NULL) > 0) {
- return devname_value;
+ std::array<char, PROPERTY_VALUE_MAX> devname_value;
+
+ devname_value.fill(0);
+ if (property_get("debug.location.gnss.devname", devname_value.begin(), NULL) > 0) {
+ return devname_value.begin();
}
+
+ devname_value.fill(0);
+ if (property_get("vendor.ser.gnss-uart", devname_value.begin(), NULL) > 0) {
+ return devname_value.begin();
+ }
+
return GNSS_PATH;
}
std::string ReplayUtils::getFixedLocationPath() {
- char devname_value[PROPERTY_VALUE_MAX] = "";
- if (property_get("debug.location.fixedlocation.devname", devname_value, NULL) > 0) {
- return devname_value;
+ std::array<char, PROPERTY_VALUE_MAX> devname_value;
+
+ devname_value.fill(0);
+ if (property_get("debug.location.fixedlocation.devname", devname_value.begin(), NULL) > 0) {
+ return devname_value.begin();
}
+
+ devname_value.fill(0);
+ if (property_get("vendor.ser.gnss-uart", devname_value.begin(), NULL) > 0) {
+ return devname_value.begin();
+ }
+
return FIXED_LOCATION_PATH;
}