Merge "Temporary disable tests failing tests for O" into oc-dev
diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp
index 393c1f7..622a6fc 100644
--- a/audio/2.0/Android.bp
+++ b/audio/2.0/Android.bp
@@ -83,6 +83,7 @@
 
 cc_library_shared {
     name: "android.hardware.audio@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.audio@2.0_genc++"],
     generated_headers: ["android.hardware.audio@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.audio@2.0_genc++_headers"],
diff --git a/audio/2.0/default/ParametersUtil.cpp b/audio/2.0/default/ParametersUtil.cpp
index 5cc60db..2140885 100644
--- a/audio/2.0/default/ParametersUtil.cpp
+++ b/audio/2.0/default/ParametersUtil.cpp
@@ -78,8 +78,9 @@
         halKeys.addKey(String8(keys[i].c_str()));
     }
     std::unique_ptr<AudioParameter> halValues = getParams(halKeys);
-    Result retval =
-        halValues->size() == keys.size() ? Result::OK : Result::NOT_SUPPORTED;
+    Result retval = (keys.size() == 0 || halValues->size() != 0)
+                        ? Result::OK
+                        : Result::NOT_SUPPORTED;
     hidl_vec<ParameterValue> result;
     result.resize(halValues->size());
     String8 halKey, halValue;
diff --git a/audio/common/2.0/Android.bp b/audio/common/2.0/Android.bp
index f198c15..39db15a 100644
--- a/audio/common/2.0/Android.bp
+++ b/audio/common/2.0/Android.bp
@@ -34,6 +34,7 @@
 
 cc_library_shared {
     name: "android.hardware.audio.common@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.audio.common@2.0_genc++"],
     generated_headers: ["android.hardware.audio.common@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.audio.common@2.0_genc++_headers"],
diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp
index 6cf6ad6..046205d 100644
--- a/audio/effect/2.0/Android.bp
+++ b/audio/effect/2.0/Android.bp
@@ -132,6 +132,7 @@
 
 cc_library_shared {
     name: "android.hardware.audio.effect@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.audio.effect@2.0_genc++"],
     generated_headers: ["android.hardware.audio.effect@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.audio.effect@2.0_genc++_headers"],
diff --git a/audio/effect/2.0/vts/functional/VtsHalAudioEffectV2_0TargetTest.cpp b/audio/effect/2.0/vts/functional/VtsHalAudioEffectV2_0TargetTest.cpp
index 18e9862..940bb4e 100644
--- a/audio/effect/2.0/vts/functional/VtsHalAudioEffectV2_0TargetTest.cpp
+++ b/audio/effect/2.0/vts/functional/VtsHalAudioEffectV2_0TargetTest.cpp
@@ -450,14 +450,16 @@
 }
 
 TEST_F(AudioEffectHidlTest, Offload) {
-  description("Verify that calling Offload methods works for an effect");
+  description("Verify that calling Offload method either works or returns not supported");
   EffectOffloadParameter offloadParam;
   offloadParam.isOffload = false;
   offloadParam.ioHandle =
       static_cast<int>(AudioHandleConsts::AUDIO_IO_HANDLE_NONE);
   Return<Result> ret = effect->offload(offloadParam);
   EXPECT_TRUE(ret.isOk());
-  EXPECT_EQ(Result::OK, ret);
+  EXPECT_TRUE(Result::OK == ret || Result::NOT_SUPPORTED == ret)
+          << "Expected OK or NOT_SUPPORTED, actual value: "
+          << static_cast<int32_t>(static_cast<Result>(ret));
 }
 
 TEST_F(AudioEffectHidlTest, PrepareForProcessing) {
diff --git a/automotive/evs/1.0/Android.bp b/automotive/evs/1.0/Android.bp
index e3752b0..25f8506 100644
--- a/automotive/evs/1.0/Android.bp
+++ b/automotive/evs/1.0/Android.bp
@@ -62,6 +62,7 @@
 
 cc_library_shared {
     name: "android.hardware.automotive.evs@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.automotive.evs@1.0_genc++"],
     generated_headers: ["android.hardware.automotive.evs@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.automotive.evs@1.0_genc++_headers"],
diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp
index ce069d8..f401dab 100644
--- a/automotive/vehicle/2.0/Android.bp
+++ b/automotive/vehicle/2.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.automotive.vehicle@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.automotive.vehicle@2.0_genc++"],
     generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
diff --git a/automotive/vehicle/2.1/Android.bp b/automotive/vehicle/2.1/Android.bp
index 184df9b..f918134 100644
--- a/automotive/vehicle/2.1/Android.bp
+++ b/automotive/vehicle/2.1/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.automotive.vehicle@2.1",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.automotive.vehicle@2.1_genc++"],
     generated_headers: ["android.hardware.automotive.vehicle@2.1_genc++_headers"],
     export_generated_headers: ["android.hardware.automotive.vehicle@2.1_genc++_headers"],
diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp
index 2f3547c..fe71853 100644
--- a/biometrics/fingerprint/2.1/Android.bp
+++ b/biometrics/fingerprint/2.1/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.biometrics.fingerprint@2.1",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.biometrics.fingerprint@2.1_genc++"],
     generated_headers: ["android.hardware.biometrics.fingerprint@2.1_genc++_headers"],
     export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1_genc++_headers"],
diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp
index 041b8af..739cba1 100644
--- a/bluetooth/1.0/Android.bp
+++ b/bluetooth/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.bluetooth@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.bluetooth@1.0_genc++"],
     generated_headers: ["android.hardware.bluetooth@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.bluetooth@1.0_genc++_headers"],
diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp
index d641c2b..9079654 100644
--- a/boot/1.0/Android.bp
+++ b/boot/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.boot@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.boot@1.0_genc++"],
     generated_headers: ["android.hardware.boot@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.boot@1.0_genc++_headers"],
diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp
index 3ec489a..097cbd34 100644
--- a/broadcastradio/1.0/Android.bp
+++ b/broadcastradio/1.0/Android.bp
@@ -62,6 +62,7 @@
 
 cc_library_shared {
     name: "android.hardware.broadcastradio@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.broadcastradio@1.0_genc++"],
     generated_headers: ["android.hardware.broadcastradio@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.broadcastradio@1.0_genc++_headers"],
diff --git a/broadcastradio/1.1/Android.bp b/broadcastradio/1.1/Android.bp
index e270d68..2784346 100644
--- a/broadcastradio/1.1/Android.bp
+++ b/broadcastradio/1.1/Android.bp
@@ -62,6 +62,7 @@
 
 cc_library_shared {
     name: "android.hardware.broadcastradio@1.1",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.broadcastradio@1.1_genc++"],
     generated_headers: ["android.hardware.broadcastradio@1.1_genc++_headers"],
     export_generated_headers: ["android.hardware.broadcastradio@1.1_genc++_headers"],
diff --git a/camera/common/1.0/Android.bp b/camera/common/1.0/Android.bp
index 8c6aa43..252d490 100644
--- a/camera/common/1.0/Android.bp
+++ b/camera/common/1.0/Android.bp
@@ -34,6 +34,7 @@
 
 cc_library_shared {
     name: "android.hardware.camera.common@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.camera.common@1.0_genc++"],
     generated_headers: ["android.hardware.camera.common@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.camera.common@1.0_genc++_headers"],
diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp
index c9c942d..e52f587 100644
--- a/camera/device/1.0/Android.bp
+++ b/camera/device/1.0/Android.bp
@@ -55,6 +55,7 @@
 
 cc_library_shared {
     name: "android.hardware.camera.device@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.camera.device@1.0_genc++"],
     generated_headers: ["android.hardware.camera.device@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.camera.device@1.0_genc++_headers"],
diff --git a/camera/device/3.2/Android.bp b/camera/device/3.2/Android.bp
index 9a7491b..0ba394e 100644
--- a/camera/device/3.2/Android.bp
+++ b/camera/device/3.2/Android.bp
@@ -55,6 +55,7 @@
 
 cc_library_shared {
     name: "android.hardware.camera.device@3.2",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.camera.device@3.2_genc++"],
     generated_headers: ["android.hardware.camera.device@3.2_genc++_headers"],
     export_generated_headers: ["android.hardware.camera.device@3.2_genc++_headers"],
diff --git a/camera/metadata/3.2/Android.bp b/camera/metadata/3.2/Android.bp
index c3cd28e..707b521 100644
--- a/camera/metadata/3.2/Android.bp
+++ b/camera/metadata/3.2/Android.bp
@@ -34,6 +34,7 @@
 
 cc_library_shared {
     name: "android.hardware.camera.metadata@3.2",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.camera.metadata@3.2_genc++"],
     generated_headers: ["android.hardware.camera.metadata@3.2_genc++_headers"],
     export_generated_headers: ["android.hardware.camera.metadata@3.2_genc++_headers"],
diff --git a/camera/provider/2.4/Android.bp b/camera/provider/2.4/Android.bp
index 5d25eda..28e1b84 100644
--- a/camera/provider/2.4/Android.bp
+++ b/camera/provider/2.4/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.camera.provider@2.4",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.camera.provider@2.4_genc++"],
     generated_headers: ["android.hardware.camera.provider@2.4_genc++_headers"],
     export_generated_headers: ["android.hardware.camera.provider@2.4_genc++_headers"],
diff --git a/compatibility_matrix.xml b/compatibility_matrix.xml
index c643fc7..92244a9 100644
--- a/compatibility_matrix.xml
+++ b/compatibility_matrix.xml
@@ -2,62 +2,126 @@
     <hal format="hidl" optional="false">
         <name>android.hardware.audio</name>
         <version>2.0</version>
+        <interface>
+            <name>IDevicesFactory</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.audio.effect</name>
         <version>2.0</version>
+        <interface>
+            <name>IEffectsFactory</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.biometrics.fingerprint</name>
         <version>2.1</version>
+        <interface>
+            <name>IBiometricsFingerprint</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.bluetooth</name>
         <version>1.0</version>
+        <interface>
+            <name>IBluetoothHci</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.boot</name>
         <version>1.0</version>
+        <interface>
+            <name>IBootControl</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.camera.provider</name>
         <version>2.4</version>
+        <interface>
+            <name>ICameraProvider</name>
+            <instance>legacy/0</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.configstore</name>
         <version>1.0-1</version>
+        <interface>
+            <name>ISurfaceFlingerConfigs</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.contexthub</name>
         <version>1.0</version>
+        <interface>
+            <name>IContexthub</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.drm</name>
         <version>1.0</version>
+        <interface>
+            <name>ICryptoFactory</name>
+            <instance>default</instance>
+        </interface>
+        <interface>
+            <name>IDrmFactory</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.dumpstate</name>
         <version>1.0</version>
+        <interface>
+            <name>IDumpstateDevice</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.gatekeeper</name>
         <version>1.0</version>
+        <interface>
+            <name>IGatekeeper</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.gnss</name>
         <version>1.0</version>
+        <interface>
+            <name>IGnss</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.graphics.allocator</name>
         <version>2.0</version>
+        <interface>
+            <name>IAllocator</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.graphics.composer</name>
         <version>2.1</version>
+        <interface>
+            <name>IComposer</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.graphics.mapper</name>
         <version>2.0</version>
+        <interface>
+            <name>IMapper</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.ir</name>
@@ -66,61 +130,133 @@
     <hal format="hidl" optional="false">
         <name>android.hardware.keymaster</name>
         <version>3.0</version>
+        <interface>
+            <name>IKeymasterDevice</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.light</name>
         <version>2.0</version>
+        <interface>
+            <name>ILight</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="false">
         <name>android.hardware.media.omx</name>
         <version>1.0</version>
+        <interface>
+            <name>IOmx</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.memtrack</name>
         <version>1.0</version>
+        <interface>
+            <name>IMemtrack</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.nfc</name>
         <version>1.0</version>
+        <interface>
+            <name>INfc</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.power</name>
         <version>1.0</version>
+        <interface>
+            <name>IPower</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.radio</name>
         <version>1.0</version>
+        <interface>
+            <name>IRadio</name>
+            <instance>slot1</instance>
+        </interface>
+        <interface>
+            <name>ISap</name>
+            <instance>slot1</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
+        <name>android.hardware.radio.deprecated</name>
+        <version>1.0</version>
+        <interface>
+            <name>IOemHook</name>
+            <instance>slot1</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.renderscript</name>
         <version>1.0</version>
+        <interface>
+            <name>IDevice</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.sensors</name>
         <version>1.0</version>
+        <interface>
+            <name>ISensors</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.soundtrigger</name>
         <version>2.0</version>
+        <interface>
+            <name>ISoundTriggerHw</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.thermal</name>
         <version>1.0</version>
+        <interface>
+            <name>IThermal</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.usb</name>
         <version>1.0</version>
+        <interface>
+            <name>IUsb</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.vibrator</name>
         <version>1.0</version>
+        <interface>
+            <name>IVibrator</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.vr</name>
         <version>1.0</version>
+        <interface>
+            <name>IVr</name>
+            <instance>default</instance>
+        </interface>
     </hal>
     <hal format="hidl" optional="true">
         <name>android.hardware.wifi</name>
         <version>1.0</version>
+        <interface>
+            <name>IWifi</name>
+            <instance>default</instance>
+        </interface>
     </hal>
 </compatibility-matrix>
diff --git a/configstore/1.0/Android.bp b/configstore/1.0/Android.bp
index 5b36e2a..3b97d86 100644
--- a/configstore/1.0/Android.bp
+++ b/configstore/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.configstore@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.configstore@1.0_genc++"],
     generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.configstore@1.0_genc++_headers"],
diff --git a/contexthub/1.0/Android.bp b/contexthub/1.0/Android.bp
index f66a747..e66b336 100644
--- a/contexthub/1.0/Android.bp
+++ b/contexthub/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.contexthub@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.contexthub@1.0_genc++"],
     generated_headers: ["android.hardware.contexthub@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.contexthub@1.0_genc++_headers"],
diff --git a/current.txt b/current.txt
index f22918c..e254ed9 100644
--- a/current.txt
+++ b/current.txt
@@ -130,7 +130,7 @@
 efc83df3f962b93c7c0290d691d7d300dabe12683e2cde3591fb3c0beedce20f android.hardware.power@1.0::types
 9b5aa499ec3b4226f15f48f5ed08896e2fc0676f978c9e199c1da21daaf002a6 android.hardware.radio@1.0::IRadio
 5c8efbb9c451a59737ed2c6c20230aae4745839ca01d8088d6dcc9020e52d2c5 android.hardware.radio@1.0::IRadioIndication
-2b963c12b5b6961a6fcec6e6cbe3ed6cc8c4a7e95916c4947d8196d56aa57ec2 android.hardware.radio@1.0::IRadioResponse
+c5f22264a31562e009bb284287051b7998fc46cd3294df61c9e6a1d622184993 android.hardware.radio@1.0::IRadioResponse
 de3ab9f73b1073cd677b19d886fb927e9381b30161a704712d2b30f875873f5c android.hardware.radio@1.0::ISap
 d183e406ef0897df2117a9dde384e8e6ea4fa6ab1c7f6f28e65b87011218c9ea android.hardware.radio@1.0::ISapCallback
 96986fbd22f0e6ca752e1fcdc0a64bda213995a81f5f36bc4faf3532d9306b97 android.hardware.radio@1.0::types
diff --git a/drm/1.0/Android.bp b/drm/1.0/Android.bp
index 587829a..530da40 100644
--- a/drm/1.0/Android.bp
+++ b/drm/1.0/Android.bp
@@ -69,6 +69,7 @@
 
 cc_library_shared {
     name: "android.hardware.drm@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.drm@1.0_genc++"],
     generated_headers: ["android.hardware.drm@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.drm@1.0_genc++_headers"],
diff --git a/dumpstate/1.0/Android.bp b/dumpstate/1.0/Android.bp
index 2583050..8cdc699 100644
--- a/dumpstate/1.0/Android.bp
+++ b/dumpstate/1.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.dumpstate@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.dumpstate@1.0_genc++"],
     generated_headers: ["android.hardware.dumpstate@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.dumpstate@1.0_genc++_headers"],
diff --git a/gatekeeper/1.0/Android.bp b/gatekeeper/1.0/Android.bp
index 1c44110..4b41026 100644
--- a/gatekeeper/1.0/Android.bp
+++ b/gatekeeper/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.gatekeeper@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.gatekeeper@1.0_genc++"],
     generated_headers: ["android.hardware.gatekeeper@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.gatekeeper@1.0_genc++_headers"],
diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp
index a1b167d..45af005 100644
--- a/gnss/1.0/Android.bp
+++ b/gnss/1.0/Android.bp
@@ -174,6 +174,7 @@
 
 cc_library_shared {
     name: "android.hardware.gnss@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.gnss@1.0_genc++"],
     generated_headers: ["android.hardware.gnss@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.gnss@1.0_genc++_headers"],
diff --git a/graphics/allocator/2.0/Android.bp b/graphics/allocator/2.0/Android.bp
index 278f69d..f464ff1 100644
--- a/graphics/allocator/2.0/Android.bp
+++ b/graphics/allocator/2.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.graphics.allocator@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.graphics.allocator@2.0_genc++"],
     generated_headers: ["android.hardware.graphics.allocator@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.graphics.allocator@2.0_genc++_headers"],
diff --git a/graphics/bufferqueue/1.0/Android.bp b/graphics/bufferqueue/1.0/Android.bp
index 8747b2d..4b019cf 100644
--- a/graphics/bufferqueue/1.0/Android.bp
+++ b/graphics/bufferqueue/1.0/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.graphics.bufferqueue@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.graphics.bufferqueue@1.0_genc++"],
     generated_headers: ["android.hardware.graphics.bufferqueue@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.graphics.bufferqueue@1.0_genc++_headers"],
diff --git a/graphics/common/1.0/Android.bp b/graphics/common/1.0/Android.bp
index 69e1aa0..3d9aa90 100644
--- a/graphics/common/1.0/Android.bp
+++ b/graphics/common/1.0/Android.bp
@@ -34,6 +34,7 @@
 
 cc_library_shared {
     name: "android.hardware.graphics.common@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.graphics.common@1.0_genc++"],
     generated_headers: ["android.hardware.graphics.common@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.graphics.common@1.0_genc++_headers"],
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index ed5c193..ac40f83 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -55,6 +55,7 @@
 
 cc_library_shared {
     name: "android.hardware.graphics.composer@2.1",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.graphics.composer@2.1_genc++"],
     generated_headers: ["android.hardware.graphics.composer@2.1_genc++_headers"],
     export_generated_headers: ["android.hardware.graphics.composer@2.1_genc++_headers"],
diff --git a/graphics/mapper/2.0/Android.bp b/graphics/mapper/2.0/Android.bp
index bb53937..ab7a545 100644
--- a/graphics/mapper/2.0/Android.bp
+++ b/graphics/mapper/2.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.graphics.mapper@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.graphics.mapper@2.0_genc++"],
     generated_headers: ["android.hardware.graphics.mapper@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.graphics.mapper@2.0_genc++_headers"],
diff --git a/health/1.0/Android.bp b/health/1.0/Android.bp
index 6b664cb..5bf535a 100644
--- a/health/1.0/Android.bp
+++ b/health/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.health@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.health@1.0_genc++"],
     generated_headers: ["android.hardware.health@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.health@1.0_genc++_headers"],
diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp
index ae3171a..e47f286 100644
--- a/ir/1.0/Android.bp
+++ b/ir/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.ir@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.ir@1.0_genc++"],
     generated_headers: ["android.hardware.ir@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.ir@1.0_genc++_headers"],
diff --git a/keymaster/3.0/Android.bp b/keymaster/3.0/Android.bp
index fa5dd3a..7580684 100644
--- a/keymaster/3.0/Android.bp
+++ b/keymaster/3.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.keymaster@3.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.keymaster@3.0_genc++"],
     generated_headers: ["android.hardware.keymaster@3.0_genc++_headers"],
     export_generated_headers: ["android.hardware.keymaster@3.0_genc++_headers"],
diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp
index e0a889c..71792df 100644
--- a/light/2.0/Android.bp
+++ b/light/2.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.light@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.light@2.0_genc++"],
     generated_headers: ["android.hardware.light@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.light@2.0_genc++_headers"],
diff --git a/media/1.0/Android.bp b/media/1.0/Android.bp
index 816b605..61eeb3f 100644
--- a/media/1.0/Android.bp
+++ b/media/1.0/Android.bp
@@ -34,6 +34,7 @@
 
 cc_library_shared {
     name: "android.hardware.media@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.media@1.0_genc++"],
     generated_headers: ["android.hardware.media@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.media@1.0_genc++_headers"],
diff --git a/media/1.0/Android.mk b/media/1.0/Android.mk
new file mode 100644
index 0000000..bc44b9e
--- /dev/null
+++ b/media/1.0/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+#######################################
+# media_profiles_V1_0.dtd
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := media_profiles_V1_0.dtd
+LOCAL_SRC_FILES := media_profiles.dtd
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
+
+include $(BUILD_PREBUILT)
+
diff --git a/media/1.0/media_profiles.dtd b/media/1.0/media_profiles.dtd
new file mode 100644
index 0000000..40900e0
--- /dev/null
+++ b/media/1.0/media_profiles.dtd
@@ -0,0 +1,56 @@
+<!ELEMENT MediaSettings (CamcorderProfiles+,
+                         EncoderOutputFileFormat+,
+                         VideoEncoderCap+,
+                         AudioEncoderCap+,
+                         VideoDecoderCap,
+                         AudioDecoderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile|ImageEncoding|ImageDecoding|Camera)+>
+<!ATTLIST CamcorderProfiles cameraId (0|1) #REQUIRED>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality CDATA #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (95|90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|heaac|aaceld) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
diff --git a/media/omx/1.0/Android.bp b/media/omx/1.0/Android.bp
index 775b434..8f172f0 100644
--- a/media/omx/1.0/Android.bp
+++ b/media/omx/1.0/Android.bp
@@ -76,6 +76,7 @@
 
 cc_library_shared {
     name: "android.hardware.media.omx@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.media.omx@1.0_genc++"],
     generated_headers: ["android.hardware.media.omx@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.media.omx@1.0_genc++_headers"],
diff --git a/memtrack/1.0/Android.bp b/memtrack/1.0/Android.bp
index de985f0..9b10d7b 100644
--- a/memtrack/1.0/Android.bp
+++ b/memtrack/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.memtrack@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.memtrack@1.0_genc++"],
     generated_headers: ["android.hardware.memtrack@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.memtrack@1.0_genc++_headers"],
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index 76ea255..9d450bb 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.nfc@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.nfc@1.0_genc++"],
     generated_headers: ["android.hardware.nfc@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.nfc@1.0_genc++_headers"],
diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp
index e0758eb..7a2df69 100644
--- a/power/1.0/Android.bp
+++ b/power/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.power@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.power@1.0_genc++"],
     generated_headers: ["android.hardware.power@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.power@1.0_genc++_headers"],
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
index c95c67f..443b1d9 100644
--- a/radio/1.0/Android.bp
+++ b/radio/1.0/Android.bp
@@ -69,6 +69,7 @@
 
 cc_library_shared {
     name: "android.hardware.radio@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.radio@1.0_genc++"],
     generated_headers: ["android.hardware.radio@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.radio@1.0_genc++_headers"],
diff --git a/radio/1.0/IRadioResponse.hal b/radio/1.0/IRadioResponse.hal
index 437e191..4a9be59 100644
--- a/radio/1.0/IRadioResponse.hal
+++ b/radio/1.0/IRadioResponse.hal
@@ -102,8 +102,13 @@
      *
      * Valid errors returned:
      *   RadioError:NONE
-     *   RadioError:RADIO_NOT_AVAILABLE (radio resetting)
      *   RadioError:PASSWORD_INCORRECT (code is invalid)
+     *   RadioError:NO_MEMORY
+     *   RadioError:INVALID_SIM_STATE
+     *   RadioError:INTERNAL_ERR
+     *   RadioError:SYSTEM_ERR
+     *   RadioError:MODEM_ERR
+     *   RadioError:INVALID_ARGUMENTS
      */
     oneway supplyNetworkDepersonalizationResponse(RadioResponseInfo info, int32_t remainingRetries);
 
@@ -1119,9 +1124,11 @@
      *
      * Valid errors returned:
      *   RadioError:NONE
-     *   RadioError:RADIO_NOT_AVAILABLE
+     *   RadioError:NO_MEMORY
+     *   RadioError:INTERNAL_ERR
+     *   RadioError:SYSTEM_ERR
+     *   RadioError:MODEM_ERR
      *   RadioError:INVALID_ARGUMENTS
-     *   RadioError:OPERATION_NOT_ALLOWED
      */
     oneway handleStkCallSetupRequestFromSimResponse(RadioResponseInfo info);
 
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp b/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
index 906cef8..8082bca 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_icc.cpp
@@ -318,8 +318,13 @@
   EXPECT_EQ(serial, radioRsp->rspInfo.serial);
 
   if (cardStatus.cardState == CardState::ABSENT) {
-      ASSERT_TRUE(CheckGeneralError() ||
+      ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
+                  radioRsp->rspInfo.error == RadioError::SYSTEM_ERR ||
+                  radioRsp->rspInfo.error == RadioError::NO_MEMORY ||
+                  radioRsp->rspInfo.error == RadioError::MODEM_ERR ||
                   radioRsp->rspInfo.error == RadioError::INVALID_ARGUMENTS ||
-                  radioRsp->rspInfo.error == RadioError::PASSWORD_INCORRECT);
+                  radioRsp->rspInfo.error == RadioError::INVALID_SIM_STATE ||
+                  radioRsp->rspInfo.error == RadioError::PASSWORD_INCORRECT ||
+                  radioRsp->rspInfo.error == RadioError::INTERNAL_ERR);
   }
 }
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp b/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
index b02a740..3858c90 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_stk.cpp
@@ -98,7 +98,12 @@
   EXPECT_EQ(serial, radioRsp->rspInfo.serial);
 
   if (cardStatus.cardState == CardState::ABSENT) {
-    EXPECT_EQ(RadioError::NONE, radioRsp->rspInfo.error);
+      ASSERT_TRUE(radioRsp->rspInfo.error == RadioError::NONE ||
+                  radioRsp->rspInfo.error == RadioError::SYSTEM_ERR ||
+                  radioRsp->rspInfo.error == RadioError::NO_MEMORY ||
+                  radioRsp->rspInfo.error == RadioError::MODEM_ERR ||
+                  radioRsp->rspInfo.error == RadioError::INVALID_ARGUMENTS ||
+                  radioRsp->rspInfo.error == RadioError::INTERNAL_ERR);
   }
 }
 
