Add RealTimeIntegrityModel to Glonass

- Add RealTimeIntegrityModel to Glonass
- AuxiliaryInformation should be array
- Make GnssAssistance fields nullable

Bug: 404694257
Test: atest VtsHalGnssTargetTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:228412b53998e08ef28cf08090cf77f94922946b)
Merged-In: I453b6419ee64f28e88e383b98fd8d915c735ddf1
Change-Id: I453b6419ee64f28e88e383b98fd8d915c735ddf1
diff --git a/gnss/aidl/vts/Android.bp b/gnss/aidl/vts/Android.bp
index 20cf44f..bb5dfbd 100644
--- a/gnss/aidl/vts/Android.bp
+++ b/gnss/aidl/vts/Android.bp
@@ -52,7 +52,7 @@
         "libbinder",
     ],
     static_libs: [
-        "android.hardware.gnss-V5-cpp",
+        "android.hardware.gnss-V6-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 781476fd..8a1e5d3 100644
--- a/gnss/aidl/vts/gnss_hal_test_cases.cpp
+++ b/gnss/aidl/vts/gnss_hal_test_cases.cpp
@@ -74,12 +74,15 @@
 using android::hardware::gnss::PsdsType;
 using android::hardware::gnss::SatellitePvt;
 using android::hardware::gnss::common::Utils;
+using android::hardware::gnss::gnss_assistance::AuxiliaryInformation;
 using android::hardware::gnss::gnss_assistance::GnssAssistance;
+using android::hardware::gnss::gnss_assistance::GpsSatelliteEphemeris;
 using android::hardware::gnss::gnss_assistance::IGnssAssistanceInterface;
 using android::hardware::gnss::measurement_corrections::IMeasurementCorrectionsInterface;
 using android::hardware::gnss::visibility_control::IGnssVisibilityControl;
 
 using GnssConstellationTypeV2_0 = android::hardware::gnss::V2_0::GnssConstellationType;
+using GpsAssistance = android::hardware::gnss::gnss_assistance::GnssAssistance::GpsAssistance;
 
 static bool IsAutomotiveDevice() {
     char buffer[PROPERTY_VALUE_MAX] = {0};
@@ -1923,17 +1926,24 @@
  * Test GnssAssistanceExtension:
  * 1. Gets the GnssAssistanceExtension
  * 2. Injects empty GnssAssistance data and verifies that it returns an error.
+ * 3. Injects non-empty GnssAssistance data and verifies that a success status is returned.
  */
 TEST_P(GnssHalTest, TestGnssAssistanceExtension) {
     // Only runs on devices launched in Android 16+
-    if (aidl_gnss_hal_->getInterfaceVersion() <= 4) {
+    if (aidl_gnss_hal_->getInterfaceVersion() <= 5) {
         return;
     }
     sp<IGnssAssistanceInterface> iGnssAssistance;
     auto status = aidl_gnss_hal_->getExtensionGnssAssistanceInterface(&iGnssAssistance);
     if (status.isOk() && iGnssAssistance != nullptr) {
-        GnssAssistance gnssAssistance = {};
-        status = iGnssAssistance->injectGnssAssistance(gnssAssistance);
+        GnssAssistance emptyGnssAssistance;
+        status = iGnssAssistance->injectGnssAssistance(emptyGnssAssistance);
         ASSERT_FALSE(status.isOk());
+
+        GnssAssistance nonEmptyGnssAssistance;
+        nonEmptyGnssAssistance.gpsAssistance.emplace();
+        nonEmptyGnssAssistance.gpsAssistance->satelliteEphemeris.emplace_back();
+        status = iGnssAssistance->injectGnssAssistance(nonEmptyGnssAssistance);
+        ASSERT_TRUE(status.isOk());
     }
-}
+}
\ No newline at end of file