Merge "drm@1.4: API to retrieve plugin log messages" into sc-dev
diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml
index f125df2..8e44be0 100644
--- a/compatibility_matrices/compatibility_matrix.current.xml
+++ b/compatibility_matrices/compatibility_matrix.current.xml
@@ -517,7 +517,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.soundtrigger</name>
-        <version>2.0-3</version>
+        <version>2.3</version>
         <interface>
             <name>ISoundTriggerHw</name>
             <instance>default</instance>
diff --git a/power/stats/aidl/aidl_api/android.hardware.power.stats/current/android/hardware/power/stats/IPowerStats.aidl b/power/stats/aidl/aidl_api/android.hardware.power.stats/current/android/hardware/power/stats/IPowerStats.aidl
index 0b6387e..5b11695 100644
--- a/power/stats/aidl/aidl_api/android.hardware.power.stats/current/android/hardware/power/stats/IPowerStats.aidl
+++ b/power/stats/aidl/aidl_api/android.hardware.power.stats/current/android/hardware/power/stats/IPowerStats.aidl
@@ -38,5 +38,5 @@
   android.hardware.power.stats.EnergyConsumer[] getEnergyConsumerInfo();
   android.hardware.power.stats.EnergyConsumerResult[] getEnergyConsumed(in int[] energyConsumerIds);
   android.hardware.power.stats.Channel[] getEnergyMeterInfo();
-  android.hardware.power.stats.EnergyMeasurement[] readEnergyMeters(in int[] channelIds);
+  android.hardware.power.stats.EnergyMeasurement[] readEnergyMeter(in int[] channelIds);
 }
diff --git a/power/stats/aidl/android/hardware/power/stats/IPowerStats.aidl b/power/stats/aidl/android/hardware/power/stats/IPowerStats.aidl
index 24a8f67..7a95f74 100644
--- a/power/stats/aidl/android/hardware/power/stats/IPowerStats.aidl
+++ b/power/stats/aidl/android/hardware/power/stats/IPowerStats.aidl
@@ -107,5 +107,5 @@
      *  - STATUS_BAD_VALUE if an invalid channelId is provided
      *  - STATUS_FAILED_TRANSACTION if any EnergyMeasurement fails to be returned
      */
-    EnergyMeasurement[] readEnergyMeters(in int[] channelIds);
-}
\ No newline at end of file
+    EnergyMeasurement[] readEnergyMeter(in int[] channelIds);
+}
diff --git a/power/stats/aidl/default/PowerStats.cpp b/power/stats/aidl/default/PowerStats.cpp
index 6cb0a73..0ffbd08 100644
--- a/power/stats/aidl/default/PowerStats.cpp
+++ b/power/stats/aidl/default/PowerStats.cpp
@@ -53,8 +53,8 @@
     return ndk::ScopedAStatus::ok();
 }
 
-ndk::ScopedAStatus PowerStats::readEnergyMeters(const std::vector<int32_t>& in_channelIds,
-                                                std::vector<EnergyMeasurement>* _aidl_return) {
+ndk::ScopedAStatus PowerStats::readEnergyMeter(const std::vector<int32_t>& in_channelIds,
+                                               std::vector<EnergyMeasurement>* _aidl_return) {
     (void)in_channelIds;
     (void)_aidl_return;
     return ndk::ScopedAStatus::ok();
diff --git a/power/stats/aidl/default/PowerStats.h b/power/stats/aidl/default/PowerStats.h
index 04c2d54..cb98e55 100644
--- a/power/stats/aidl/default/PowerStats.h
+++ b/power/stats/aidl/default/PowerStats.h
@@ -35,8 +35,8 @@
     ndk::ScopedAStatus getEnergyConsumed(const std::vector<int32_t>& in_energyConsumerIds,
                                          std::vector<EnergyConsumerResult>* _aidl_return) override;
     ndk::ScopedAStatus getEnergyMeterInfo(std::vector<Channel>* _aidl_return) override;
-    ndk::ScopedAStatus readEnergyMeters(const std::vector<int32_t>& in_channelIds,
-                                        std::vector<EnergyMeasurement>* _aidl_return) override;
+    ndk::ScopedAStatus readEnergyMeter(const std::vector<int32_t>& in_channelIds,
+                                       std::vector<EnergyMeasurement>* _aidl_return) override;
 };
 
 }  // namespace stats
diff --git a/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp b/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp
index 033bf1a..bed3fdf 100644
--- a/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp
+++ b/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp
@@ -262,7 +262,7 @@
 // Reading energy meter must return a valid status
 TEST_P(PowerStatsAidl, TestReadEnergyMeter) {
     std::vector<EnergyMeasurement> data;
-    ASSERT_TRUE(powerstats->readEnergyMeters({}, &data).isOk());
+    ASSERT_TRUE(powerstats->readEnergyMeter({}, &data).isOk());
 }
 
 // Reading energy meter must return results for all available channels
@@ -271,7 +271,7 @@
     ASSERT_TRUE(powerstats->getEnergyMeterInfo(&channels).isOk());
 
     std::vector<EnergyMeasurement> measurements;
-    ASSERT_TRUE(powerstats->readEnergyMeters({}, &measurements).isOk());
+    ASSERT_TRUE(powerstats->readEnergyMeter({}, &measurements).isOk());
 
     testMatching(channels, &Channel::id, measurements, &EnergyMeasurement::id);
 }
@@ -291,7 +291,7 @@
     }
 
     std::vector<EnergyMeasurement> selectedMeasurements;
-    ASSERT_TRUE(powerstats->readEnergyMeters(selectedIds, &selectedMeasurements).isOk());
+    ASSERT_TRUE(powerstats->readEnergyMeter(selectedIds, &selectedMeasurements).isOk());
 
     testMatching(selectedChannels, &Channel::id, selectedMeasurements, &EnergyMeasurement::id);
 }
diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal
index a6de033..c02a43f 100644
--- a/radio/1.6/types.hal
+++ b/radio/1.6/types.hal
@@ -744,6 +744,14 @@
              */
             NrVopsInfo nrVopsInfo;
         } ngranInfo;
+
+        struct GeranRegistrationInfo {
+            /**
+             * True if the dual transfer mode is supported.
+             * Refer to 3GPP TS 44.108 section 3.4.25.3
+             */
+            bool dtmSupported;
+        } geranInfo;
     } accessTechnologySpecificInfo;
 };