diff --git a/radio/1.0/vts/functional/sap_hidl_hal_api.cpp b/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
index e166209..3ac891d 100644
--- a/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
+++ b/radio/1.0/vts/functional/sap_hidl_hal_api.cpp
@@ -51,7 +51,8 @@
   EXPECT_EQ(std::cv_status::no_timeout, wait());
   EXPECT_EQ(sapCb->sapResponseToken, token);
 
-  ASSERT_TRUE(SapResultCode::CARD_NOT_ACCESSSIBLE == sapCb->sapResultCode ||
+  ASSERT_TRUE(SapResultCode::GENERIC_FAILURE == sapCb->sapResultCode ||
+              SapResultCode::CARD_NOT_ACCESSSIBLE == sapCb->sapResultCode ||
               SapResultCode::CARD_ALREADY_POWERED_OFF == sapCb->sapResultCode ||
               SapResultCode::CARD_REMOVED == sapCb->sapResultCode);
 }
diff --git a/radio/deprecated/1.0/Android.bp b/radio/deprecated/1.0/Android.bp
index 60e52a6..c10accf 100644
--- a/radio/deprecated/1.0/Android.bp
+++ b/radio/deprecated/1.0/Android.bp
@@ -51,6 +51,7 @@
 
 cc_library_shared {
     name: "android.hardware.radio.deprecated@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.radio.deprecated@1.0_genc++"],
     generated_headers: ["android.hardware.radio.deprecated@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.radio.deprecated@1.0_genc++_headers"],
