Merge "matrix: copy kernel configs to subdirectory." into pi-dev
diff --git a/audio/core/all-versions/default/include/core/all-versions/default/Conversions.impl.h b/audio/core/all-versions/default/include/core/all-versions/default/Conversions.impl.h
index 004a99e..5828c3f 100644
--- a/audio/core/all-versions/default/include/core/all-versions/default/Conversions.impl.h
+++ b/audio/core/all-versions/default/include/core/all-versions/default/Conversions.impl.h
@@ -18,6 +18,8 @@
 
 #include <stdio.h>
 
+#include <log/log.h>
+
 namespace android {
 namespace hardware {
 namespace audio {
@@ -108,6 +110,9 @@
             return AudioMicrophoneChannelMapping::DIRECT;
         case AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED:
             return AudioMicrophoneChannelMapping::PROCESSED;
+        default:
+            ALOGE("Invalid channel mapping type: %d", mapping);
+            return AudioMicrophoneChannelMapping::UNUSED;
     }
 }
 
diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
index d4e4d46..faa1adc 100644
--- a/automotive/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -966,19 +966,6 @@
         | VehicleArea:GLOBAL),
 
     /**
-     * Cabin temperature
-     *
-     * @change_mode VehiclePropertyChangeMode:CONTINUOUS
-     * @access VehiclePropertyAccess:READ
-     * @unit VehicleUnit:CELSIUS
-     */
-    ENV_CABIN_TEMPERATURE = (
-        0x0704
-        | VehiclePropertyGroup:SYSTEM
-        | VehiclePropertyType:FLOAT
-        | VehicleArea:SEAT),
-
-    /**
      * Property to control power state of application processor
      *
      * It is assumed that AP's power state is controller by separate power
diff --git a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
index 6877f07..571b80c 100644
--- a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
+++ b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
@@ -20,6 +20,7 @@
 
 #include <VtsHalHidlTargetTestBase.h>
 #include <android-base/logging.h>
+#include <android-base/strings.h>
 #include <android/hardware/broadcastradio/2.0/IBroadcastRadio.h>
 #include <android/hardware/broadcastradio/2.0/ITunerCallback.h>
 #include <android/hardware/broadcastradio/2.0/ITunerSession.h>
@@ -66,6 +67,8 @@
 
 }  // namespace timeout
 
+static constexpr auto gTuneWorkaround = 200ms;
+
 static const ConfigFlag gConfigFlagValues[] = {
     ConfigFlag::FORCE_MONO,
     ConfigFlag::FORCE_ANALOG,
@@ -158,6 +161,14 @@
                     physically > IdentifierType::SXM_CHANNEL);
     }
 
+    if (logically == IdentifierType::AMFM_FREQUENCY) {
+        auto ps = utils::getMetadataString(info, MetadataKey::RDS_PS);
+        if (ps.has_value()) {
+            EXPECT_NE("", android::base::Trim(*ps))
+                << "Don't use empty RDS_PS as an indicator of missing RSD PS data.";
+        }
+    }
+
     return onCurrentProgramInfoChanged_(info);
 }
 
@@ -414,7 +425,7 @@
      * This sleep workaround will fix default implementation, but the real HW tests will still be
      * flaky. We probably need to implement egmock alternative based on actions.
      */
-    std::this_thread::sleep_for(100ms);
+    std::this_thread::sleep_for(gTuneWorkaround);
 
     // try tuning
     ProgramInfo infoCb = {};
@@ -500,7 +511,7 @@
     ASSERT_TRUE(openSession());
 
     // TODO(b/69958777): see FmTune workaround
-    std::this_thread::sleep_for(100ms);
+    std::this_thread::sleep_for(gTuneWorkaround);
 
     EXPECT_TIMEOUT_CALL(*mCallback, onCurrentProgramInfoChanged_, _);
     auto result = mSession->scan(true /* up */, true /* skip subchannel */);
@@ -525,7 +536,7 @@
     ASSERT_TRUE(openSession());
 
     // TODO(b/69958777): see FmTune workaround
-    std::this_thread::sleep_for(100ms);
+    std::this_thread::sleep_for(gTuneWorkaround);
 
     EXPECT_TIMEOUT_CALL(*mCallback, onCurrentProgramInfoChanged_, _).Times(AnyNumber());
     auto result = mSession->step(true /* up */);
diff --git a/current.txt b/current.txt
index 36f19b7..5ccd6ab 100644
--- a/current.txt
+++ b/current.txt
@@ -299,7 +299,7 @@
 3b17c1fdfc389e0abe626c37054954b07201127d890c2bc05d47613ec1f4de4f android.hardware.automotive.evs@1.0::types
 b3caf524c46a47d67e6453a34419e1881942d059e146cda740502670e9a752c3 android.hardware.automotive.vehicle@2.0::IVehicle
 7ce8728b27600e840cacf0a832f6942819fe535f9d3797ae052d5eef5065921c android.hardware.automotive.vehicle@2.0::IVehicleCallback
-962b18e414231b5f3930d63daba116347241b3606242b0606b3699ba25b14315 android.hardware.automotive.vehicle@2.0::types
+9cf9690f559f8425fa86e409137a42435ca225505152f03736ac8f3773ef4f89 android.hardware.automotive.vehicle@2.0::types
 32cc50cc2a7658ec613c0c2dd2accbf6a05113b749852879e818b8b7b438db19 android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioHost
 ff4be64d7992f8bec97dff37f35450e79b3430c61f85f54322ce45bef229dc3b android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload
 27f22d2e873e6201f9620cf4d8e2facb25bd0dd30a2b911e441b4600d560fa62 android.hardware.bluetooth.a2dp@1.0::types