Add GnssAssistanceInterface AIDL HAL
Test: atest VtsHalGnssTargetTest
Bug: 358381377
Change-Id: I18419f56b253013f59b848a66f3cd9b7605ca187
diff --git a/gnss/aidl/vts/Android.bp b/gnss/aidl/vts/Android.bp
index 2bd6f07..20cf44f 100644
--- a/gnss/aidl/vts/Android.bp
+++ b/gnss/aidl/vts/Android.bp
@@ -52,7 +52,7 @@
"libbinder",
],
static_libs: [
- "android.hardware.gnss-V4-cpp",
+ "android.hardware.gnss-V5-cpp",
"android.hardware.gnss@common-vts-lib",
],
test_suites: [
diff --git a/gnss/aidl/vts/gnss_hal_test_cases.cpp b/gnss/aidl/vts/gnss_hal_test_cases.cpp
index e4890a7..a2e81d1 100644
--- a/gnss/aidl/vts/gnss_hal_test_cases.cpp
+++ b/gnss/aidl/vts/gnss_hal_test_cases.cpp
@@ -25,6 +25,7 @@
#include <android/hardware/gnss/IGnssMeasurementInterface.h>
#include <android/hardware/gnss/IGnssPowerIndication.h>
#include <android/hardware/gnss/IGnssPsds.h>
+#include <android/hardware/gnss/gnss_assistance/IGnssAssistanceInterface.h>
#include <android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsInterface.h>
#include <android/hardware/gnss/visibility_control/IGnssVisibilityControl.h>
#include <cutils/properties.h>
@@ -73,6 +74,8 @@
using android::hardware::gnss::PsdsType;
using android::hardware::gnss::SatellitePvt;
using android::hardware::gnss::common::Utils;
+using android::hardware::gnss::gnss_assistance::GnssAssistance;
+using android::hardware::gnss::gnss_assistance::IGnssAssistanceInterface;
using android::hardware::gnss::measurement_corrections::IMeasurementCorrectionsInterface;
using android::hardware::gnss::visibility_control::IGnssVisibilityControl;
@@ -1877,3 +1880,22 @@
}
}
}
+
+/*
+ * Test GnssAssistanceExtension:
+ * 1. Gets the GnssAssistanceExtension
+ * 2. Injects empty GnssAssistance data and verifies that it returns an error.
+ */
+TEST_P(GnssHalTest, TestGnssAssistanceExtension) {
+ // Only runs on devices launched in Android 16+
+ if (aidl_gnss_hal_->getInterfaceVersion() <= 4) {
+ return;
+ }
+ sp<IGnssAssistanceInterface> iGnssAssistance;
+ auto status = aidl_gnss_hal_->getExtensionGnssAssistanceInterface(&iGnssAssistance);
+ if (status.isOk() && iGnssAssistance != nullptr) {
+ GnssAssistance gnssAssistance = {};
+ status = iGnssAssistance->injectGnssAssistance(gnssAssistance);
+ ASSERT_FALSE(status.isOk());
+ }
+}