diff --git a/renderscript/1.0/Android.bp b/renderscript/1.0/Android.bp
index 11090c3..43d159c 100644
--- a/renderscript/1.0/Android.bp
+++ b/renderscript/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.renderscript@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.renderscript@1.0_genc++"],
     generated_headers: ["android.hardware.renderscript@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.renderscript@1.0_genc++_headers"],
diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp
index 964c8ef..17bd4c8 100644
--- a/sensors/1.0/Android.bp
+++ b/sensors/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.sensors@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.sensors@1.0_genc++"],
     generated_headers: ["android.hardware.sensors@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.sensors@1.0_genc++_headers"],
diff --git a/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp b/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp
index f757a64..06a9d7e 100644
--- a/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp
+++ b/sensors/1.0/vts/functional/VtsHalSensorsV1_0TargetTest.cpp
@@ -200,19 +200,18 @@
   bool needExit = *stop;
 
   while(!needExit) {
-    env->sensors->poll(1,
-        [&](auto result, const auto &events, const auto &dynamicSensorsAdded) {
+      env->sensors->poll(64, [&](auto result, const auto& events, const auto& dynamicSensorsAdded) {
           if (result != Result::OK
               || (events.size() == 0 && dynamicSensorsAdded.size() == 0)
               || *stop) {
-            needExit = true;
-            return;
+              needExit = true;
+              return;
           }
 
-          if (events.size() > 0) {
-            env->addEvent(events[0]);
+          for (const auto& e : events) {
+              env->addEvent(e);
           }
-        });
+      });
   }
   ALOGD("polling thread end");
 }
diff --git a/soundtrigger/2.0/Android.bp b/soundtrigger/2.0/Android.bp
index 51b3fe5..1d1cf49 100644
--- a/soundtrigger/2.0/Android.bp
+++ b/soundtrigger/2.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.soundtrigger@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.soundtrigger@2.0_genc++"],
     generated_headers: ["android.hardware.soundtrigger@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.soundtrigger@2.0_genc++_headers"],
diff --git a/soundtrigger/2.0/vts/functional/VtsHalSoundtriggerV2_0TargetTest.cpp b/soundtrigger/2.0/vts/functional/VtsHalSoundtriggerV2_0TargetTest.cpp
index 2eca8f4..97956c5 100644
--- a/soundtrigger/2.0/vts/functional/VtsHalSoundtriggerV2_0TargetTest.cpp
+++ b/soundtrigger/2.0/vts/functional/VtsHalSoundtriggerV2_0TargetTest.cpp
@@ -89,10 +89,11 @@
 class SoundTriggerHidlTest : public ::testing::VtsHalHidlTargetTestBase {
  public:
   virtual void SetUp() override {
-    mSoundTriggerHal = ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>("sound_trigger.primary");
-    ASSERT_NE(nullptr, mSoundTriggerHal.get());
-    mCallback = new SoundTriggerHwCallback(*this);
-    ASSERT_NE(nullptr, mCallback.get());
+      mSoundTriggerHal =
+          ::testing::VtsHalHidlTargetTestBase::getService<ISoundTriggerHw>();
+      ASSERT_NE(nullptr, mSoundTriggerHal.get());
+      mCallback = new SoundTriggerHwCallback(*this);
+      ASSERT_NE(nullptr, mCallback.get());
   }
 
   static void SetUpTestCase() {
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index 2b5c111..989b31f 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -69,6 +69,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.bar@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.bar@1.0_genc++"],
     generated_headers: ["android.hardware.tests.bar@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.bar@1.0_genc++_headers"],
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index f0cddf8..80bfb09 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -62,6 +62,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.baz@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.baz@1.0_genc++"],
     generated_headers: ["android.hardware.tests.baz@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.baz@1.0_genc++_headers"],
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index f3c6d5d..1fd2429 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.expression@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.expression@1.0_genc++"],
     generated_headers: ["android.hardware.tests.expression@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.expression@1.0_genc++_headers"],
diff --git a/tests/extension/light/2.0/Android.bp b/tests/extension/light/2.0/Android.bp
index 9420568..2c25a06 100644
--- a/tests/extension/light/2.0/Android.bp
+++ b/tests/extension/light/2.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.extension.light@2.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.extension.light@2.0_genc++"],
     generated_headers: ["android.hardware.tests.extension.light@2.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.extension.light@2.0_genc++_headers"],
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index d66ba2d..2876a98 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -69,6 +69,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.foo@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.foo@1.0_genc++"],
     generated_headers: ["android.hardware.tests.foo@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.foo@1.0_genc++_headers"],
diff --git a/tests/hash/1.0/Android.bp b/tests/hash/1.0/Android.bp
index e88bf5f..a8a864e 100644
--- a/tests/hash/1.0/Android.bp
+++ b/tests/hash/1.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.hash@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.hash@1.0_genc++"],
     generated_headers: ["android.hardware.tests.hash@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.hash@1.0_genc++_headers"],
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index db70fa2..7bbf079 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -58,6 +58,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.inheritance@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.inheritance@1.0_genc++"],
     generated_headers: ["android.hardware.tests.inheritance@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.inheritance@1.0_genc++_headers"],
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index ed36570..28ededa 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.libhwbinder@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.libhwbinder@1.0_genc++"],
     generated_headers: ["android.hardware.tests.libhwbinder@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.libhwbinder@1.0_genc++_headers"],
diff --git a/tests/memory/1.0/Android.bp b/tests/memory/1.0/Android.bp
index 523f530..a3d2866 100644
--- a/tests/memory/1.0/Android.bp
+++ b/tests/memory/1.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.memory@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.memory@1.0_genc++"],
     generated_headers: ["android.hardware.tests.memory@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.memory@1.0_genc++_headers"],
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index 6be8cc5..8cbfffd 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.msgq@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.msgq@1.0_genc++"],
     generated_headers: ["android.hardware.tests.msgq@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.msgq@1.0_genc++_headers"],
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index 0adcb4f..e96eb41 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.pointer@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.pointer@1.0_genc++"],
     generated_headers: ["android.hardware.tests.pointer@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.pointer@1.0_genc++_headers"],
diff --git a/tests/versioning/1.0/Android.bp b/tests/versioning/1.0/Android.bp
index f0a14bc..839d4b9 100644
--- a/tests/versioning/1.0/Android.bp
+++ b/tests/versioning/1.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.versioning@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.versioning@1.0_genc++"],
     generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
diff --git a/tests/versioning/2.2/Android.bp b/tests/versioning/2.2/Android.bp
index b6fd744..500222c 100644
--- a/tests/versioning/2.2/Android.bp
+++ b/tests/versioning/2.2/Android.bp
@@ -44,6 +44,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.versioning@2.2",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.versioning@2.2_genc++"],
     generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
diff --git a/tests/versioning/2.3/Android.bp b/tests/versioning/2.3/Android.bp
index 4741117..f4123e4 100644
--- a/tests/versioning/2.3/Android.bp
+++ b/tests/versioning/2.3/Android.bp
@@ -51,6 +51,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.versioning@2.3",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.versioning@2.3_genc++"],
     generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
diff --git a/tests/versioning/2.4/Android.bp b/tests/versioning/2.4/Android.bp
index f576bf1..dce68ba 100644
--- a/tests/versioning/2.4/Android.bp
+++ b/tests/versioning/2.4/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.tests.versioning@2.4",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tests.versioning@2.4_genc++"],
     generated_headers: ["android.hardware.tests.versioning@2.4_genc++_headers"],
     export_generated_headers: ["android.hardware.tests.versioning@2.4_genc++_headers"],
diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp
index 7f9c75a..a948567 100644
--- a/thermal/1.0/Android.bp
+++ b/thermal/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.thermal@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.thermal@1.0_genc++"],
     generated_headers: ["android.hardware.thermal@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.thermal@1.0_genc++_headers"],
diff --git a/tv/cec/1.0/Android.bp b/tv/cec/1.0/Android.bp
index e6b4886..039663e 100644
--- a/tv/cec/1.0/Android.bp
+++ b/tv/cec/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.tv.cec@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tv.cec@1.0_genc++"],
     generated_headers: ["android.hardware.tv.cec@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tv.cec@1.0_genc++_headers"],
diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp
index 468ef12..da3f5e7 100644
--- a/tv/input/1.0/Android.bp
+++ b/tv/input/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.tv.input@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.tv.input@1.0_genc++"],
     generated_headers: ["android.hardware.tv.input@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.tv.input@1.0_genc++_headers"],
diff --git a/usb/1.0/Android.bp b/usb/1.0/Android.bp
index 847288b..ba7ecfe 100644
--- a/usb/1.0/Android.bp
+++ b/usb/1.0/Android.bp
@@ -48,6 +48,7 @@
 
 cc_library_shared {
     name: "android.hardware.usb@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.usb@1.0_genc++"],
     generated_headers: ["android.hardware.usb@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.usb@1.0_genc++_headers"],
diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp
index 5d570c9..4c2a2ab 100644
--- a/vibrator/1.0/Android.bp
+++ b/vibrator/1.0/Android.bp
@@ -41,6 +41,7 @@
 
 cc_library_shared {
     name: "android.hardware.vibrator@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.vibrator@1.0_genc++"],
     generated_headers: ["android.hardware.vibrator@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.vibrator@1.0_genc++_headers"],
diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp
index 69011c4..5da7977 100644
--- a/vr/1.0/Android.bp
+++ b/vr/1.0/Android.bp
@@ -37,6 +37,7 @@
 
 cc_library_shared {
     name: "android.hardware.vr@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.vr@1.0_genc++"],
     generated_headers: ["android.hardware.vr@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.vr@1.0_genc++_headers"],
diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp
index 7289e8a..2022640 100644
--- a/wifi/1.0/Android.bp
+++ b/wifi/1.0/Android.bp
@@ -125,6 +125,7 @@
 
 cc_library_shared {
     name: "android.hardware.wifi@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.wifi@1.0_genc++"],
     generated_headers: ["android.hardware.wifi@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.wifi@1.0_genc++_headers"],
diff --git a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp
index fefbd79..e4382bc 100644
--- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp
+++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp
@@ -36,6 +36,9 @@
 using ::android::hardware::hidl_vec;
 
 namespace {
+constexpr uint32_t kHalStartRetryMaxCount = 5;
+constexpr uint32_t kHalStartRetryIntervalInMs = 2;
+
 bool findAnyModeSupportingIfaceType(
     IfaceType desired_type, const std::vector<IWifiChip::ChipMode>& modes,
     ChipModeId* mode_id) {
@@ -92,7 +95,15 @@
     if (!wifi.get()) {
         return nullptr;
     }
-    if (HIDL_INVOKE(wifi, start).code != WifiStatusCode::SUCCESS) {
+    uint32_t retry_count = 0;
+    auto status = HIDL_INVOKE(wifi, start);
+    while (retry_count < kHalStartRetryMaxCount &&
+           status.code == WifiStatusCode::ERROR_NOT_AVAILABLE) {
+        retry_count++;
+        usleep(kHalStartRetryIntervalInMs * 1000);
+        status = HIDL_INVOKE(wifi, start);
+    }
+    if (status.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
     const auto& status_and_chip_ids = HIDL_INVOKE(wifi, getChipIds);
diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp
index 883d600..ab7948b 100644
--- a/wifi/supplicant/1.0/Android.bp
+++ b/wifi/supplicant/1.0/Android.bp
@@ -118,6 +118,7 @@
 
 cc_library_shared {
     name: "android.hardware.wifi.supplicant@1.0",
+    defaults: ["hidl-module-defaults"],
     generated_sources: ["android.hardware.wifi.supplicant@1.0_genc++"],
     generated_headers: ["android.hardware.wifi.supplicant@1.0_genc++_headers"],
     export_generated_headers: ["android.hardware.wifi.supplicant@1.0_genc++_headers"],