diff --git a/audio/common/2.0/vts/types.vts b/audio/common/2.0/vts/types.vts
index 8d1a9db..d790573 100644
--- a/audio/common/2.0/vts/types.vts
+++ b/audio/common/2.0/vts/types.vts
@@ -56,8 +56,8 @@
     struct_value: {
         name: "node"
         type: TYPE_ARRAY
+        vector_size: 6
         vector_value: {
-            vector_size: 6
             type: TYPE_SCALAR
             scalar_type: "uint8_t"
         }
@@ -381,10 +381,14 @@
         scalar_value: {
             uint32_t: 553648128
         }
-        enumerator: "LDAC"
+        enumerator: "AC4"
         scalar_value: {
             uint32_t: 570425344
         }
+        enumerator: "LDAC"
+        scalar_value: {
+            uint32_t: 587202560
+        }
         enumerator: "MAIN_MASK"
         scalar_value: {
             uint32_t: 4278190080
@@ -811,6 +815,10 @@
         scalar_value: {
             uint32_t: 48
         }
+        enumerator: "IN_6"
+        scalar_value: {
+            uint32_t: 252
+        }
         enumerator: "IN_VOICE_UPLINK_MONO"
         scalar_value: {
             uint32_t: 16400
@@ -1357,13 +1365,17 @@
         scalar_value: {
             int32_t: 15
         }
-        enumerator: "CNT"
+        enumerator: "ASSISTANT"
         scalar_value: {
             int32_t: 16
         }
+        enumerator: "CNT"
+        scalar_value: {
+            int32_t: 17
+        }
         enumerator: "MAX"
         scalar_value: {
-            int32_t: 15
+            int32_t: 16
         }
     }
 }
@@ -1545,8 +1557,8 @@
     struct_value: {
         name: "values"
         type: TYPE_ARRAY
+        vector_size: 32
         vector_value: {
-            vector_size: 32
             type: TYPE_SCALAR
             scalar_type: "int32_t"
         }
@@ -1620,8 +1632,8 @@
     struct_value: {
         name: "address"
         type: TYPE_ARRAY
+        vector_size: 32
         vector_value: {
-            vector_size: 32
             type: TYPE_SCALAR
             scalar_type: "uint8_t"
         }
@@ -1785,8 +1797,8 @@
     struct_value: {
         name: "address"
         type: TYPE_ARRAY
+        vector_size: 32
         vector_value: {
-            vector_size: 32
             type: TYPE_SCALAR
             scalar_type: "uint8_t"
         }
@@ -1925,3 +1937,18 @@
     }
 }
 
+attribute: {
+    name: "::android::hardware::audio::common::V2_0::ThreadInfo"
+    type: TYPE_STRUCT
+    struct_value: {
+        name: "pid"
+        type: TYPE_SCALAR
+        scalar_type: "int64_t"
+    }
+    struct_value: {
+        name: "tid"
+        type: TYPE_SCALAR
+        scalar_type: "int64_t"
+    }
+}
+
diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
index fa432f4..68a8a17 100644
--- a/automotive/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -1764,7 +1764,7 @@
      * Its contents are to be interpreted as follows:
      * the indices defined in VmsMessageIntegerValuesIndex are to be used to
      * read from int32Values;
-     * stringValue is a serialized VMS message as defined in the vms protocol
+     * bytes is a serialized VMS message as defined in the vms protocol
      * which is opaque to the framework;
      *
      * @change_mode VehiclePropertyChangeMode:ON_CHANGE
@@ -3203,11 +3203,14 @@
  */
 enum VmsMessageIntegerValuesIndex : int32_t {
   /* The message type as enumerated by VmsMessageType enum. */
-  VMS_MESSAGE_TYPE = 1,
+  VMS_MESSAGE_TYPE = 0,
 
   /* The layer ID as defined in the vms protocol. */
-  VMS_LAYER_ID = 2,
+  VMS_LAYER_ID = 1,
 
   /* The version of the VMS layer. */
-  VMS_LAYER_VERSION = 3,
+  VMS_LAYER_VERSION = 2,
+
+  /* The number of bytes in the payload */
+  VMS_PAYLOAD_SIZE_BYTES = 3,
 };
diff --git a/automotive/vehicle/2.0/vts/Vehicle.vts b/automotive/vehicle/2.0/vts/Vehicle.vts
index 535d4b8..aa12f0c 100644
--- a/automotive/vehicle/2.0/vts/Vehicle.vts
+++ b/automotive/vehicle/2.0/vts/Vehicle.vts
@@ -6,6 +6,7 @@
 
 import: "android.hardware.automotive.vehicle@2.0::IVehicleCallback"
 import: "android.hardware.automotive.vehicle@2.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
@@ -35,8 +36,8 @@
         arg: {
             type: TYPE_VECTOR
             vector_value: {
-                type: TYPE_ENUM
-                predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+                type: TYPE_SCALAR
+                scalar_type: "int32_t"
             }
         }
     }
@@ -77,8 +78,7 @@
         }
         arg: {
             type: TYPE_HIDL_CALLBACK
-            predefined_type: "IVehicleCallback"
-            is_callback: true
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::IVehicleCallback"
         }
         arg: {
             type: TYPE_VECTOR
@@ -97,12 +97,11 @@
         }
         arg: {
             type: TYPE_HIDL_CALLBACK
-            predefined_type: "IVehicleCallback"
-            is_callback: true
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::IVehicleCallback"
         }
         arg: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
         }
     }
 
diff --git a/automotive/vehicle/2.0/vts/VehicleCallback.vts b/automotive/vehicle/2.0/vts/VehicleCallback.vts
index 3589fde..e4815d5 100644
--- a/automotive/vehicle/2.0/vts/VehicleCallback.vts
+++ b/automotive/vehicle/2.0/vts/VehicleCallback.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.automotive.vehicle"
 
 import: "android.hardware.automotive.vehicle@2.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
@@ -33,8 +34,8 @@
             predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
         }
         arg: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
         }
         arg: {
             type: TYPE_SCALAR
diff --git a/automotive/vehicle/2.0/vts/types.vts b/automotive/vehicle/2.0/vts/types.vts
index b8a9f83..3868c99 100644
--- a/automotive/vehicle/2.0/vts/types.vts
+++ b/automotive/vehicle/2.0/vts/types.vts
@@ -162,6 +162,10 @@
         scalar_value: {
             int32_t: 291504901
         }
+        enumerator: "WHEEL_TICK"
+        scalar_value: {
+            int32_t: 291570438
+        }
         enumerator: "GEAR_SELECTION"
         scalar_value: {
             int32_t: 289408000
@@ -282,10 +286,18 @@
         scalar_value: {
             int32_t: 289474816
         }
+        enumerator: "AUDIO_FOCUS_EXT_SYNC"
+        scalar_value: {
+            int32_t: 289474832
+        }
         enumerator: "AUDIO_VOLUME"
         scalar_value: {
             int32_t: 289474817
         }
+        enumerator: "AUDIO_VOLUME_EXT_SYNC"
+        scalar_value: {
+            int32_t: 289474833
+        }
         enumerator: "AUDIO_VOLUME_LIMIT"
         scalar_value: {
             int32_t: 289474818
@@ -302,9 +314,17 @@
         scalar_value: {
             int32_t: 289474821
         }
+        enumerator: "AUDIO_STREAM_STATE"
+        scalar_value: {
+            int32_t: 289474822
+        }
+        enumerator: "AUDIO_PARAMETERS"
+        scalar_value: {
+            int32_t: 286263559
+        }
         enumerator: "AP_POWER_STATE"
         scalar_value: {
-            int32_t: 2560
+            int32_t: 289475072
         }
         enumerator: "DISPLAY_BRIGHTNESS"
         scalar_value: {
@@ -506,6 +526,14 @@
         scalar_value: {
             int32_t: 299896065
         }
+        enumerator: "OBD2_FREEZE_FRAME_INFO"
+        scalar_value: {
+            int32_t: 299896066
+        }
+        enumerator: "OBD2_FREEZE_FRAME_CLEAR"
+        scalar_value: {
+            int32_t: 299896067
+        }
     }
 }
 
@@ -1585,8 +1613,8 @@
     type: TYPE_STRUCT
     struct_value: {
         name: "prop"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+        type: TYPE_SCALAR
+        scalar_type: "int32_t"
     }
     struct_value: {
         name: "access"
@@ -1685,8 +1713,8 @@
     }
     struct_value: {
         name: "prop"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+        type: TYPE_SCALAR
+        scalar_type: "int32_t"
     }
     struct_value: {
         name: "timestamp"
@@ -1793,8 +1821,8 @@
     type: TYPE_STRUCT
     struct_value: {
         name: "propId"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+        type: TYPE_SCALAR
+        scalar_type: "int32_t"
     }
     struct_value: {
         name: "vehicleAreas"
@@ -2104,6 +2132,35 @@
 }
 
 attribute: {
+    name: "::android::hardware::automotive::vehicle::V2_0::Wheel"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "UNKNOWN"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "LEFT_FRONT"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "RIGHT_FRONT"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "LEFT_REAR"
+        scalar_value: {
+            int32_t: 4
+        }
+        enumerator: "RIGHT_REAR"
+        scalar_value: {
+            int32_t: 8
+        }
+    }
+}
+
+attribute: {
     name: "::android::hardware::automotive::vehicle::V2_0::SecondaryAirStatus"
     type: TYPE_ENUM
     enum_value: {
@@ -2251,6 +2308,14 @@
         scalar_value: {
             int32_t: 2
         }
+        enumerator: "IGNITION_SPECIFIC_MONITORS"
+        scalar_value: {
+            int32_t: 3
+        }
+        enumerator: "INTAKE_AIR_TEMPERATURE"
+        scalar_value: {
+            int32_t: 4
+        }
         enumerator: "COMMANDED_SECONDARY_AIR_STATUS"
         scalar_value: {
             int32_t: 5
@@ -2671,3 +2736,45 @@
     }
 }
 
+attribute: {
+    name: "::android::hardware::automotive::vehicle::V2_0::VmsMessageType"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "SUBSCRIBE"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "UNSUBSCRIBE"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "DATA"
+        scalar_value: {
+            int32_t: 3
+        }
+    }
+}
+
+attribute: {
+    name: "::android::hardware::automotive::vehicle::V2_0::VmsMessageIntegerValuesIndex"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "VMS_MESSAGE_TYPE"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "VMS_LAYER_ID"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "VMS_LAYER_VERSION"
+        scalar_value: {
+            int32_t: 3
+        }
+    }
+}
+
diff --git a/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts b/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts
index 475333e..0581da0 100644
--- a/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts
+++ b/biometrics/fingerprint/2.1/vts/BiometricsFingerprint.vts
@@ -9,276 +9,6 @@
 import: "android.hidl.base@1.0::types"
 
 interface: {
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "SYS_UNKNOWN"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "SYS_OK"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "SYS_ENOENT"
-            scalar_value: {
-                int32_t: -2
-            }
-            enumerator: "SYS_EINTR"
-            scalar_value: {
-                int32_t: -4
-            }
-            enumerator: "SYS_EIO"
-            scalar_value: {
-                int32_t: -5
-            }
-            enumerator: "SYS_EAGAIN"
-            scalar_value: {
-                int32_t: -11
-            }
-            enumerator: "SYS_ENOMEM"
-            scalar_value: {
-                int32_t: -12
-            }
-            enumerator: "SYS_EACCES"
-            scalar_value: {
-                int32_t: -13
-            }
-            enumerator: "SYS_EFAULT"
-            scalar_value: {
-                int32_t: -14
-            }
-            enumerator: "SYS_EBUSY"
-            scalar_value: {
-                int32_t: -16
-            }
-            enumerator: "SYS_EINVAL"
-            scalar_value: {
-                int32_t: -22
-            }
-            enumerator: "SYS_ENOSPC"
-            scalar_value: {
-                int32_t: -28
-            }
-            enumerator: "SYS_ETIMEDOUT"
-            scalar_value: {
-                int32_t: -110
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ERROR_NO_ERROR"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ERROR_HW_UNAVAILABLE"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "ERROR_UNABLE_TO_PROCESS"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "ERROR_TIMEOUT"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "ERROR_NO_SPACE"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "ERROR_CANCELED"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "ERROR_UNABLE_TO_REMOVE"
-            scalar_value: {
-                int32_t: 6
-            }
-            enumerator: "ERROR_LOCKOUT"
-            scalar_value: {
-                int32_t: 7
-            }
-            enumerator: "ERROR_VENDOR"
-            scalar_value: {
-                int32_t: 8
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ACQUIRED_GOOD"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ACQUIRED_PARTIAL"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "ACQUIRED_INSUFFICIENT"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "ACQUIRED_IMAGER_DIRTY"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "ACQUIRED_TOO_SLOW"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "ACQUIRED_TOO_FAST"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "ACQUIRED_VENDOR"
-            scalar_value: {
-                int32_t: 6
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "gid"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fid"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintEnroll"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "samplesRemaining"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "msg"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintIterator"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "remainingTemplates"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquired"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "acquiredInfo"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAuthenticated"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "hat"
-            type: TYPE_ARRAY
-            vector_size: 69
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintMsgType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ERROR"
-            scalar_value: {
-                int32_t: -1
-            }
-            enumerator: "ACQUIRED"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "TEMPLATE_ENROLLING"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "TEMPLATE_REMOVED"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "AUTHENTICATED"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "TEMPLATE_ENUMERATING"
-            scalar_value: {
-                int32_t: 6
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hidl::base::V1_0::DebugInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "pid"
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-        struct_value: {
-            name: "ptr"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
     api: {
         name: "setNotify"
         return_type_hidl: {
diff --git a/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts b/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts
index 7cf4003..dedda65 100644
--- a/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts
+++ b/biometrics/fingerprint/2.1/vts/BiometricsFingerprintClientCallback.vts
@@ -8,276 +8,6 @@
 import: "android.hidl.base@1.0::types"
 
 interface: {
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::RequestStatus"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "SYS_UNKNOWN"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "SYS_OK"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "SYS_ENOENT"
-            scalar_value: {
-                int32_t: -2
-            }
-            enumerator: "SYS_EINTR"
-            scalar_value: {
-                int32_t: -4
-            }
-            enumerator: "SYS_EIO"
-            scalar_value: {
-                int32_t: -5
-            }
-            enumerator: "SYS_EAGAIN"
-            scalar_value: {
-                int32_t: -11
-            }
-            enumerator: "SYS_ENOMEM"
-            scalar_value: {
-                int32_t: -12
-            }
-            enumerator: "SYS_EACCES"
-            scalar_value: {
-                int32_t: -13
-            }
-            enumerator: "SYS_EFAULT"
-            scalar_value: {
-                int32_t: -14
-            }
-            enumerator: "SYS_EBUSY"
-            scalar_value: {
-                int32_t: -16
-            }
-            enumerator: "SYS_EINVAL"
-            scalar_value: {
-                int32_t: -22
-            }
-            enumerator: "SYS_ENOSPC"
-            scalar_value: {
-                int32_t: -28
-            }
-            enumerator: "SYS_ETIMEDOUT"
-            scalar_value: {
-                int32_t: -110
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintError"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ERROR_NO_ERROR"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ERROR_HW_UNAVAILABLE"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "ERROR_UNABLE_TO_PROCESS"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "ERROR_TIMEOUT"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "ERROR_NO_SPACE"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "ERROR_CANCELED"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "ERROR_UNABLE_TO_REMOVE"
-            scalar_value: {
-                int32_t: 6
-            }
-            enumerator: "ERROR_LOCKOUT"
-            scalar_value: {
-                int32_t: 7
-            }
-            enumerator: "ERROR_VENDOR"
-            scalar_value: {
-                int32_t: 8
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ACQUIRED_GOOD"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ACQUIRED_PARTIAL"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "ACQUIRED_INSUFFICIENT"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "ACQUIRED_IMAGER_DIRTY"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "ACQUIRED_TOO_SLOW"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "ACQUIRED_TOO_FAST"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "ACQUIRED_VENDOR"
-            scalar_value: {
-                int32_t: 6
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "gid"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fid"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintEnroll"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "samplesRemaining"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "msg"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintIterator"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "remainingTemplates"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquired"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "acquiredInfo"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintAuthenticated"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "finger"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintFingerId"
-        }
-        struct_value: {
-            name: "hat"
-            type: TYPE_ARRAY
-            vector_size: 69
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::biometrics::fingerprint::V2_1::FingerprintMsgType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "ERROR"
-            scalar_value: {
-                int32_t: -1
-            }
-            enumerator: "ACQUIRED"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "TEMPLATE_ENROLLING"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "TEMPLATE_REMOVED"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "AUTHENTICATED"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "TEMPLATE_ENUMERATING"
-            scalar_value: {
-                int32_t: 6
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hidl::base::V1_0::DebugInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "pid"
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-        struct_value: {
-            name: "ptr"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
     api: {
         name: "onEnrollResult"
         arg: {
diff --git a/biometrics/fingerprint/2.1/vts/functional/Android.bp b/biometrics/fingerprint/2.1/vts/functional/Android.bp
index 7d2e83f..25f7cc0 100644
--- a/biometrics/fingerprint/2.1/vts/functional/Android.bp
+++ b/biometrics/fingerprint/2.1/vts/functional/Android.bp
@@ -30,12 +30,8 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
 
diff --git a/bluetooth/1.0/vts/functional/Android.bp b/bluetooth/1.0/vts/functional/Android.bp
index 7d04736..086ac99 100644
--- a/bluetooth/1.0/vts/functional/Android.bp
+++ b/bluetooth/1.0/vts/functional/Android.bp
@@ -31,11 +31,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
     ],
-    ldflags: [
-        "--coverage",
-    ],
 }
diff --git a/boot/1.0/vts/BootControl.vts b/boot/1.0/vts/BootControl.vts
index 384ae50..b400f0e 100644
--- a/boot/1.0/vts/BootControl.vts
+++ b/boot/1.0/vts/BootControl.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.boot"
 
 import: "android.hardware.boot@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/boot/1.0/vts/functional/Android.bp b/boot/1.0/vts/functional/Android.bp
index 714a18b..6c28bf1 100644
--- a/boot/1.0/vts/functional/Android.bp
+++ b/boot/1.0/vts/functional/Android.bp
@@ -30,11 +30,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index f37c45b..0f3d97b 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -194,9 +194,9 @@
             mRelease(mDevice, handle);
         } else {
             mModule->unregisterBuffer(mModule, handle);
-            native_handle_close(handle);
-            native_handle_delete(const_cast<native_handle_t*>(handle));
         }
+        native_handle_close(handle);
+        native_handle_delete(const_cast<native_handle_t*>(handle));
     }
 
     // gralloc1
diff --git a/contexthub/1.0/vts/Contexthub.vts b/contexthub/1.0/vts/Contexthub.vts
index b06efe6..a5cdc81 100644
--- a/contexthub/1.0/vts/Contexthub.vts
+++ b/contexthub/1.0/vts/Contexthub.vts
@@ -9,491 +9,6 @@
 import: "android.hidl.base@1.0::types"
 
 interface: {
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::Result"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "OK"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "UNKNOWN_FAILURE"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "BAD_PARAMS"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "NOT_INIT"
-            scalar_value: {
-                uint32_t: 3
-            }
-            enumerator: "TRANSACTION_FAILED"
-            scalar_value: {
-                uint32_t: 4
-            }
-            enumerator: "TRANSACTION_PENDING"
-            scalar_value: {
-                uint32_t: 5
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::NanoAppFlags"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "SIGNED"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "ENCRYPTED"
-            scalar_value: {
-                uint32_t: 2
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::NanoAppBinary"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "appVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "flags"
-            type: TYPE_MASK
-            scalar_type: "uint32_t"
-            predefined_type: "::android::hardware::contexthub::V1_0::NanoAppFlags"
-        }
-        struct_value: {
-            name: "targetChreApiMajorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "targetChreApiMinorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "customBinary"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::SensorType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "RESERVED"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "ACCELEROMETER"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "GYROSCOPE"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "MAGNETOMETER"
-            scalar_value: {
-                uint32_t: 3
-            }
-            enumerator: "BAROMETER"
-            scalar_value: {
-                uint32_t: 4
-            }
-            enumerator: "PROXIMITY_SENSOR"
-            scalar_value: {
-                uint32_t: 5
-            }
-            enumerator: "AMBIENT_LIGHT_SENSOR"
-            scalar_value: {
-                uint32_t: 6
-            }
-            enumerator: "STATIONARY_DETECT"
-            scalar_value: {
-                uint32_t: 7
-            }
-            enumerator: "INSTANT_MOTION_DETECT"
-            scalar_value: {
-                uint32_t: 8
-            }
-            enumerator: "GPS"
-            scalar_value: {
-                uint32_t: 256
-            }
-            enumerator: "WIFI"
-            scalar_value: {
-                uint32_t: 512
-            }
-            enumerator: "AUDIO"
-            scalar_value: {
-                uint32_t: 768
-            }
-            enumerator: "CAMERA"
-            scalar_value: {
-                uint32_t: 1024
-            }
-            enumerator: "BLE"
-            scalar_value: {
-                uint32_t: 1280
-            }
-            enumerator: "WWAN"
-            scalar_value: {
-                uint32_t: 1536
-            }
-            enumerator: "PRIVATE_SENSOR_BASE"
-            scalar_value: {
-                uint32_t: 65536
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::PhysicalSensor"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "sensorType"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::contexthub::V1_0::SensorType"
-        }
-        struct_value: {
-            name: "type"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "name"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "vendor"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "version"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fifoReservedCount"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fifoMaxCount"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "minDelayMs"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "maxDelayMs"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "peakPowerMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::ContextHub"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "name"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "vendor"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "toolchain"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "platformVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "toolchainVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "hubId"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "peakMips"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "stoppedPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "sleepPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "peakPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "connectedSensors"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::contexthub::V1_0::PhysicalSensor"
-            }
-        }
-        struct_value: {
-            name: "maxSupportedMsgLen"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "chrePlatformId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "chreApiMajorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "chreApiMinorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "chrePatchVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint16_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HostEndPoint"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint16_t"
-
-            enumerator: "BROADCAST"
-            scalar_value: {
-                uint16_t: 65535
-            }
-            enumerator: "UNSPECIFIED"
-            scalar_value: {
-                uint16_t: 65534
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::ContextHubMsg"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appName"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "hostEndPoint"
-            type: TYPE_SCALAR
-            scalar_type: "uint16_t"
-        }
-        struct_value: {
-            name: "msgType"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "msg"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubMemoryType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "MAIN"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "SECONDARY"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "TCM"
-            scalar_value: {
-                uint32_t: 2
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "READ"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "WRITE"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "EXEC"
-            scalar_value: {
-                uint32_t: 4
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::MemRange"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "totalBytes"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "freeBytes"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "type"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryType"
-        }
-        struct_value: {
-            name: "flags"
-            type: TYPE_MASK
-            scalar_type: "uint32_t"
-            predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::AsyncEventType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "RESTARTED"
-            scalar_value: {
-                uint32_t: 1
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::TransactionResult"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "SUCCESS"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "FAILURE"
-            scalar_value: {
-                int32_t: 1
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubAppInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "version"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "memUsage"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::contexthub::V1_0::MemRange"
-            }
-        }
-        struct_value: {
-            name: "enabled"
-            type: TYPE_SCALAR
-            scalar_type: "bool_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hidl::base::V1_0::DebugInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "pid"
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-        struct_value: {
-            name: "ptr"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
     api: {
         name: "getHubs"
         return_type_hidl: {
diff --git a/contexthub/1.0/vts/ContexthubCallback.vts b/contexthub/1.0/vts/ContexthubCallback.vts
index 7897a83..59ff2fe 100644
--- a/contexthub/1.0/vts/ContexthubCallback.vts
+++ b/contexthub/1.0/vts/ContexthubCallback.vts
@@ -8,491 +8,6 @@
 import: "android.hidl.base@1.0::types"
 
 interface: {
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::Result"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "OK"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "UNKNOWN_FAILURE"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "BAD_PARAMS"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "NOT_INIT"
-            scalar_value: {
-                uint32_t: 3
-            }
-            enumerator: "TRANSACTION_FAILED"
-            scalar_value: {
-                uint32_t: 4
-            }
-            enumerator: "TRANSACTION_PENDING"
-            scalar_value: {
-                uint32_t: 5
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::NanoAppFlags"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "SIGNED"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "ENCRYPTED"
-            scalar_value: {
-                uint32_t: 2
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::NanoAppBinary"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "appVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "flags"
-            type: TYPE_MASK
-            scalar_type: "uint32_t"
-            predefined_type: "::android::hardware::contexthub::V1_0::NanoAppFlags"
-        }
-        struct_value: {
-            name: "targetChreApiMajorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "targetChreApiMinorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "customBinary"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::SensorType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "RESERVED"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "ACCELEROMETER"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "GYROSCOPE"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "MAGNETOMETER"
-            scalar_value: {
-                uint32_t: 3
-            }
-            enumerator: "BAROMETER"
-            scalar_value: {
-                uint32_t: 4
-            }
-            enumerator: "PROXIMITY_SENSOR"
-            scalar_value: {
-                uint32_t: 5
-            }
-            enumerator: "AMBIENT_LIGHT_SENSOR"
-            scalar_value: {
-                uint32_t: 6
-            }
-            enumerator: "STATIONARY_DETECT"
-            scalar_value: {
-                uint32_t: 7
-            }
-            enumerator: "INSTANT_MOTION_DETECT"
-            scalar_value: {
-                uint32_t: 8
-            }
-            enumerator: "GPS"
-            scalar_value: {
-                uint32_t: 256
-            }
-            enumerator: "WIFI"
-            scalar_value: {
-                uint32_t: 512
-            }
-            enumerator: "AUDIO"
-            scalar_value: {
-                uint32_t: 768
-            }
-            enumerator: "CAMERA"
-            scalar_value: {
-                uint32_t: 1024
-            }
-            enumerator: "BLE"
-            scalar_value: {
-                uint32_t: 1280
-            }
-            enumerator: "WWAN"
-            scalar_value: {
-                uint32_t: 1536
-            }
-            enumerator: "PRIVATE_SENSOR_BASE"
-            scalar_value: {
-                uint32_t: 65536
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::PhysicalSensor"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "sensorType"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::contexthub::V1_0::SensorType"
-        }
-        struct_value: {
-            name: "type"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "name"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "vendor"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "version"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fifoReservedCount"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "fifoMaxCount"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "minDelayMs"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "maxDelayMs"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "peakPowerMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::ContextHub"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "name"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "vendor"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "toolchain"
-            type: TYPE_STRING
-        }
-        struct_value: {
-            name: "platformVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "toolchainVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "hubId"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "peakMips"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "stoppedPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "sleepPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "peakPowerDrawMw"
-            type: TYPE_SCALAR
-            scalar_type: "float_t"
-        }
-        struct_value: {
-            name: "connectedSensors"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::contexthub::V1_0::PhysicalSensor"
-            }
-        }
-        struct_value: {
-            name: "maxSupportedMsgLen"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "chrePlatformId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "chreApiMajorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "chreApiMinorVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-        struct_value: {
-            name: "chrePatchVersion"
-            type: TYPE_SCALAR
-            scalar_type: "uint16_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HostEndPoint"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint16_t"
-
-            enumerator: "BROADCAST"
-            scalar_value: {
-                uint16_t: 65535
-            }
-            enumerator: "UNSPECIFIED"
-            scalar_value: {
-                uint16_t: 65534
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::ContextHubMsg"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appName"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "hostEndPoint"
-            type: TYPE_SCALAR
-            scalar_type: "uint16_t"
-        }
-        struct_value: {
-            name: "msgType"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "msg"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_SCALAR
-                scalar_type: "uint8_t"
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubMemoryType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "MAIN"
-            scalar_value: {
-                uint32_t: 0
-            }
-            enumerator: "SECONDARY"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "TCM"
-            scalar_value: {
-                uint32_t: 2
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "READ"
-            scalar_value: {
-                uint32_t: 1
-            }
-            enumerator: "WRITE"
-            scalar_value: {
-                uint32_t: 2
-            }
-            enumerator: "EXEC"
-            scalar_value: {
-                uint32_t: 4
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::MemRange"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "totalBytes"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "freeBytes"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "type"
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryType"
-        }
-        struct_value: {
-            name: "flags"
-            type: TYPE_MASK
-            scalar_type: "uint32_t"
-            predefined_type: "::android::hardware::contexthub::V1_0::HubMemoryFlag"
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::AsyncEventType"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "uint32_t"
-
-            enumerator: "RESTARTED"
-            scalar_value: {
-                uint32_t: 1
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::TransactionResult"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "SUCCESS"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "FAILURE"
-            scalar_value: {
-                int32_t: 1
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::contexthub::V1_0::HubAppInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "appId"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-        struct_value: {
-            name: "version"
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-        struct_value: {
-            name: "memUsage"
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::contexthub::V1_0::MemRange"
-            }
-        }
-        struct_value: {
-            name: "enabled"
-            type: TYPE_SCALAR
-            scalar_type: "bool_t"
-        }
-    }
-
-    attribute: {
-        name: "::android::hidl::base::V1_0::DebugInfo"
-        type: TYPE_STRUCT
-        struct_value: {
-            name: "pid"
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-        struct_value: {
-            name: "ptr"
-            type: TYPE_SCALAR
-            scalar_type: "uint64_t"
-        }
-    }
-
     api: {
         name: "handleClientMsg"
         arg: {
diff --git a/contexthub/1.0/vts/functional/Android.bp b/contexthub/1.0/vts/functional/Android.bp
index e78898e..1c011a0 100644
--- a/contexthub/1.0/vts/functional/Android.bp
+++ b/contexthub/1.0/vts/functional/Android.bp
@@ -27,12 +27,8 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage",
-    ],
+    ]
 }
 
diff --git a/drm/1.0/default/CryptoFactory.cpp b/drm/1.0/default/CryptoFactory.cpp
index 13cad67..e46233d 100644
--- a/drm/1.0/default/CryptoFactory.cpp
+++ b/drm/1.0/default/CryptoFactory.cpp
@@ -15,11 +15,10 @@
  */
 #define LOG_TAG "android.hardware.drm@1.0-impl"
 
-#include <utils/Log.h>
-
 #include "CryptoFactory.h"
 #include "CryptoPlugin.h"
 #include "TypeConvert.h"
+#include <utils/Log.h>
 
 namespace android {
 namespace hardware {
@@ -27,63 +26,45 @@
 namespace V1_0 {
 namespace implementation {
 
-CryptoFactory::CryptoFactory() :
-    trebleLoader("/vendor/lib/hw", "createCryptoFactory"),
-    legacyLoader("/vendor/lib/mediadrm", "createCryptoFactory") {
-}
-
-// Methods from ::android::hardware::drm::V1_0::ICryptoFactory follow.
-Return<bool> CryptoFactory::isCryptoSchemeSupported(
-        const hidl_array<uint8_t, 16>& uuid) {
-    return isCryptoSchemeSupported(trebleLoader, uuid) ||
-            isCryptoSchemeSupported(legacyLoader, uuid);
-}
-
-Return<void> CryptoFactory::createPlugin(const hidl_array<uint8_t, 16>& uuid,
-        const hidl_vec<uint8_t>& initData, createPlugin_cb _hidl_cb) {
-    sp<ICryptoPlugin> plugin = createTreblePlugin(uuid, initData);
-    if (plugin == nullptr) {
-        plugin = createLegacyPlugin(uuid, initData);
+    CryptoFactory::CryptoFactory() :
+        loader("/vendor/lib/mediadrm", "createCryptoFactory") {
     }
-    _hidl_cb(plugin != nullptr ? Status::OK : Status::ERROR_DRM_CANNOT_HANDLE, plugin);
-    return Void();
-}
 
-sp<ICryptoPlugin> CryptoFactory::createTreblePlugin(const hidl_array<uint8_t, 16>& uuid,
-        const hidl_vec<uint8_t>& initData) {
-    sp<ICryptoPlugin> plugin;
-    for (size_t i = 0; i < trebleLoader.factoryCount(); i++) {
-        Return<void> hResult = trebleLoader.getFactory(i)->createPlugin(uuid, initData,
-                [&](Status status, const sp<ICryptoPlugin>& hPlugin) {
-                    if (status == Status::OK) {
-                        plugin = hPlugin;
-                    }
+    // Methods from ::android::hardware::drm::V1_0::ICryptoFactory follow.
+    Return<bool> CryptoFactory::isCryptoSchemeSupported(
+            const hidl_array<uint8_t, 16>& uuid) {
+        for (size_t i = 0; i < loader.factoryCount(); i++) {
+            if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    Return<void> CryptoFactory::createPlugin(const hidl_array<uint8_t, 16>& uuid,
+            const hidl_vec<uint8_t>& initData, createPlugin_cb _hidl_cb) {
+        for (size_t i = 0; i < loader.factoryCount(); i++) {
+            if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
+                android::CryptoPlugin *legacyPlugin = NULL;
+                status_t status = loader.getFactory(i)->createPlugin(uuid.data(),
+                        initData.data(), initData.size(), &legacyPlugin);
+                CryptoPlugin *newPlugin = NULL;
+                if (legacyPlugin == NULL) {
+                    ALOGE("Crypto legacy HAL: failed to create crypto plugin");
+                } else {
+                    newPlugin = new CryptoPlugin(legacyPlugin);
                 }
-            );
-        if (plugin != nullptr) {
-            return plugin;
+                _hidl_cb(toStatus(status), newPlugin);
+                return Void();
+            }
         }
+        _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, NULL);
+        return Void();
     }
-    return nullptr;
-}
 
-sp<ICryptoPlugin> CryptoFactory::createLegacyPlugin(const hidl_array<uint8_t, 16>& uuid,
-        const hidl_vec<uint8_t>& initData) {
-    android::CryptoPlugin *legacyPlugin = nullptr;
-    for (size_t i = 0; i < legacyLoader.factoryCount(); i++) {
-        legacyLoader.getFactory(i)->createPlugin(uuid.data(),
-                initData.data(), initData.size(), &legacyPlugin);
-        if (legacyPlugin) {
-            return new CryptoPlugin(legacyPlugin);
-        }
+    ICryptoFactory* HIDL_FETCH_ICryptoFactory(const char* /* name */) {
+        return new CryptoFactory();
     }
-    return nullptr;
-}
-
-
-ICryptoFactory* HIDL_FETCH_ICryptoFactory(const char* /* name */) {
-    return new CryptoFactory();
-}
 
 }  // namespace implementation
 }  // namespace V1_0
diff --git a/drm/1.0/default/CryptoFactory.h b/drm/1.0/default/CryptoFactory.h
index d774406..412b557 100644
--- a/drm/1.0/default/CryptoFactory.h
+++ b/drm/1.0/default/CryptoFactory.h
@@ -41,7 +41,8 @@
     CryptoFactory();
     virtual ~CryptoFactory() {}
 
-    // Methods from ::android::hardware::drmn::V1_0::ICryptoFactory follow.
+    // Methods from ::android::hardware::drm::V1_0::ICryptoFactory follow.
+
     Return<bool> isCryptoSchemeSupported(const hidl_array<uint8_t, 16>& uuid)
             override;
 
@@ -50,27 +51,7 @@
             override;
 
 private:
-    template <typename L> Return<bool> isCryptoSchemeSupported(
-            const L& loader, const hidl_array<uint8_t, 16>& uuid) {
-        for (size_t i = 0; i < loader.factoryCount(); i++) {
-           if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    sp<ICryptoPlugin> createTreblePlugin(const hidl_array<uint8_t, 16>& uuid,
-                    const hidl_vec<uint8_t>& initData);
-
-    sp<ICryptoPlugin> createLegacyPlugin(const hidl_array<uint8_t, 16>& uuid,
-                    const hidl_vec<uint8_t>& initData);
-
-    typedef android::PluginLoader<ICryptoFactory> PluginLoader;
-    PluginLoader trebleLoader;
-
-    typedef android::PluginLoader<android::CryptoFactory> LegacyLoader;
-    LegacyLoader legacyLoader;
+    android::PluginLoader<android::CryptoFactory> loader;
 
     CryptoFactory(const CryptoFactory &) = delete;
     void operator=(const CryptoFactory &) = delete;
diff --git a/drm/1.0/default/DrmFactory.cpp b/drm/1.0/default/DrmFactory.cpp
index c98c1da..92f54f1 100644
--- a/drm/1.0/default/DrmFactory.cpp
+++ b/drm/1.0/default/DrmFactory.cpp
@@ -15,11 +15,10 @@
  */
 #define LOG_TAG "android.hardware.drm@1.0-impl"
 
-#include <utils/Log.h>
-
 #include "DrmFactory.h"
 #include "DrmPlugin.h"
 #include "TypeConvert.h"
+#include <utils/Log.h>
 
 namespace android {
 namespace hardware {
@@ -27,66 +26,56 @@
 namespace V1_0 {
 namespace implementation {
 
-DrmFactory::DrmFactory() :
-    trebleLoader("/vendor/lib/hw", "createDrmFactory"),
-    legacyLoader("/vendor/lib/mediadrm", "createDrmFactory") {
-}
+    DrmFactory::DrmFactory() :
+        loader("/vendor/lib/mediadrm", "createDrmFactory") {
+    }
 
-// Methods from ::android::hardware::drm::V1_0::IDrmFactory follow.
-Return<bool> DrmFactory::isCryptoSchemeSupported(
-        const hidl_array<uint8_t, 16>& uuid) {
-    return isCryptoSchemeSupported(trebleLoader, uuid) ||
-            isCryptoSchemeSupported(legacyLoader, uuid);
-}
+    // Methods from ::android::hardware::drm::V1_0::IDrmFactory follow.
+    Return<bool> DrmFactory::isCryptoSchemeSupported (
+            const hidl_array<uint8_t, 16>& uuid) {
+        for (size_t i = 0; i < loader.factoryCount(); i++) {
+            if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
+                return true;
+            }
+        }
+        return false;
+    }
 
-Return<bool> DrmFactory::isContentTypeSupported (
-        const hidl_string& mimeType) {
-    return isContentTypeSupported<PluginLoader, hidl_string>(trebleLoader, mimeType) ||
-            isContentTypeSupported<LegacyLoader, String8>(legacyLoader, mimeType);
-}
+    Return<bool> DrmFactory::isContentTypeSupported (
+            const hidl_string& mimeType) {
+        for (size_t i = 0; i < loader.factoryCount(); i++) {
+            if (loader.getFactory(i)->isContentTypeSupported(String8(mimeType.c_str()))) {
+                return true;
+            }
+        }
+        return false;
+    }
 
     Return<void> DrmFactory::createPlugin(const hidl_array<uint8_t, 16>& uuid,
             const hidl_string& appPackageName, createPlugin_cb _hidl_cb) {
-        sp<IDrmPlugin> plugin = createTreblePlugin(uuid, appPackageName);
-    if (plugin == nullptr) {
-        plugin = createLegacyPlugin(uuid);
-    }
-    _hidl_cb(plugin != nullptr ? Status::OK : Status::ERROR_DRM_CANNOT_HANDLE, plugin);
-    return Void();
-}
 
-sp<IDrmPlugin> DrmFactory::createTreblePlugin(const hidl_array<uint8_t, 16>& uuid,
-        const hidl_string& appPackageName) {
-    sp<IDrmPlugin> plugin;
-    for (size_t i = 0; i < trebleLoader.factoryCount(); i++) {
-        Return<void> hResult = trebleLoader.getFactory(i)->createPlugin(uuid,
-                appPackageName, [&](Status status, const sp<IDrmPlugin>& hPlugin) {
-                    if (status == Status::OK) {
-                        plugin = hPlugin;
-                    }
+        for (size_t i = 0; i < loader.factoryCount(); i++) {
+            if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
+                android::DrmPlugin *legacyPlugin = NULL;
+                status_t status = loader.getFactory(i)->createDrmPlugin(
+                        uuid.data(), &legacyPlugin);
+                DrmPlugin *newPlugin = NULL;
+                if (legacyPlugin == NULL) {
+                    ALOGE("Drm legacy HAL: failed to create drm plugin");
+                } else {
+                    newPlugin = new DrmPlugin(legacyPlugin);
                 }
-            );
-        if (plugin != nullptr) {
-            return plugin;
+                _hidl_cb(toStatus(status), newPlugin);
+                return Void();
+            }
         }
+        _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, NULL);
+        return Void();
     }
-    return nullptr;
-}
 
-sp<IDrmPlugin> DrmFactory::createLegacyPlugin(const hidl_array<uint8_t, 16>& uuid) {
-    android::DrmPlugin *legacyPlugin = nullptr;
-    for (size_t i = 0; i < legacyLoader.factoryCount(); i++) {
-        legacyLoader.getFactory(i)->createDrmPlugin(uuid.data(), &legacyPlugin);
-        if (legacyPlugin) {
-            return new DrmPlugin(legacyPlugin);
-        }
+    IDrmFactory* HIDL_FETCH_IDrmFactory(const char* /* name */) {
+        return new DrmFactory();
     }
-    return nullptr;
-}
-
-IDrmFactory* HIDL_FETCH_IDrmFactory(const char* /* name */) {
-    return new DrmFactory();
-}
 
 }  // namespace implementation
 }  // namespace V1_0
diff --git a/drm/1.0/default/DrmFactory.h b/drm/1.0/default/DrmFactory.h
index 2e71624..a008844 100644
--- a/drm/1.0/default/DrmFactory.h
+++ b/drm/1.0/default/DrmFactory.h
@@ -42,45 +42,18 @@
     virtual ~DrmFactory() {}
 
     // Methods from ::android::hardware::drm::V1_0::IDrmFactory follow.
+
     Return<bool> isCryptoSchemeSupported(const hidl_array<uint8_t, 16>& uuid)
             override;
 
-    Return<bool> isContentTypeSupported(const hidl_string& mimeType)
+    Return<bool> isContentTypeSupported(const hidl_string &mimeType)
             override;
 
     Return<void> createPlugin(const hidl_array<uint8_t, 16>& uuid,
             const hidl_string& appPackageName, createPlugin_cb _hidl_cb) override;
 
 private:
-    template <typename L> Return<bool> isCryptoSchemeSupported(
-            const L& loader, const hidl_array<uint8_t, 16>& uuid) {
-        for (size_t i = 0; i < loader.factoryCount(); i++) {
-            if (loader.getFactory(i)->isCryptoSchemeSupported(uuid.data())) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    template <typename L, typename S> Return<bool> isContentTypeSupported(
-            const L& loader, const hidl_string& mimeType) {
-        for (size_t i = 0; i < loader.factoryCount(); i++) {
-            if (loader.getFactory(i)->isContentTypeSupported(S(mimeType))) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    sp<IDrmPlugin> createTreblePlugin(const hidl_array<uint8_t, 16>& uuid,
-        const hidl_string& appPackageName);
-    sp<IDrmPlugin> createLegacyPlugin(const hidl_array<uint8_t, 16>& uuid);
-
-    typedef android::PluginLoader<IDrmFactory> PluginLoader;
-    PluginLoader trebleLoader;
-
-    typedef android::PluginLoader<android::DrmFactory> LegacyLoader;
-    LegacyLoader legacyLoader;
+    android::PluginLoader<android::DrmFactory> loader;
 
     DrmFactory(const DrmFactory &) = delete;
     void operator=(const DrmFactory &) = delete;
diff --git a/gatekeeper/1.0/vts/Gatekeeper.vts b/gatekeeper/1.0/vts/Gatekeeper.vts
index 25dc32f..9e63488 100644
--- a/gatekeeper/1.0/vts/Gatekeeper.vts
+++ b/gatekeeper/1.0/vts/Gatekeeper.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.gatekeeper"
 
 import: "android.hardware.gatekeeper@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/gatekeeper/1.0/vts/functional/Android.bp b/gatekeeper/1.0/vts/functional/Android.bp
index e79e40e..70a85c6 100644
--- a/gatekeeper/1.0/vts/functional/Android.bp
+++ b/gatekeeper/1.0/vts/functional/Android.bp
@@ -31,11 +31,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
diff --git a/graphics/allocator/2.0/vts/Allocator.vts b/graphics/allocator/2.0/vts/Allocator.vts
index e767cbd..b26876d 100644
--- a/graphics/allocator/2.0/vts/Allocator.vts
+++ b/graphics/allocator/2.0/vts/Allocator.vts
@@ -6,6 +6,8 @@
 
 import: "android.hardware.graphics.allocator@2.0::IAllocatorClient"
 import: "android.hardware.graphics.allocator@2.0::types"
+import: "android.hardware.graphics.common@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
@@ -73,8 +75,7 @@
         }
         return_type_hidl: {
             type: TYPE_HIDL_INTERFACE
-            predefined_type: "IAllocatorClient"
-            is_callback: false
+            predefined_type: "::android::hardware::graphics::allocator::V2_0::IAllocatorClient"
         }
         callflow: {
             entry: true
diff --git a/graphics/allocator/2.0/vts/AllocatorClient.vts b/graphics/allocator/2.0/vts/AllocatorClient.vts
index 2ab19f7..585c36c 100644
--- a/graphics/allocator/2.0/vts/AllocatorClient.vts
+++ b/graphics/allocator/2.0/vts/AllocatorClient.vts
@@ -6,475 +6,10 @@
 
 import: "android.hardware.graphics.allocator@2.0::types"
 import: "android.hardware.graphics.common@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
-        name: "::android::hardware::graphics::common::V1_0::PixelFormat"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "RGBA_8888"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "RGBX_8888"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "RGB_888"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "RGB_565"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "BGRA_8888"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "RGBA_FP16"
-            scalar_value: {
-                int32_t: 22
-            }
-            enumerator: "YV12"
-            scalar_value: {
-                int32_t: 842094169
-            }
-            enumerator: "Y8"
-            scalar_value: {
-                int32_t: 538982489
-            }
-            enumerator: "Y16"
-            scalar_value: {
-                int32_t: 540422489
-            }
-            enumerator: "RAW16"
-            scalar_value: {
-                int32_t: 32
-            }
-            enumerator: "RAW10"
-            scalar_value: {
-                int32_t: 37
-            }
-            enumerator: "RAW12"
-            scalar_value: {
-                int32_t: 38
-            }
-            enumerator: "RAW_OPAQUE"
-            scalar_value: {
-                int32_t: 36
-            }
-            enumerator: "BLOB"
-            scalar_value: {
-                int32_t: 33
-            }
-            enumerator: "IMPLEMENTATION_DEFINED"
-            scalar_value: {
-                int32_t: 34
-            }
-            enumerator: "YCBCR_420_888"
-            scalar_value: {
-                int32_t: 35
-            }
-            enumerator: "YCBCR_422_888"
-            scalar_value: {
-                int32_t: 39
-            }
-            enumerator: "YCBCR_444_888"
-            scalar_value: {
-                int32_t: 40
-            }
-            enumerator: "FLEX_RGB_888"
-            scalar_value: {
-                int32_t: 41
-            }
-            enumerator: "FLEX_RGBA_8888"
-            scalar_value: {
-                int32_t: 42
-            }
-            enumerator: "YCBCR_422_SP"
-            scalar_value: {
-                int32_t: 16
-            }
-            enumerator: "YCRCB_420_SP"
-            scalar_value: {
-                int32_t: 17
-            }
-            enumerator: "YCBCR_422_I"
-            scalar_value: {
-                int32_t: 20
-            }
-            enumerator: "JPEG"
-            scalar_value: {
-                int32_t: 256
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::graphics::common::V1_0::Transform"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "FLIP_H"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "FLIP_V"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "ROT_90"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "ROT_180"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "ROT_270"
-            scalar_value: {
-                int32_t: 7
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::graphics::common::V1_0::Dataspace"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "UNKNOWN"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ARBITRARY"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "STANDARD_SHIFT"
-            scalar_value: {
-                int32_t: 16
-            }
-            enumerator: "STANDARD_MASK"
-            scalar_value: {
-                int32_t: 4128768
-            }
-            enumerator: "STANDARD_UNSPECIFIED"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "STANDARD_BT709"
-            scalar_value: {
-                int32_t: 65536
-            }
-            enumerator: "STANDARD_BT601_625"
-            scalar_value: {
-                int32_t: 131072
-            }
-            enumerator: "STANDARD_BT601_625_UNADJUSTED"
-            scalar_value: {
-                int32_t: 196608
-            }
-            enumerator: "STANDARD_BT601_525"
-            scalar_value: {
-                int32_t: 262144
-            }
-            enumerator: "STANDARD_BT601_525_UNADJUSTED"
-            scalar_value: {
-                int32_t: 327680
-            }
-            enumerator: "STANDARD_BT2020"
-            scalar_value: {
-                int32_t: 393216
-            }
-            enumerator: "STANDARD_BT2020_CONSTANT_LUMINANCE"
-            scalar_value: {
-                int32_t: 458752
-            }
-            enumerator: "STANDARD_BT470M"
-            scalar_value: {
-                int32_t: 524288
-            }
-            enumerator: "STANDARD_FILM"
-            scalar_value: {
-                int32_t: 589824
-            }
-            enumerator: "STANDARD_DCI_P3"
-            scalar_value: {
-                int32_t: 655360
-            }
-            enumerator: "STANDARD_ADOBE_RGB"
-            scalar_value: {
-                int32_t: 720896
-            }
-            enumerator: "TRANSFER_SHIFT"
-            scalar_value: {
-                int32_t: 22
-            }
-            enumerator: "TRANSFER_MASK"
-            scalar_value: {
-                int32_t: 130023424
-            }
-            enumerator: "TRANSFER_UNSPECIFIED"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "TRANSFER_LINEAR"
-            scalar_value: {
-                int32_t: 4194304
-            }
-            enumerator: "TRANSFER_SRGB"
-            scalar_value: {
-                int32_t: 8388608
-            }
-            enumerator: "TRANSFER_SMPTE_170M"
-            scalar_value: {
-                int32_t: 12582912
-            }
-            enumerator: "TRANSFER_GAMMA2_2"
-            scalar_value: {
-                int32_t: 16777216
-            }
-            enumerator: "TRANSFER_GAMMA2_6"
-            scalar_value: {
-                int32_t: 20971520
-            }
-            enumerator: "TRANSFER_GAMMA2_8"
-            scalar_value: {
-                int32_t: 25165824
-            }
-            enumerator: "TRANSFER_ST2084"
-            scalar_value: {
-                int32_t: 29360128
-            }
-            enumerator: "TRANSFER_HLG"
-            scalar_value: {
-                int32_t: 33554432
-            }
-            enumerator: "RANGE_SHIFT"
-            scalar_value: {
-                int32_t: 27
-            }
-            enumerator: "RANGE_MASK"
-            scalar_value: {
-                int32_t: 939524096
-            }
-            enumerator: "RANGE_UNSPECIFIED"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "RANGE_FULL"
-            scalar_value: {
-                int32_t: 134217728
-            }
-            enumerator: "RANGE_LIMITED"
-            scalar_value: {
-                int32_t: 268435456
-            }
-            enumerator: "RANGE_EXTENDED"
-            scalar_value: {
-                int32_t: 402653184
-            }
-            enumerator: "SRGB_LINEAR"
-            scalar_value: {
-                int32_t: 512
-            }
-            enumerator: "V0_SRGB_LINEAR"
-            scalar_value: {
-                int32_t: 138477568
-            }
-            enumerator: "V0_SCRGB_LINEAR"
-            scalar_value: {
-                int32_t: 406913024
-            }
-            enumerator: "SRGB"
-            scalar_value: {
-                int32_t: 513
-            }
-            enumerator: "V0_SRGB"
-            scalar_value: {
-                int32_t: 142671872
-            }
-            enumerator: "V0_SCRGB"
-            scalar_value: {
-                int32_t: 411107328
-            }
-            enumerator: "JFIF"
-            scalar_value: {
-                int32_t: 257
-            }
-            enumerator: "V0_JFIF"
-            scalar_value: {
-                int32_t: 146931712
-            }
-            enumerator: "BT601_625"
-            scalar_value: {
-                int32_t: 258
-            }
-            enumerator: "V0_BT601_625"
-            scalar_value: {
-                int32_t: 281149440
-            }
-            enumerator: "BT601_525"
-            scalar_value: {
-                int32_t: 259
-            }
-            enumerator: "V0_BT601_525"
-            scalar_value: {
-                int32_t: 281280512
-            }
-            enumerator: "BT709"
-            scalar_value: {
-                int32_t: 260
-            }
-            enumerator: "V0_BT709"
-            scalar_value: {
-                int32_t: 281083904
-            }
-            enumerator: "DCI_P3_LINEAR"
-            scalar_value: {
-                int32_t: 139067392
-            }
-            enumerator: "DCI_P3"
-            scalar_value: {
-                int32_t: 155844608
-            }
-            enumerator: "DISPLAY_P3_LINEAR"
-            scalar_value: {
-                int32_t: 139067392
-            }
-            enumerator: "DISPLAY_P3"
-            scalar_value: {
-                int32_t: 143261696
-            }
-            enumerator: "ADOBE_RGB"
-            scalar_value: {
-                int32_t: 151715840
-            }
-            enumerator: "BT2020_LINEAR"
-            scalar_value: {
-                int32_t: 138805248
-            }
-            enumerator: "BT2020"
-            scalar_value: {
-                int32_t: 147193856
-            }
-            enumerator: "DEPTH"
-            scalar_value: {
-                int32_t: 4096
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::graphics::common::V1_0::ColorMode"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "NATIVE"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "STANDARD_BT601_625"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "STANDARD_BT601_625_UNADJUSTED"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "STANDARD_BT601_525"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "STANDARD_BT601_525_UNADJUSTED"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "STANDARD_BT709"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "DCI_P3"
-            scalar_value: {
-                int32_t: 6
-            }
-            enumerator: "SRGB"
-            scalar_value: {
-                int32_t: 7
-            }
-            enumerator: "ADOBE_RGB"
-            scalar_value: {
-                int32_t: 8
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::graphics::common::V1_0::ColorTransform"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "IDENTITY"
-            scalar_value: {
-                int32_t: 0
-            }
-            enumerator: "ARBITRARY_MATRIX"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "VALUE_INVERSE"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "GRAYSCALE"
-            scalar_value: {
-                int32_t: 3
-            }
-            enumerator: "CORRECT_PROTANOPIA"
-            scalar_value: {
-                int32_t: 4
-            }
-            enumerator: "CORRECT_DEUTERANOPIA"
-            scalar_value: {
-                int32_t: 5
-            }
-            enumerator: "CORRECT_TRITANOPIA"
-            scalar_value: {
-                int32_t: 6
-            }
-        }
-    }
-
-    attribute: {
-        name: "::android::hardware::graphics::common::V1_0::Hdr"
-        type: TYPE_ENUM
-        enum_value: {
-            scalar_type: "int32_t"
-
-            enumerator: "DOLBY_VISION"
-            scalar_value: {
-                int32_t: 1
-            }
-            enumerator: "HDR10"
-            scalar_value: {
-                int32_t: 2
-            }
-            enumerator: "HLG"
-            scalar_value: {
-                int32_t: 3
-            }
-        }
-    }
-
-    attribute: {
         name: "::android::hardware::graphics::allocator::V2_0::IAllocatorClient::BufferDescriptorInfo"
         type: TYPE_STRUCT
         struct_value: {
diff --git a/graphics/allocator/2.0/vts/functional/Android.bp b/graphics/allocator/2.0/vts/functional/Android.bp
index 194b228..2f58836 100644
--- a/graphics/allocator/2.0/vts/functional/Android.bp
+++ b/graphics/allocator/2.0/vts/functional/Android.bp
@@ -31,11 +31,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage",
-    ],
+    ]
 }
diff --git a/graphics/allocator/2.0/vts/types.vts b/graphics/allocator/2.0/vts/types.vts
index 2b7e47a..4a8376c 100644
--- a/graphics/allocator/2.0/vts/types.vts
+++ b/graphics/allocator/2.0/vts/types.vts
@@ -84,6 +84,10 @@
         scalar_value: {
             uint64_t: 4194304
         }
+        enumerator: "SENSOR_DIRECT_DATA"
+        scalar_value: {
+            uint64_t: 8388608
+        }
     }
 }
 
@@ -129,6 +133,10 @@
         scalar_value: {
             uint64_t: 1048576
         }
+        enumerator: "GPU_DATA_BUFFER"
+        scalar_value: {
+            uint64_t: 8388608
+        }
     }
 }
 
diff --git a/graphics/composer/2.1/vts/Composer.vts b/graphics/composer/2.1/vts/Composer.vts
index ee5c650..e60e39c 100644
--- a/graphics/composer/2.1/vts/Composer.vts
+++ b/graphics/composer/2.1/vts/Composer.vts
@@ -4,8 +4,11 @@
 
 package: "android.hardware.graphics.composer"
 
+import: "android.hardware.graphics.common@1.0::types"
+import: "android.hardware.graphics.composer@2.1::IComposerCallback"
 import: "android.hardware.graphics.composer@2.1::IComposerClient"
 import: "android.hardware.graphics.composer@2.1::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
@@ -73,8 +76,7 @@
         }
         return_type_hidl: {
             type: TYPE_HIDL_INTERFACE
-            predefined_type: "IComposerClient"
-            is_callback: false
+            predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerClient"
         }
         callflow: {
             entry: true
diff --git a/graphics/composer/2.1/vts/ComposerCallback.vts b/graphics/composer/2.1/vts/ComposerCallback.vts
index a5a2aa9..b83cf94 100644
--- a/graphics/composer/2.1/vts/ComposerCallback.vts
+++ b/graphics/composer/2.1/vts/ComposerCallback.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.graphics.composer"
 
 import: "android.hardware.graphics.composer@2.1::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
diff --git a/graphics/composer/2.1/vts/ComposerClient.vts b/graphics/composer/2.1/vts/ComposerClient.vts
index db6b1ff..ac1d7fb 100644
--- a/graphics/composer/2.1/vts/ComposerClient.vts
+++ b/graphics/composer/2.1/vts/ComposerClient.vts
@@ -7,6 +7,7 @@
 import: "android.hardware.graphics.common@1.0::types"
 import: "android.hardware.graphics.composer@2.1::IComposerCallback"
 import: "android.hardware.graphics.composer@2.1::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
@@ -422,8 +423,7 @@
         name: "registerCallback"
         arg: {
             type: TYPE_HIDL_CALLBACK
-            predefined_type: "IComposerCallback"
-            is_callback: true
+            predefined_type: "::android::hardware::graphics::composer::V2_1::IComposerCallback"
         }
         callflow: {
             entry: true
@@ -849,6 +849,11 @@
             predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
         }
         arg: {
+            type: TYPE_FMQ_SYNC
+            fmq_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint32_t"
+            }
         }
         callflow: {
             next: "*"
@@ -862,6 +867,11 @@
             predefined_type: "::android::hardware::graphics::composer::V2_1::Error"
         }
         return_type_hidl: {
+            type: TYPE_FMQ_SYNC
+            fmq_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint32_t"
+            }
         }
         callflow: {
             next: "*"
diff --git a/graphics/composer/2.1/vts/functional/Android.bp b/graphics/composer/2.1/vts/functional/Android.bp
index c3f7636..aa2eae3 100644
--- a/graphics/composer/2.1/vts/functional/Android.bp
+++ b/graphics/composer/2.1/vts/functional/Android.bp
@@ -35,11 +35,7 @@
     ],
     static_libs: ["libgtest", "libhwcomposer-command-buffer"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage",
-    ],
+    ]
 }
diff --git a/graphics/mapper/2.0/vts/Mapper.vts b/graphics/mapper/2.0/vts/Mapper.vts
index 26e049f..baf95dc 100644
--- a/graphics/mapper/2.0/vts/Mapper.vts
+++ b/graphics/mapper/2.0/vts/Mapper.vts
@@ -7,6 +7,7 @@
 import: "android.hardware.graphics.allocator@2.0::types"
 import: "android.hardware.graphics.common@1.0::types"
 import: "android.hardware.graphics.mapper@2.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     attribute: {
diff --git a/graphics/mapper/2.0/vts/functional/Android.bp b/graphics/mapper/2.0/vts/functional/Android.bp
index 27ea350..efb868b 100644
--- a/graphics/mapper/2.0/vts/functional/Android.bp
+++ b/graphics/mapper/2.0/vts/functional/Android.bp
@@ -34,11 +34,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage",
-    ],
+    ]
 }
diff --git a/ir/1.0/vts/functional/Android.bp b/ir/1.0/vts/functional/Android.bp
index c5265de..1acd2a0 100644
--- a/ir/1.0/vts/functional/Android.bp
+++ b/ir/1.0/vts/functional/Android.bp
@@ -30,11 +30,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
     ],
-    ldflags: [
-        "--coverage"
-    ]
 }
diff --git a/keymaster/3.0/default/KeymasterDevice.cpp b/keymaster/3.0/default/KeymasterDevice.cpp
index 563ff84..24cf53a 100644
--- a/keymaster/3.0/default/KeymasterDevice.cpp
+++ b/keymaster/3.0/default/KeymasterDevice.cpp
@@ -375,6 +375,7 @@
 }
 
 Return<ErrorCode> KeymasterDevice::addRngEntropy(const hidl_vec<uint8_t>& data) {
+    if (!data.size()) return ErrorCode::OK;
     return legacy_enum_conversion(
         keymaster_device_->add_rng_entropy(keymaster_device_, &data[0], data.size()));
 }
diff --git a/light/2.0/vts/Light.vts b/light/2.0/vts/Light.vts
index 5d49822..163405f 100644
--- a/light/2.0/vts/Light.vts
+++ b/light/2.0/vts/Light.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.light"
 
 import: "android.hardware.light@2.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/light/2.0/vts/functional/Android.bp b/light/2.0/vts/functional/Android.bp
index 889457f..53f5d7f 100644
--- a/light/2.0/vts/functional/Android.bp
+++ b/light/2.0/vts/functional/Android.bp
@@ -27,12 +27,8 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
 
diff --git a/media/omx/1.0/IOmxBufferProducer.hal b/media/omx/1.0/IOmxBufferProducer.hal
index d4cf5f7..7e2172b 100644
--- a/media/omx/1.0/IOmxBufferProducer.hal
+++ b/media/omx/1.0/IOmxBufferProducer.hal
@@ -72,12 +72,27 @@
     };
 
     /**
+     * Ref: frameworks/native/include/gui/FrameTimestamp.h: CompositorTiming
+     *
+     * The most recent compositor timing info sent from consumer to producer
+     * through a HIDL interface.
+     */
+    struct CompositorTiming {
+        int64_t deadlineNs;
+        int64_t intervalNs;
+        int64_t presentLatencyNs;
+    };
+
+    /**
      * Ref: frameworks/native/include/gui/FrameTimestamp.h: FrameEventHistoryDelta
      *
      * A collection of updates from consumer to producer that can be sent
      * through a HIDL interface.
      */
-    typedef vec<FrameEventsDelta> FrameEventHistoryDelta;
+    struct FrameEventHistoryDelta {
+        vec<FrameEventsDelta> deltas;
+        CompositorTiming compositorTiming;
+    };
 
     /**
      * Modes for disconnection.
diff --git a/memtrack/1.0/vts/Memtrack.vts b/memtrack/1.0/vts/Memtrack.vts
index 9fce2a0..42a422e 100644
--- a/memtrack/1.0/vts/Memtrack.vts
+++ b/memtrack/1.0/vts/Memtrack.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.memtrack"
 
 import: "android.hardware.memtrack@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/memtrack/1.0/vts/functional/Android.bp b/memtrack/1.0/vts/functional/Android.bp
index b3e560a..0f57adc 100644
--- a/memtrack/1.0/vts/functional/Android.bp
+++ b/memtrack/1.0/vts/functional/Android.bp
@@ -30,11 +30,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
diff --git a/nfc/1.0/vts/functional/Android.bp b/nfc/1.0/vts/functional/Android.bp
index 021f7c1..0f9eb3d 100644
--- a/nfc/1.0/vts/functional/Android.bp
+++ b/nfc/1.0/vts/functional/Android.bp
@@ -31,11 +31,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
     ],
-    ldflags: [
-        "--coverage"
-    ]
 }
diff --git a/power/1.0/vts/Power.vts b/power/1.0/vts/Power.vts
index 1711290..4d3d4ff 100644
--- a/power/1.0/vts/Power.vts
+++ b/power/1.0/vts/Power.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.power"
 
 import: "android.hardware.power@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/power/1.0/vts/functional/Android.bp b/power/1.0/vts/functional/Android.bp
index 81dc316..7aa2611 100644
--- a/power/1.0/vts/functional/Android.bp
+++ b/power/1.0/vts/functional/Android.bp
@@ -31,11 +31,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
diff --git a/radio/1.0/vts/RadioResponse.vts b/radio/1.0/vts/RadioResponse.vts
index 99c953c..3d1364b 100644
--- a/radio/1.0/vts/RadioResponse.vts
+++ b/radio/1.0/vts/RadioResponse.vts
@@ -1014,6 +1014,14 @@
     }
 
     api: {
+        name: "reportStkServiceIsRunningResponse"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::radio::V1_0::RadioResponseInfo"
+        }
+    }
+
+    api: {
         name: "getCdmaSubscriptionSourceResponse"
         arg: {
             type: TYPE_STRUCT
diff --git a/sensors/1.0/default/convert.cpp b/sensors/1.0/default/convert.cpp
index acff6ca..306d3a3 100644
--- a/sensors/1.0/default/convert.cpp
+++ b/sensors/1.0/default/convert.cpp
@@ -75,6 +75,10 @@
         case SensorType::META_DATA:
         {
             dst->u.meta.what = (MetaDataEventType)src.meta_data.what;
+            // Legacy HALs contain the handle reference in the meta data field.
+            // Copy that over to the handle of the event. In legacy HALs this
+            // field was expected to be 0.
+            dst->sensorHandle = src.meta_data.sensor;
             break;
         }
 
@@ -212,8 +216,12 @@
   switch (src.sensorType) {
       case SensorType::META_DATA:
       {
+          // Legacy HALs expect the handle reference in the meta data field.
+          // Copy it over from the handle of the event.
           dst->meta_data.what = (int32_t)src.u.meta.what;
-          dst->meta_data.sensor = dst->sensor;
+          dst->meta_data.sensor = src.sensorHandle;
+          // Set the sensor handle to 0 to maintain compatibility.
+          dst->sensor = 0;
           break;
       }
 
diff --git a/sensors/1.0/default/service.cpp b/sensors/1.0/default/service.cpp
index 5bcfe4b..65f6d81 100644
--- a/sensors/1.0/default/service.cpp
+++ b/sensors/1.0/default/service.cpp
@@ -23,5 +23,9 @@
 using android::hardware::defaultPassthroughServiceImplementation;
 
 int main() {
-    return defaultPassthroughServiceImplementation<ISensors>();
+    /* Sensors framework service needs at least two threads.
+     * One thread blocks on a "poll"
+     * The second thread is needed for all other HAL methods.
+     */
+    return defaultPassthroughServiceImplementation<ISensors>(2);
 }
diff --git a/sensors/1.0/vts/Sensors.vts b/sensors/1.0/vts/Sensors.vts
index 9e90755..558c36d 100644
--- a/sensors/1.0/vts/Sensors.vts
+++ b/sensors/1.0/vts/Sensors.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.sensors"
 
 import: "android.hardware.sensors@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/sensors/1.0/vts/types.vts b/sensors/1.0/vts/types.vts
index 1b48916..bc87823 100644
--- a/sensors/1.0/vts/types.vts
+++ b/sensors/1.0/vts/types.vts
@@ -374,6 +374,7 @@
     struct_value: {
         name: "flags"
         type: TYPE_MASK
+        scalar_type: "uint32_t"
         predefined_type: "::android::hardware::sensors::V1_0::SensorFlagBits"
     }
 }
@@ -546,8 +547,8 @@
     struct_value: {
         name: "uuid"
         type: TYPE_ARRAY
+        vector_size: 16
         vector_value: {
-            vector_size: 16
             type: TYPE_SCALAR
             scalar_type: "uint8_t"
         }
@@ -652,8 +653,8 @@
         union_value: {
             name: "data_int32"
             type: TYPE_ARRAY
+            vector_size: 14
             vector_value: {
-                vector_size: 14
                 type: TYPE_SCALAR
                 scalar_type: "int32_t"
             }
@@ -661,8 +662,8 @@
         union_value: {
             name: "data_float"
             type: TYPE_ARRAY
+            vector_size: 14
             vector_value: {
-                vector_size: 14
                 type: TYPE_SCALAR
                 scalar_type: "float_t"
             }
@@ -726,8 +727,8 @@
     union_value: {
         name: "pose6DOF"
         type: TYPE_ARRAY
+        vector_size: 15
         vector_value: {
-            vector_size: 15
             type: TYPE_SCALAR
             scalar_type: "float_t"
         }
@@ -745,8 +746,8 @@
     union_value: {
         name: "data"
         type: TYPE_ARRAY
+        vector_size: 16
         vector_value: {
-            vector_size: 16
             type: TYPE_SCALAR
             scalar_type: "float_t"
         }
diff --git a/thermal/1.0/vts/Thermal.vts b/thermal/1.0/vts/Thermal.vts
index e76d943..4611924 100644
--- a/thermal/1.0/vts/Thermal.vts
+++ b/thermal/1.0/vts/Thermal.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.thermal"
 
 import: "android.hardware.thermal@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/thermal/1.0/vts/functional/Android.bp b/thermal/1.0/vts/functional/Android.bp
index bef7bc2..fedb760 100644
--- a/thermal/1.0/vts/functional/Android.bp
+++ b/thermal/1.0/vts/functional/Android.bp
@@ -31,12 +31,8 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
     ],
-    ldflags: [
-        "--coverage"
-    ]
 }
 
diff --git a/thermal/1.0/vts/types.vts b/thermal/1.0/vts/types.vts
index 1e60f48..f004bd8 100644
--- a/thermal/1.0/vts/types.vts
+++ b/thermal/1.0/vts/types.vts
@@ -9,27 +9,27 @@
     name: "::android::hardware::thermal::V1_0::TemperatureType"
     type: TYPE_ENUM
     enum_value: {
-        scalar_type: "uint32_t"
+        scalar_type: "int32_t"
 
         enumerator: "UNKNOWN"
         scalar_value: {
-            uint32_t: 1000
+            int32_t: -1
         }
         enumerator: "CPU"
         scalar_value: {
-            uint32_t: 0
+            int32_t: 0
         }
         enumerator: "GPU"
         scalar_value: {
-            uint32_t: 1
+            int32_t: 1
         }
         enumerator: "BATTERY"
         scalar_value: {
-            uint32_t: 2
+            int32_t: 2
         }
         enumerator: "SKIN"
         scalar_value: {
-            uint32_t: 3
+            int32_t: 3
         }
     }
 }
diff --git a/tv/cec/1.0/vts/HdmiCec.vts b/tv/cec/1.0/vts/HdmiCec.vts
index d7d09de..6e71d24 100644
--- a/tv/cec/1.0/vts/HdmiCec.vts
+++ b/tv/cec/1.0/vts/HdmiCec.vts
@@ -6,6 +6,7 @@
 
 import: "android.hardware.tv.cec@1.0::IHdmiCecCallback"
 import: "android.hardware.tv.cec@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
@@ -67,8 +68,7 @@
         name: "setCallback"
         arg: {
             type: TYPE_HIDL_CALLBACK
-            predefined_type: "IHdmiCecCallback"
-            is_callback: true
+            predefined_type: "::android::hardware::tv::cec::V1_0::IHdmiCecCallback"
         }
         callflow: {
             next: "addLogicalAddress"
diff --git a/tv/cec/1.0/vts/HdmiCecCallback.vts b/tv/cec/1.0/vts/HdmiCecCallback.vts
index 864e6f5..a98db06 100644
--- a/tv/cec/1.0/vts/HdmiCecCallback.vts
+++ b/tv/cec/1.0/vts/HdmiCecCallback.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.tv.cec"
 
 import: "android.hardware.tv.cec@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/tv/input/1.0/vts/TvInput.vts b/tv/input/1.0/vts/TvInput.vts
index 73b322a..f049fc1 100644
--- a/tv/input/1.0/vts/TvInput.vts
+++ b/tv/input/1.0/vts/TvInput.vts
@@ -4,16 +4,17 @@
 
 package: "android.hardware.tv.input"
 
+import: "android.hardware.audio.common@2.0::types"
 import: "android.hardware.tv.input@1.0::ITvInputCallback"
 import: "android.hardware.tv.input@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
         name: "setCallback"
         arg: {
             type: TYPE_HIDL_CALLBACK
-            predefined_type: "ITvInputCallback"
-            is_callback: true
+            predefined_type: "::android::hardware::tv::input::V1_0::ITvInputCallback"
         }
         callflow: {
             entry: true
diff --git a/tv/input/1.0/vts/TvInputCallback.vts b/tv/input/1.0/vts/TvInputCallback.vts
index b1738a8..8082b9f 100644
--- a/tv/input/1.0/vts/TvInputCallback.vts
+++ b/tv/input/1.0/vts/TvInputCallback.vts
@@ -4,7 +4,9 @@
 
 package: "android.hardware.tv.input"
 
+import: "android.hardware.audio.common@2.0::types"
 import: "android.hardware.tv.input@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/tv/input/1.0/vts/functional/Android.bp b/tv/input/1.0/vts/functional/Android.bp
index 979eb99..c327733 100644
--- a/tv/input/1.0/vts/functional/Android.bp
+++ b/tv/input/1.0/vts/functional/Android.bp
@@ -31,13 +31,8 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-// TODO: add --coverage when the segfault issue is fixed.
-//        "--coverage",
         "-O0",
         "-g",
-    ],
-//    ldflags: [
-//        "--coverage"
-//    ]
+    ]
 }
 
diff --git a/tv/input/1.0/vts/types.vts b/tv/input/1.0/vts/types.vts
index d03e065..cb1d472 100644
--- a/tv/input/1.0/vts/types.vts
+++ b/tv/input/1.0/vts/types.vts
@@ -7,1926 +7,6 @@
 import: "android.hardware.audio.common@2.0::types"
 
 attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioHandleConsts"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "AUDIO_IO_HANDLE_NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "AUDIO_MODULE_HANDLE_NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "AUDIO_PORT_HANDLE_NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "AUDIO_PATCH_HANDLE_NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::Uuid"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "timeLow"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "timeMid"
-        type: TYPE_SCALAR
-        scalar_type: "uint16_t"
-    }
-    struct_value: {
-        name: "versionAndTimeHigh"
-        type: TYPE_SCALAR
-        scalar_type: "uint16_t"
-    }
-    struct_value: {
-        name: "variantAndClockSeqHigh"
-        type: TYPE_SCALAR
-        scalar_type: "uint16_t"
-    }
-    struct_value: {
-        name: "node"
-        type: TYPE_ARRAY
-        vector_value: {
-            vector_size: 6
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioStreamType"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "DEFAULT"
-        scalar_value: {
-            int32_t: -1
-        }
-        enumerator: "MIN"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "VOICE_CALL"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "SYSTEM"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "RING"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "MUSIC"
-        scalar_value: {
-            int32_t: 3
-        }
-        enumerator: "ALARM"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "NOTIFICATION"
-        scalar_value: {
-            int32_t: 5
-        }
-        enumerator: "BLUETOOTH_SCO"
-        scalar_value: {
-            int32_t: 6
-        }
-        enumerator: "ENFORCED_AUDIBLE"
-        scalar_value: {
-            int32_t: 7
-        }
-        enumerator: "DTMF"
-        scalar_value: {
-            int32_t: 8
-        }
-        enumerator: "TTS"
-        scalar_value: {
-            int32_t: 9
-        }
-        enumerator: "ACCESSIBILITY"
-        scalar_value: {
-            int32_t: 10
-        }
-        enumerator: "REROUTING"
-        scalar_value: {
-            int32_t: 11
-        }
-        enumerator: "PATCH"
-        scalar_value: {
-            int32_t: 12
-        }
-        enumerator: "PUBLIC_CNT"
-        scalar_value: {
-            int32_t: 11
-        }
-        enumerator: "FOR_POLICY_CNT"
-        scalar_value: {
-            int32_t: 12
-        }
-        enumerator: "CNT"
-        scalar_value: {
-            int32_t: 13
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioSource"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "DEFAULT"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "MIC"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "VOICE_UPLINK"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "VOICE_DOWNLINK"
-        scalar_value: {
-            int32_t: 3
-        }
-        enumerator: "VOICE_CALL"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "CAMCORDER"
-        scalar_value: {
-            int32_t: 5
-        }
-        enumerator: "VOICE_RECOGNITION"
-        scalar_value: {
-            int32_t: 6
-        }
-        enumerator: "VOICE_COMMUNICATION"
-        scalar_value: {
-            int32_t: 7
-        }
-        enumerator: "REMOTE_SUBMIX"
-        scalar_value: {
-            int32_t: 8
-        }
-        enumerator: "UNPROCESSED"
-        scalar_value: {
-            int32_t: 9
-        }
-        enumerator: "CNT"
-        scalar_value: {
-            int32_t: 10
-        }
-        enumerator: "MAX"
-        scalar_value: {
-            int32_t: 9
-        }
-        enumerator: "FM_TUNER"
-        scalar_value: {
-            int32_t: 1998
-        }
-        enumerator: "HOTWORD"
-        scalar_value: {
-            int32_t: 1999
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioSessionConsts"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "OUTPUT_STAGE"
-        scalar_value: {
-            int32_t: -1
-        }
-        enumerator: "OUTPUT_MIX"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "ALLOCATE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioFormat"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "uint32_t"
-
-        enumerator: "INVALID"
-        scalar_value: {
-            uint32_t: 4294967295
-        }
-        enumerator: "DEFAULT"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "PCM"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "MP3"
-        scalar_value: {
-            uint32_t: 16777216
-        }
-        enumerator: "AMR_NB"
-        scalar_value: {
-            uint32_t: 33554432
-        }
-        enumerator: "AMR_WB"
-        scalar_value: {
-            uint32_t: 50331648
-        }
-        enumerator: "AAC"
-        scalar_value: {
-            uint32_t: 67108864
-        }
-        enumerator: "HE_AAC_V1"
-        scalar_value: {
-            uint32_t: 83886080
-        }
-        enumerator: "HE_AAC_V2"
-        scalar_value: {
-            uint32_t: 100663296
-        }
-        enumerator: "VORBIS"
-        scalar_value: {
-            uint32_t: 117440512
-        }
-        enumerator: "OPUS"
-        scalar_value: {
-            uint32_t: 134217728
-        }
-        enumerator: "AC3"
-        scalar_value: {
-            uint32_t: 150994944
-        }
-        enumerator: "E_AC3"
-        scalar_value: {
-            uint32_t: 167772160
-        }
-        enumerator: "DTS"
-        scalar_value: {
-            uint32_t: 184549376
-        }
-        enumerator: "DTS_HD"
-        scalar_value: {
-            uint32_t: 201326592
-        }
-        enumerator: "IEC61937"
-        scalar_value: {
-            uint32_t: 218103808
-        }
-        enumerator: "DOLBY_TRUEHD"
-        scalar_value: {
-            uint32_t: 234881024
-        }
-        enumerator: "EVRC"
-        scalar_value: {
-            uint32_t: 268435456
-        }
-        enumerator: "EVRCB"
-        scalar_value: {
-            uint32_t: 285212672
-        }
-        enumerator: "EVRCWB"
-        scalar_value: {
-            uint32_t: 301989888
-        }
-        enumerator: "EVRCNW"
-        scalar_value: {
-            uint32_t: 318767104
-        }
-        enumerator: "AAC_ADIF"
-        scalar_value: {
-            uint32_t: 335544320
-        }
-        enumerator: "WMA"
-        scalar_value: {
-            uint32_t: 352321536
-        }
-        enumerator: "WMA_PRO"
-        scalar_value: {
-            uint32_t: 369098752
-        }
-        enumerator: "AMR_WB_PLUS"
-        scalar_value: {
-            uint32_t: 385875968
-        }
-        enumerator: "MP2"
-        scalar_value: {
-            uint32_t: 402653184
-        }
-        enumerator: "QCELP"
-        scalar_value: {
-            uint32_t: 419430400
-        }
-        enumerator: "DSD"
-        scalar_value: {
-            uint32_t: 436207616
-        }
-        enumerator: "FLAC"
-        scalar_value: {
-            uint32_t: 452984832
-        }
-        enumerator: "ALAC"
-        scalar_value: {
-            uint32_t: 469762048
-        }
-        enumerator: "APE"
-        scalar_value: {
-            uint32_t: 486539264
-        }
-        enumerator: "AAC_ADTS"
-        scalar_value: {
-            uint32_t: 503316480
-        }
-        enumerator: "SBC"
-        scalar_value: {
-            uint32_t: 520093696
-        }
-        enumerator: "APTX"
-        scalar_value: {
-            uint32_t: 536870912
-        }
-        enumerator: "APTX_HD"
-        scalar_value: {
-            uint32_t: 553648128
-        }
-        enumerator: "LDAC"
-        scalar_value: {
-            uint32_t: 570425344
-        }
-        enumerator: "MAIN_MASK"
-        scalar_value: {
-            uint32_t: 4278190080
-        }
-        enumerator: "SUB_MASK"
-        scalar_value: {
-            uint32_t: 16777215
-        }
-        enumerator: "PCM_SUB_16_BIT"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "PCM_SUB_8_BIT"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "PCM_SUB_32_BIT"
-        scalar_value: {
-            uint32_t: 3
-        }
-        enumerator: "PCM_SUB_8_24_BIT"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "PCM_SUB_FLOAT"
-        scalar_value: {
-            uint32_t: 5
-        }
-        enumerator: "PCM_SUB_24_BIT_PACKED"
-        scalar_value: {
-            uint32_t: 6
-        }
-        enumerator: "MP3_SUB_NONE"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "AMR_SUB_NONE"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "AAC_SUB_MAIN"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "AAC_SUB_LC"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "AAC_SUB_SSR"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "AAC_SUB_LTP"
-        scalar_value: {
-            uint32_t: 8
-        }
-        enumerator: "AAC_SUB_HE_V1"
-        scalar_value: {
-            uint32_t: 16
-        }
-        enumerator: "AAC_SUB_SCALABLE"
-        scalar_value: {
-            uint32_t: 32
-        }
-        enumerator: "AAC_SUB_ERLC"
-        scalar_value: {
-            uint32_t: 64
-        }
-        enumerator: "AAC_SUB_LD"
-        scalar_value: {
-            uint32_t: 128
-        }
-        enumerator: "AAC_SUB_HE_V2"
-        scalar_value: {
-            uint32_t: 256
-        }
-        enumerator: "AAC_SUB_ELD"
-        scalar_value: {
-            uint32_t: 512
-        }
-        enumerator: "VORBIS_SUB_NONE"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "PCM_16_BIT"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "PCM_8_BIT"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "PCM_32_BIT"
-        scalar_value: {
-            uint32_t: 3
-        }
-        enumerator: "PCM_8_24_BIT"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "PCM_FLOAT"
-        scalar_value: {
-            uint32_t: 5
-        }
-        enumerator: "PCM_24_BIT_PACKED"
-        scalar_value: {
-            uint32_t: 6
-        }
-        enumerator: "AAC_MAIN"
-        scalar_value: {
-            uint32_t: 67108865
-        }
-        enumerator: "AAC_LC"
-        scalar_value: {
-            uint32_t: 67108866
-        }
-        enumerator: "AAC_SSR"
-        scalar_value: {
-            uint32_t: 67108868
-        }
-        enumerator: "AAC_LTP"
-        scalar_value: {
-            uint32_t: 67108872
-        }
-        enumerator: "AAC_HE_V1"
-        scalar_value: {
-            uint32_t: 67108880
-        }
-        enumerator: "AAC_SCALABLE"
-        scalar_value: {
-            uint32_t: 67108896
-        }
-        enumerator: "AAC_ERLC"
-        scalar_value: {
-            uint32_t: 67108928
-        }
-        enumerator: "AAC_LD"
-        scalar_value: {
-            uint32_t: 67108992
-        }
-        enumerator: "AAC_HE_V2"
-        scalar_value: {
-            uint32_t: 67109120
-        }
-        enumerator: "AAC_ELD"
-        scalar_value: {
-            uint32_t: 67109376
-        }
-        enumerator: "AAC_ADTS_MAIN"
-        scalar_value: {
-            uint32_t: 503316481
-        }
-        enumerator: "AAC_ADTS_LC"
-        scalar_value: {
-            uint32_t: 503316482
-        }
-        enumerator: "AAC_ADTS_SSR"
-        scalar_value: {
-            uint32_t: 503316484
-        }
-        enumerator: "AAC_ADTS_LTP"
-        scalar_value: {
-            uint32_t: 503316488
-        }
-        enumerator: "AAC_ADTS_HE_V1"
-        scalar_value: {
-            uint32_t: 503316496
-        }
-        enumerator: "AAC_ADTS_SCALABLE"
-        scalar_value: {
-            uint32_t: 503316512
-        }
-        enumerator: "AAC_ADTS_ERLC"
-        scalar_value: {
-            uint32_t: 503316544
-        }
-        enumerator: "AAC_ADTS_LD"
-        scalar_value: {
-            uint32_t: 503316608
-        }
-        enumerator: "AAC_ADTS_HE_V2"
-        scalar_value: {
-            uint32_t: 503316736
-        }
-        enumerator: "AAC_ADTS_ELD"
-        scalar_value: {
-            uint32_t: 503316992
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::FixedChannelCount"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "FCC_2"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "FCC_8"
-        scalar_value: {
-            int32_t: 8
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "uint32_t"
-
-        enumerator: "REPRESENTATION_POSITION"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "REPRESENTATION_INDEX"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "NONE"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "INVALID"
-        scalar_value: {
-            uint32_t: 3221225472
-        }
-        enumerator: "OUT_FRONT_LEFT"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "OUT_FRONT_RIGHT"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "OUT_FRONT_CENTER"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "OUT_LOW_FREQUENCY"
-        scalar_value: {
-            uint32_t: 8
-        }
-        enumerator: "OUT_BACK_LEFT"
-        scalar_value: {
-            uint32_t: 16
-        }
-        enumerator: "OUT_BACK_RIGHT"
-        scalar_value: {
-            uint32_t: 32
-        }
-        enumerator: "OUT_FRONT_LEFT_OF_CENTER"
-        scalar_value: {
-            uint32_t: 64
-        }
-        enumerator: "OUT_FRONT_RIGHT_OF_CENTER"
-        scalar_value: {
-            uint32_t: 128
-        }
-        enumerator: "OUT_BACK_CENTER"
-        scalar_value: {
-            uint32_t: 256
-        }
-        enumerator: "OUT_SIDE_LEFT"
-        scalar_value: {
-            uint32_t: 512
-        }
-        enumerator: "OUT_SIDE_RIGHT"
-        scalar_value: {
-            uint32_t: 1024
-        }
-        enumerator: "OUT_TOP_CENTER"
-        scalar_value: {
-            uint32_t: 2048
-        }
-        enumerator: "OUT_TOP_FRONT_LEFT"
-        scalar_value: {
-            uint32_t: 4096
-        }
-        enumerator: "OUT_TOP_FRONT_CENTER"
-        scalar_value: {
-            uint32_t: 8192
-        }
-        enumerator: "OUT_TOP_FRONT_RIGHT"
-        scalar_value: {
-            uint32_t: 16384
-        }
-        enumerator: "OUT_TOP_BACK_LEFT"
-        scalar_value: {
-            uint32_t: 32768
-        }
-        enumerator: "OUT_TOP_BACK_CENTER"
-        scalar_value: {
-            uint32_t: 65536
-        }
-        enumerator: "OUT_TOP_BACK_RIGHT"
-        scalar_value: {
-            uint32_t: 131072
-        }
-        enumerator: "OUT_MONO"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "OUT_STEREO"
-        scalar_value: {
-            uint32_t: 3
-        }
-        enumerator: "OUT_2POINT1"
-        scalar_value: {
-            uint32_t: 11
-        }
-        enumerator: "OUT_QUAD"
-        scalar_value: {
-            uint32_t: 51
-        }
-        enumerator: "OUT_QUAD_BACK"
-        scalar_value: {
-            uint32_t: 51
-        }
-        enumerator: "OUT_QUAD_SIDE"
-        scalar_value: {
-            uint32_t: 1539
-        }
-        enumerator: "OUT_SURROUND"
-        scalar_value: {
-            uint32_t: 263
-        }
-        enumerator: "OUT_PENTA"
-        scalar_value: {
-            uint32_t: 55
-        }
-        enumerator: "OUT_5POINT1"
-        scalar_value: {
-            uint32_t: 63
-        }
-        enumerator: "OUT_5POINT1_BACK"
-        scalar_value: {
-            uint32_t: 63
-        }
-        enumerator: "OUT_5POINT1_SIDE"
-        scalar_value: {
-            uint32_t: 1551
-        }
-        enumerator: "OUT_6POINT1"
-        scalar_value: {
-            uint32_t: 319
-        }
-        enumerator: "OUT_7POINT1"
-        scalar_value: {
-            uint32_t: 1599
-        }
-        enumerator: "OUT_ALL"
-        scalar_value: {
-            uint32_t: 262143
-        }
-        enumerator: "IN_LEFT"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "IN_RIGHT"
-        scalar_value: {
-            uint32_t: 8
-        }
-        enumerator: "IN_FRONT"
-        scalar_value: {
-            uint32_t: 16
-        }
-        enumerator: "IN_BACK"
-        scalar_value: {
-            uint32_t: 32
-        }
-        enumerator: "IN_LEFT_PROCESSED"
-        scalar_value: {
-            uint32_t: 64
-        }
-        enumerator: "IN_RIGHT_PROCESSED"
-        scalar_value: {
-            uint32_t: 128
-        }
-        enumerator: "IN_FRONT_PROCESSED"
-        scalar_value: {
-            uint32_t: 256
-        }
-        enumerator: "IN_BACK_PROCESSED"
-        scalar_value: {
-            uint32_t: 512
-        }
-        enumerator: "IN_PRESSURE"
-        scalar_value: {
-            uint32_t: 1024
-        }
-        enumerator: "IN_X_AXIS"
-        scalar_value: {
-            uint32_t: 2048
-        }
-        enumerator: "IN_Y_AXIS"
-        scalar_value: {
-            uint32_t: 4096
-        }
-        enumerator: "IN_Z_AXIS"
-        scalar_value: {
-            uint32_t: 8192
-        }
-        enumerator: "IN_VOICE_UPLINK"
-        scalar_value: {
-            uint32_t: 16384
-        }
-        enumerator: "IN_VOICE_DNLINK"
-        scalar_value: {
-            uint32_t: 32768
-        }
-        enumerator: "IN_MONO"
-        scalar_value: {
-            uint32_t: 16
-        }
-        enumerator: "IN_STEREO"
-        scalar_value: {
-            uint32_t: 12
-        }
-        enumerator: "IN_FRONT_BACK"
-        scalar_value: {
-            uint32_t: 48
-        }
-        enumerator: "IN_VOICE_UPLINK_MONO"
-        scalar_value: {
-            uint32_t: 16400
-        }
-        enumerator: "IN_VOICE_DNLINK_MONO"
-        scalar_value: {
-            uint32_t: 32784
-        }
-        enumerator: "IN_VOICE_CALL_MONO"
-        scalar_value: {
-            uint32_t: 49168
-        }
-        enumerator: "IN_ALL"
-        scalar_value: {
-            uint32_t: 65532
-        }
-        enumerator: "COUNT_MAX"
-        scalar_value: {
-            uint32_t: 30
-        }
-        enumerator: "INDEX_HDR"
-        scalar_value: {
-            uint32_t: 2147483648
-        }
-        enumerator: "INDEX_MASK_1"
-        scalar_value: {
-            uint32_t: 2147483649
-        }
-        enumerator: "INDEX_MASK_2"
-        scalar_value: {
-            uint32_t: 2147483651
-        }
-        enumerator: "INDEX_MASK_3"
-        scalar_value: {
-            uint32_t: 2147483655
-        }
-        enumerator: "INDEX_MASK_4"
-        scalar_value: {
-            uint32_t: 2147483663
-        }
-        enumerator: "INDEX_MASK_5"
-        scalar_value: {
-            uint32_t: 2147483679
-        }
-        enumerator: "INDEX_MASK_6"
-        scalar_value: {
-            uint32_t: 2147483711
-        }
-        enumerator: "INDEX_MASK_7"
-        scalar_value: {
-            uint32_t: 2147483775
-        }
-        enumerator: "INDEX_MASK_8"
-        scalar_value: {
-            uint32_t: 2147483903
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioInterleave"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "LEFT"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "RIGHT"
-        scalar_value: {
-            int32_t: 1
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioMode"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "INVALID"
-        scalar_value: {
-            int32_t: -2
-        }
-        enumerator: "CURRENT"
-        scalar_value: {
-            int32_t: -1
-        }
-        enumerator: "NORMAL"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "RINGTONE"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "IN_CALL"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "IN_COMMUNICATION"
-        scalar_value: {
-            int32_t: 3
-        }
-        enumerator: "CNT"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "MAX"
-        scalar_value: {
-            int32_t: 3
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioDevice"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "uint32_t"
-
-        enumerator: "NONE"
-        scalar_value: {
-            uint32_t: 0
-        }
-        enumerator: "BIT_IN"
-        scalar_value: {
-            uint32_t: 2147483648
-        }
-        enumerator: "BIT_DEFAULT"
-        scalar_value: {
-            uint32_t: 1073741824
-        }
-        enumerator: "OUT_EARPIECE"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "OUT_SPEAKER"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "OUT_WIRED_HEADSET"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "OUT_WIRED_HEADPHONE"
-        scalar_value: {
-            uint32_t: 8
-        }
-        enumerator: "OUT_BLUETOOTH_SCO"
-        scalar_value: {
-            uint32_t: 16
-        }
-        enumerator: "OUT_BLUETOOTH_SCO_HEADSET"
-        scalar_value: {
-            uint32_t: 32
-        }
-        enumerator: "OUT_BLUETOOTH_SCO_CARKIT"
-        scalar_value: {
-            uint32_t: 64
-        }
-        enumerator: "OUT_BLUETOOTH_A2DP"
-        scalar_value: {
-            uint32_t: 128
-        }
-        enumerator: "OUT_BLUETOOTH_A2DP_HEADPHONES"
-        scalar_value: {
-            uint32_t: 256
-        }
-        enumerator: "OUT_BLUETOOTH_A2DP_SPEAKER"
-        scalar_value: {
-            uint32_t: 512
-        }
-        enumerator: "OUT_AUX_DIGITAL"
-        scalar_value: {
-            uint32_t: 1024
-        }
-        enumerator: "OUT_HDMI"
-        scalar_value: {
-            uint32_t: 1024
-        }
-        enumerator: "OUT_ANLG_DOCK_HEADSET"
-        scalar_value: {
-            uint32_t: 2048
-        }
-        enumerator: "OUT_DGTL_DOCK_HEADSET"
-        scalar_value: {
-            uint32_t: 4096
-        }
-        enumerator: "OUT_USB_ACCESSORY"
-        scalar_value: {
-            uint32_t: 8192
-        }
-        enumerator: "OUT_USB_DEVICE"
-        scalar_value: {
-            uint32_t: 16384
-        }
-        enumerator: "OUT_REMOTE_SUBMIX"
-        scalar_value: {
-            uint32_t: 32768
-        }
-        enumerator: "OUT_TELEPHONY_TX"
-        scalar_value: {
-            uint32_t: 65536
-        }
-        enumerator: "OUT_LINE"
-        scalar_value: {
-            uint32_t: 131072
-        }
-        enumerator: "OUT_HDMI_ARC"
-        scalar_value: {
-            uint32_t: 262144
-        }
-        enumerator: "OUT_SPDIF"
-        scalar_value: {
-            uint32_t: 524288
-        }
-        enumerator: "OUT_FM"
-        scalar_value: {
-            uint32_t: 1048576
-        }
-        enumerator: "OUT_AUX_LINE"
-        scalar_value: {
-            uint32_t: 2097152
-        }
-        enumerator: "OUT_SPEAKER_SAFE"
-        scalar_value: {
-            uint32_t: 4194304
-        }
-        enumerator: "OUT_IP"
-        scalar_value: {
-            uint32_t: 8388608
-        }
-        enumerator: "OUT_BUS"
-        scalar_value: {
-            uint32_t: 16777216
-        }
-        enumerator: "OUT_PROXY"
-        scalar_value: {
-            uint32_t: 33554432
-        }
-        enumerator: "OUT_DEFAULT"
-        scalar_value: {
-            uint32_t: 1073741824
-        }
-        enumerator: "OUT_ALL"
-        scalar_value: {
-            uint32_t: 1140850687
-        }
-        enumerator: "OUT_ALL_A2DP"
-        scalar_value: {
-            uint32_t: 896
-        }
-        enumerator: "OUT_ALL_SCO"
-        scalar_value: {
-            uint32_t: 112
-        }
-        enumerator: "OUT_ALL_USB"
-        scalar_value: {
-            uint32_t: 24576
-        }
-        enumerator: "IN_COMMUNICATION"
-        scalar_value: {
-            uint32_t: 2147483649
-        }
-        enumerator: "IN_AMBIENT"
-        scalar_value: {
-            uint32_t: 2147483650
-        }
-        enumerator: "IN_BUILTIN_MIC"
-        scalar_value: {
-            uint32_t: 2147483652
-        }
-        enumerator: "IN_BLUETOOTH_SCO_HEADSET"
-        scalar_value: {
-            uint32_t: 2147483656
-        }
-        enumerator: "IN_WIRED_HEADSET"
-        scalar_value: {
-            uint32_t: 2147483664
-        }
-        enumerator: "IN_AUX_DIGITAL"
-        scalar_value: {
-            uint32_t: 2147483680
-        }
-        enumerator: "IN_HDMI"
-        scalar_value: {
-            uint32_t: 2147483680
-        }
-        enumerator: "IN_VOICE_CALL"
-        scalar_value: {
-            uint32_t: 2147483712
-        }
-        enumerator: "IN_TELEPHONY_RX"
-        scalar_value: {
-            uint32_t: 2147483712
-        }
-        enumerator: "IN_BACK_MIC"
-        scalar_value: {
-            uint32_t: 2147483776
-        }
-        enumerator: "IN_REMOTE_SUBMIX"
-        scalar_value: {
-            uint32_t: 2147483904
-        }
-        enumerator: "IN_ANLG_DOCK_HEADSET"
-        scalar_value: {
-            uint32_t: 2147484160
-        }
-        enumerator: "IN_DGTL_DOCK_HEADSET"
-        scalar_value: {
-            uint32_t: 2147484672
-        }
-        enumerator: "IN_USB_ACCESSORY"
-        scalar_value: {
-            uint32_t: 2147485696
-        }
-        enumerator: "IN_USB_DEVICE"
-        scalar_value: {
-            uint32_t: 2147487744
-        }
-        enumerator: "IN_FM_TUNER"
-        scalar_value: {
-            uint32_t: 2147491840
-        }
-        enumerator: "IN_TV_TUNER"
-        scalar_value: {
-            uint32_t: 2147500032
-        }
-        enumerator: "IN_LINE"
-        scalar_value: {
-            uint32_t: 2147516416
-        }
-        enumerator: "IN_SPDIF"
-        scalar_value: {
-            uint32_t: 2147549184
-        }
-        enumerator: "IN_BLUETOOTH_A2DP"
-        scalar_value: {
-            uint32_t: 2147614720
-        }
-        enumerator: "IN_LOOPBACK"
-        scalar_value: {
-            uint32_t: 2147745792
-        }
-        enumerator: "IN_IP"
-        scalar_value: {
-            uint32_t: 2148007936
-        }
-        enumerator: "IN_BUS"
-        scalar_value: {
-            uint32_t: 2148532224
-        }
-        enumerator: "IN_PROXY"
-        scalar_value: {
-            uint32_t: 2164260864
-        }
-        enumerator: "IN_DEFAULT"
-        scalar_value: {
-            uint32_t: 3221225472
-        }
-        enumerator: "IN_ALL"
-        scalar_value: {
-            uint32_t: 3240099839
-        }
-        enumerator: "IN_ALL_SCO"
-        scalar_value: {
-            uint32_t: 2147483656
-        }
-        enumerator: "IN_ALL_USB"
-        scalar_value: {
-            uint32_t: 2147489792
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioOutputFlag"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "DIRECT"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "PRIMARY"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "FAST"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "DEEP_BUFFER"
-        scalar_value: {
-            int32_t: 8
-        }
-        enumerator: "COMPRESS_OFFLOAD"
-        scalar_value: {
-            int32_t: 16
-        }
-        enumerator: "NON_BLOCKING"
-        scalar_value: {
-            int32_t: 32
-        }
-        enumerator: "HW_AV_SYNC"
-        scalar_value: {
-            int32_t: 64
-        }
-        enumerator: "TTS"
-        scalar_value: {
-            int32_t: 128
-        }
-        enumerator: "RAW"
-        scalar_value: {
-            int32_t: 256
-        }
-        enumerator: "SYNC"
-        scalar_value: {
-            int32_t: 512
-        }
-        enumerator: "IEC958_NONAUDIO"
-        scalar_value: {
-            int32_t: 1024
-        }
-        enumerator: "DIRECT_PCM"
-        scalar_value: {
-            int32_t: 8192
-        }
-        enumerator: "MMAP_NOIRQ"
-        scalar_value: {
-            int32_t: 16384
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioInputFlag"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "FAST"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "HW_HOTWORD"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "RAW"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "SYNC"
-        scalar_value: {
-            int32_t: 8
-        }
-        enumerator: "MMAP_NOIRQ"
-        scalar_value: {
-            int32_t: 16
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioUsage"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "UNKNOWN"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "MEDIA"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "VOICE_COMMUNICATION"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "VOICE_COMMUNICATION_SIGNALLING"
-        scalar_value: {
-            int32_t: 3
-        }
-        enumerator: "ALARM"
-        scalar_value: {
-            int32_t: 4
-        }
-        enumerator: "NOTIFICATION"
-        scalar_value: {
-            int32_t: 5
-        }
-        enumerator: "NOTIFICATION_TELEPHONY_RINGTONE"
-        scalar_value: {
-            int32_t: 6
-        }
-        enumerator: "NOTIFICATION_COMMUNICATION_REQUEST"
-        scalar_value: {
-            int32_t: 7
-        }
-        enumerator: "NOTIFICATION_COMMUNICATION_INSTANT"
-        scalar_value: {
-            int32_t: 8
-        }
-        enumerator: "NOTIFICATION_COMMUNICATION_DELAYED"
-        scalar_value: {
-            int32_t: 9
-        }
-        enumerator: "NOTIFICATION_EVENT"
-        scalar_value: {
-            int32_t: 10
-        }
-        enumerator: "ASSISTANCE_ACCESSIBILITY"
-        scalar_value: {
-            int32_t: 11
-        }
-        enumerator: "ASSISTANCE_NAVIGATION_GUIDANCE"
-        scalar_value: {
-            int32_t: 12
-        }
-        enumerator: "ASSISTANCE_SONIFICATION"
-        scalar_value: {
-            int32_t: 13
-        }
-        enumerator: "GAME"
-        scalar_value: {
-            int32_t: 14
-        }
-        enumerator: "VIRTUAL_SOURCE"
-        scalar_value: {
-            int32_t: 15
-        }
-        enumerator: "CNT"
-        scalar_value: {
-            int32_t: 16
-        }
-        enumerator: "MAX"
-        scalar_value: {
-            int32_t: 15
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioOffloadInfo"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "sampleRateHz"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "channelMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    }
-    struct_value: {
-        name: "format"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
-    }
-    struct_value: {
-        name: "streamType"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioStreamType"
-    }
-    struct_value: {
-        name: "bitRatePerSecond"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "durationMicroseconds"
-        type: TYPE_SCALAR
-        scalar_type: "int64_t"
-    }
-    struct_value: {
-        name: "hasVideo"
-        type: TYPE_SCALAR
-        scalar_type: "bool_t"
-    }
-    struct_value: {
-        name: "isStreaming"
-        type: TYPE_SCALAR
-        scalar_type: "bool_t"
-    }
-    struct_value: {
-        name: "bitWidth"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "bufferSize"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "usage"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioUsage"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioConfig"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "sampleRateHz"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "channelMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    }
-    struct_value: {
-        name: "format"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
-    }
-    struct_value: {
-        name: "offloadInfo"
-        type: TYPE_STRUCT
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioOffloadInfo"
-    }
-    struct_value: {
-        name: "frameCount"
-        type: TYPE_SCALAR
-        scalar_type: "uint64_t"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioGainMode"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "uint32_t"
-
-        enumerator: "JOINT"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "CHANNELS"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "RAMP"
-        scalar_value: {
-            uint32_t: 4
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioGain"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "mode"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioGainMode"
-    }
-    struct_value: {
-        name: "channelMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    }
-    struct_value: {
-        name: "minValue"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "maxValue"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "defaultValue"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "stepValue"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "minRampMs"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "maxRampMs"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioGainConfig"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "index"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "mode"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioGainMode"
-    }
-    struct_value: {
-        name: "channelMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    }
-    struct_value: {
-        name: "values"
-        type: TYPE_ARRAY
-        vector_value: {
-            vector_size: 32
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-    }
-    struct_value: {
-        name: "rampDurationMs"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortRole"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "SOURCE"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "SINK"
-        scalar_value: {
-            int32_t: 2
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortType"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "NONE"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "DEVICE"
-        scalar_value: {
-            int32_t: 1
-        }
-        enumerator: "MIX"
-        scalar_value: {
-            int32_t: 2
-        }
-        enumerator: "SESSION"
-        scalar_value: {
-            int32_t: 3
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortConfigDeviceExt"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "hwModule"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "type"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioDevice"
-    }
-    struct_value: {
-        name: "address"
-        type: TYPE_ARRAY
-        vector_value: {
-            vector_size: 32
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortConfigSessionExt"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "session"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortConfigMask"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "uint32_t"
-
-        enumerator: "SAMPLE_RATE"
-        scalar_value: {
-            uint32_t: 1
-        }
-        enumerator: "CHANNEL_MASK"
-        scalar_value: {
-            uint32_t: 2
-        }
-        enumerator: "FORMAT"
-        scalar_value: {
-            uint32_t: 4
-        }
-        enumerator: "GAIN"
-        scalar_value: {
-            uint32_t: 8
-        }
-        enumerator: "ALL"
-        scalar_value: {
-            uint32_t: 15
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortConfig"
-    type: TYPE_STRUCT
-    sub_struct: {
-        name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext"
-        type: TYPE_UNION
-        sub_union: {
-            name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt"
-            type: TYPE_STRUCT
-            sub_struct: {
-                name: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt::UseCase"
-                type: TYPE_UNION
-                union_value: {
-                    name: "stream"
-                    type: TYPE_ENUM
-                    predefined_type: "::android::hardware::audio::common::V2_0::AudioStreamType"
-                }
-                union_value: {
-                    name: "source"
-                    type: TYPE_ENUM
-                    predefined_type: "::android::hardware::audio::common::V2_0::AudioSource"
-                }
-            }
-            struct_value: {
-                name: "hwModule"
-                type: TYPE_SCALAR
-                scalar_type: "int32_t"
-            }
-            struct_value: {
-                name: "ioHandle"
-                type: TYPE_SCALAR
-                scalar_type: "int32_t"
-            }
-            struct_value: {
-                name: "useCase"
-                type: TYPE_UNION
-                predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt::UseCase"
-            }
-        }
-        union_value: {
-            name: "device"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigDeviceExt"
-        }
-        union_value: {
-            name: "mix"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext::AudioPortConfigMixExt"
-        }
-        union_value: {
-            name: "session"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigSessionExt"
-        }
-    }
-    struct_value: {
-        name: "id"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "configMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfigMask"
-    }
-    struct_value: {
-        name: "sampleRateHz"
-        type: TYPE_SCALAR
-        scalar_type: "uint32_t"
-    }
-    struct_value: {
-        name: "channelMask"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-    }
-    struct_value: {
-        name: "format"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
-    }
-    struct_value: {
-        name: "gain"
-        type: TYPE_STRUCT
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioGainConfig"
-    }
-    struct_value: {
-        name: "type"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortType"
-    }
-    struct_value: {
-        name: "role"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortRole"
-    }
-    struct_value: {
-        name: "ext"
-        type: TYPE_UNION
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig::Ext"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortDeviceExt"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "hwModule"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "type"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioDevice"
-    }
-    struct_value: {
-        name: "address"
-        type: TYPE_ARRAY
-        vector_value: {
-            vector_size: 32
-            type: TYPE_SCALAR
-            scalar_type: "uint8_t"
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioMixLatencyClass"
-    type: TYPE_ENUM
-    enum_value: {
-        scalar_type: "int32_t"
-
-        enumerator: "LOW"
-        scalar_value: {
-            int32_t: 0
-        }
-        enumerator: "NORMAL"
-        scalar_value: {
-            int32_t: 1
-        }
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortMixExt"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "hwModule"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "ioHandle"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "latencyClass"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioMixLatencyClass"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPortSessionExt"
-    type: TYPE_STRUCT
-    struct_value: {
-        name: "session"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-}
-
-attribute: {
-    name: "::android::hardware::audio::common::V2_0::AudioPort"
-    type: TYPE_STRUCT
-    sub_struct: {
-        name: "::android::hardware::audio::common::V2_0::AudioPort::Ext"
-        type: TYPE_UNION
-        union_value: {
-            name: "device"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortDeviceExt"
-        }
-        union_value: {
-            name: "mix"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortMixExt"
-        }
-        union_value: {
-            name: "session"
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioPortSessionExt"
-        }
-    }
-    struct_value: {
-        name: "id"
-        type: TYPE_SCALAR
-        scalar_type: "int32_t"
-    }
-    struct_value: {
-        name: "role"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortRole"
-    }
-    struct_value: {
-        name: "name"
-        type: TYPE_STRING
-    }
-    struct_value: {
-        name: "sampleRates"
-        type: TYPE_VECTOR
-        vector_value: {
-            type: TYPE_SCALAR
-            scalar_type: "uint32_t"
-        }
-    }
-    struct_value: {
-        name: "channelMasks"
-        type: TYPE_VECTOR
-        vector_value: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioChannelMask"
-        }
-    }
-    struct_value: {
-        name: "formats"
-        type: TYPE_VECTOR
-        vector_value: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioFormat"
-        }
-    }
-    struct_value: {
-        name: "gains"
-        type: TYPE_VECTOR
-        vector_value: {
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::audio::common::V2_0::AudioGain"
-        }
-    }
-    struct_value: {
-        name: "activeConfig"
-        type: TYPE_STRUCT
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortConfig"
-    }
-    struct_value: {
-        name: "type"
-        type: TYPE_ENUM
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPortType"
-    }
-    struct_value: {
-        name: "ext"
-        type: TYPE_UNION
-        predefined_type: "::android::hardware::audio::common::V2_0::AudioPort::Ext"
-    }
-}
-
-attribute: {
     name: "::android::hardware::tv::input::V1_0::Result"
     type: TYPE_ENUM
     enum_value: {
@@ -2030,8 +110,8 @@
     struct_value: {
         name: "audioAddress"
         type: TYPE_ARRAY
+        vector_size: 32
         vector_value: {
-            vector_size: 32
             type: TYPE_SCALAR
             scalar_type: "uint8_t"
         }
diff --git a/vibrator/1.0/vts/Vibrator.vts b/vibrator/1.0/vts/Vibrator.vts
index e0de3fb..07ec30e 100644
--- a/vibrator/1.0/vts/Vibrator.vts
+++ b/vibrator/1.0/vts/Vibrator.vts
@@ -5,6 +5,7 @@
 package: "android.hardware.vibrator"
 
 import: "android.hardware.vibrator@1.0::types"
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/vr/1.0/vts/Vr.vts b/vr/1.0/vts/Vr.vts
index 36ec11f..fdc4a5c 100644
--- a/vr/1.0/vts/Vr.vts
+++ b/vr/1.0/vts/Vr.vts
@@ -4,6 +4,7 @@
 
 package: "android.hardware.vr"
 
+import: "android.hidl.base@1.0::types"
 
 interface: {
     api: {
diff --git a/vr/1.0/vts/functional/Android.bp b/vr/1.0/vts/functional/Android.bp
index 551f27c..529f92d 100644
--- a/vr/1.0/vts/functional/Android.bp
+++ b/vr/1.0/vts/functional/Android.bp
@@ -26,11 +26,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-       "--coverage",
        "-O0",
         "-g",
-    ],
-    ldflags: [
-        "--coverage"
     ]
 }
diff --git a/wifi/.clang-format b/wifi/.clang-format
new file mode 100644
index 0000000..25ed932
--- /dev/null
+++ b/wifi/.clang-format
@@ -0,0 +1,2 @@
+BasedOnStyle: Google
+IndentWidth: 4
\ No newline at end of file
diff --git a/wifi/1.0/types.hal b/wifi/1.0/types.hal
index f777207..1c6d0e0 100644
--- a/wifi/1.0/types.hal
+++ b/wifi/1.0/types.hal
@@ -715,8 +715,8 @@
     * Value of 0:
     *  - reserved in 2.4GHz band
     *  - no wakeup at all in 5GHz band
-    * The publish/subscribe period values don't override the device level configurations if
-    * specified.
+    * The publish/subscribe period values don't override this device level configurations if
+    * it is specified.
     * Configuration is only used only if |validDiscoveryWindowIntervalVal| is set to true.
     * NAN Spec: Device Capability Attribute / 2.4 GHz DW, Device Capability Attribute / 5 GHz DW
     */
@@ -915,8 +915,8 @@
   /**
    * Indicates the interval between two Discovery Windows in which the device supporting the
    * service is awake to transmit or receive the Service Discovery frames. Valid values of Awake
-   * DW Interval are: 1, 2, 4, 8 and 16. A value of 0 will default to 1. Overrides any
-   * |NanBandSpecificConfig.discoveryWindowIntervalVal| configurations.
+   * DW Interval are: 1, 2, 4, 8 and 16. A value of 0 will default to 1. Does not override
+   * |NanBandSpecificConfig.discoveryWindowIntervalVal| configurations if those are specified.
    */
   uint16_t discoveryWindowPeriod;
   /**
diff --git a/wifi/1.0/vts/functional/Android.bp b/wifi/1.0/vts/functional/Android.bp
index 422eec5..8a5d7e0 100644
--- a/wifi/1.0/vts/functional/Android.bp
+++ b/wifi/1.0/vts/functional/Android.bp
@@ -21,6 +21,7 @@
         "main.cpp",
         "wifi_ap_iface_hidl_test.cpp",
         "wifi_chip_hidl_test.cpp",
+        "wifi_hidl_call_util_selftest.cpp",
         "wifi_hidl_test.cpp",
         "wifi_hidl_test_utils.cpp",
         "wifi_nan_iface_hidl_test.cpp",
@@ -40,11 +41,7 @@
     ],
     static_libs: ["libgtest"],
     cflags: [
-        "--coverage",
         "-O0",
         "-g",
     ],
-    ldflags: [
-        "--coverage"
-    ]
 }
diff --git a/wifi/1.0/vts/functional/wifi_hidl_call_util.h b/wifi/1.0/vts/functional/wifi_hidl_call_util.h
new file mode 100644
index 0000000..03200a0
--- /dev/null
+++ b/wifi/1.0/vts/functional/wifi_hidl_call_util.h
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include <functional>
+#include <tuple>
+#include <type_traits>
+#include <utility>
+
+#include <gtest/gtest.h>
+
+namespace {
+namespace detail {
+template <typename>
+struct functionArgSaver;
+
+// Provides a std::function that takes one argument, and a buffer
+// wherein the function will store its argument. The buffer has
+// the same type as the argument, but with const and reference
+// modifiers removed.
+template <typename ArgT>
+struct functionArgSaver<std::function<void(ArgT)>> final {
+    using StorageT = typename std::remove_const<
+        typename std::remove_reference<ArgT>::type>::type;
+
+    std::function<void(ArgT)> saveArgs = [this](ArgT arg) {
+        this->saved_values = arg;
+    };
+
+    StorageT saved_values;
+};
+
+// Provides a std::function that takes two arguments, and a buffer
+// wherein the function will store its arguments. The buffer is a
+// std::pair, whose elements have the same types as the arguments
+// (but with const and reference modifiers removed).
+template <typename Arg1T, typename Arg2T>
+struct functionArgSaver<std::function<void(Arg1T, Arg2T)>> final {
+    using StorageT =
+        std::pair<typename std::remove_const<
+                      typename std::remove_reference<Arg1T>::type>::type,
+                  typename std::remove_const<
+                      typename std::remove_reference<Arg2T>::type>::type>;
+
+    std::function<void(Arg1T, Arg2T)> saveArgs = [this](Arg1T arg1,
+                                                        Arg2T arg2) {
+        this->saved_values = {arg1, arg2};
+    };
+
+    StorageT saved_values;
+};
+
+// Provides a std::function that takes three or more arguments, and a
+// buffer wherein the function will store its arguments. The buffer is a
+// std::tuple whose elements have the same types as the arguments (but
+// with const and reference modifiers removed).
+template <typename... ArgT>
+struct functionArgSaver<std::function<void(ArgT...)>> final {
+    using StorageT = std::tuple<typename std::remove_const<
+        typename std::remove_reference<ArgT>::type>::type...>;
+
+    std::function<void(ArgT...)> saveArgs = [this](ArgT... arg) {
+        this->saved_values = {arg...};
+    };
+
+    StorageT saved_values;
+};
+
+// Invokes |method| on |object|, providing |method| a CallbackT as the
+// final argument. Returns a copy of the parameters that |method| provided
+// to CallbackT. (The parameters are returned by value.)
+template <typename CallbackT, typename MethodT, typename ObjectT,
+          typename... ArgT>
+typename functionArgSaver<CallbackT>::StorageT invokeMethod(
+    MethodT method, ObjectT object, ArgT&&... methodArg) {
+    functionArgSaver<CallbackT> result_buffer;
+    const auto& res = ((*object).*method)(std::forward<ArgT>(methodArg)...,
+                                          result_buffer.saveArgs);
+    EXPECT_TRUE(res.isOk());
+    return result_buffer.saved_values;
+}
+}  // namespace detail
+}  // namespace
+
+// Invokes |method| on |strong_pointer|, passing provided arguments through to
+// |method|.
+//
+// Returns either:
+// - A copy of the result callback parameter (for callbacks with a single
+//   parameter), OR
+// - A pair containing a copy of the result callback parameters (for callbacks
+//   with two parameters), OR
+// - A tuple containing a copy of the result callback paramters (for callbacks
+//   with three or more parameters).
+//
+// Example usage:
+//   EXPECT_EQ(WifiStatusCode::SUCCESS,
+//       HIDL_INVOKE(strong_pointer, methodReturningWifiStatus).code);
+//   EXPECT_EQ(WifiStatusCode::SUCCESS,
+//       HIDL_INVOKE(strong_pointer, methodReturningWifiStatusAndOneMore)
+//         .first.code);
+//   EXPECT_EQ(WifiStatusCode::SUCCESS, std::get<0>(
+//       HIDL_INVOKE(strong_pointer, methodReturningWifiStatusAndTwoMore))
+//         .code);
+#define HIDL_INVOKE(strong_pointer, method, ...)                              \
+    (detail::invokeMethod<                                                    \
+        std::remove_reference<decltype(*strong_pointer)>::type::method##_cb>( \
+        &std::remove_reference<decltype(*strong_pointer)>::type::method,      \
+        strong_pointer, ##__VA_ARGS__))
diff --git a/wifi/1.0/vts/functional/wifi_hidl_call_util_selftest.cpp b/wifi/1.0/vts/functional/wifi_hidl_call_util_selftest.cpp
new file mode 100644
index 0000000..129bdb2
--- /dev/null
+++ b/wifi/1.0/vts/functional/wifi_hidl_call_util_selftest.cpp
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <functional>
+#include <type_traits>
+
+#include <hidl/Status.h>
+#include <utils/RefBase.h>
+#include <utils/StrongPointer.h>
+
+#include "wifi_hidl_call_util.h"
+
+namespace {
+/*
+ * Example of a user-defined data-type.
+ *
+ * Used to verify that, within the internals of HIDL_INVOKE,
+ * reference parameters are stored by copy.
+ */
+class Dummy {};
+
+/*
+ * Example of what a HIDL-generated proxy might look like.
+ */
+class IExample : public ::android::RefBase {
+   public:
+    // The callback type, for a method called startWithCallbackCopy, which
+    // has a callback that takes an |int|. Both the name, and the value,
+    // must match what would appear in HIDL-generated code.
+    using startWithCallbackCopy_cb = std::function<void(int)>;
+
+    // The callback type, for a method called startWithCallbackReference, which
+    // has a callback that takes an |int|. Both the name, and the value,
+    // must match what would appear in HIDL-generated code.
+    using startWithCallbackReference_cb = std::function<void(int)>;
+
+    // Constants which allow tests to verify that the proxy methods can
+    // correctly return a value. We use different values for by-copy and
+    // by-reference, to double-check that a call was dispatched properly.
+    static constexpr int kByCopyResult = 42;
+    static constexpr int kByReferenceResult = 420;
+
+    // Example of what a no-arg method would look like, if the callback
+    // is passed by-value.
+    ::android::hardware::Return<void> startWithCallbackCopy(
+        startWithCallbackCopy_cb _hidl_cb) {
+        _hidl_cb(kByCopyResult);
+        return ::android::hardware::Void();
+    }
+    // Example of what a no-arg method would look like, if the callback
+    // is passed by const-reference.
+    ::android::hardware::Return<void> startWithCallbackReference(
+        const startWithCallbackReference_cb& _hidl_cb) {
+        _hidl_cb(kByReferenceResult);
+        return ::android::hardware::Void();
+    }
+};
+
+constexpr int IExample::kByCopyResult;
+constexpr int IExample::kByReferenceResult;
+}  // namespace
+
+static_assert(std::is_same<int, detail::functionArgSaver<
+                                    std::function<void(int)>>::StorageT>::value,
+              "Single-arg result should be stored directly.");
+
+static_assert(
+    std::is_same<std::pair<int, long>, detail::functionArgSaver<std::function<
+                                           void(int, long)>>::StorageT>::value,
+    "Two-arg result should be stored as a pair.");
+
+static_assert(
+    std::is_same<std::tuple<char, int, long>,
+                 detail::functionArgSaver<
+                     std::function<void(char, int, long)>>::StorageT>::value,
+    "Three-arg result should be stored as a tuple.");
+
+static_assert(std::is_same<Dummy, detail::functionArgSaver<std::function<
+                                      void(const Dummy&)>>::StorageT>::value,
+              "Reference should be stored by copy.");
+
+/*
+ * Verifies that HIDL_INVOKE can be used with methods that take the result
+ * callback as a by-value parameter. (This reflects the current implementation
+ * of HIDL-generated code.)
+ */
+TEST(HidlInvokeTest, WorksWithMethodThatTakesResultCallbackByValue) {
+    ::android::sp<IExample> sp = new IExample();
+    EXPECT_EQ(IExample::kByCopyResult, HIDL_INVOKE(sp, startWithCallbackCopy));
+}
+
+/*
+ * Verifies that HIDL_INVOKE can be used with methods that take the result
+ * callback as a const-reference parameter. (This ensures that HIDL_INVOKE will
+ * continue to work, if the HIDL-generated code switches to const-ref.)
+ */
+TEST(HidlInvokeTest, WorksWithMethodThatTakesResultCallbackByConstReference) {
+    ::android::sp<IExample> sp = new IExample();
+    EXPECT_EQ(IExample::kByReferenceResult,
+              HIDL_INVOKE(sp, startWithCallbackReference));
+}
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 050bba3..8f34a88 100644
--- a/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp
+++ b/wifi/1.0/vts/functional/wifi_hidl_test_utils.cpp
@@ -16,6 +16,7 @@
 
 #include <gtest/gtest.h>
 
+#include "wifi_hidl_call_util.h"
 #include "wifi_hidl_test_utils.h"
 
 using ::android::hardware::wifi::V1_0::IWifi;
@@ -52,41 +53,23 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    wifi->start([&](WifiStatus status) {
-        if (status.code != WifiStatusCode::SUCCESS) {
-            operation_failed = true;
-        }
-    });
-    if (operation_failed) {
+    if (HIDL_INVOKE(wifi, start).code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
 
-    std::vector<ChipId> wifi_chip_ids;
-    wifi->getChipIds(
-        [&](const WifiStatus& status, const hidl_vec<ChipId>& chip_ids) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_chip_ids = chip_ids;
-        });
-    // We don't expect more than 1 chip currently.
-    if (operation_failed || wifi_chip_ids.size() != 1) {
+    const auto& status_and_chip_ids = HIDL_INVOKE(wifi, getChipIds);
+    const auto& chip_ids = status_and_chip_ids.second;
+    if (status_and_chip_ids.first.code != WifiStatusCode::SUCCESS ||
+        chip_ids.size() != 1) {
         return nullptr;
     }
 
-    sp<IWifiChip> wifi_chip;
-    wifi->getChip(wifi_chip_ids[0],
-                  [&](const WifiStatus& status, const sp<IWifiChip>& chip) {
-                      if (status.code != WifiStatusCode::SUCCESS) {
-                          operation_failed = true;
-                      }
-                      wifi_chip = chip;
-                  });
-    if (operation_failed) {
+    const auto& status_and_chip = HIDL_INVOKE(wifi, getChip, chip_ids[0]);
+    if (status_and_chip.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_chip;
+
+    return status_and_chip.second;
 }
 
 // Since we currently only support one iface of each type. Just iterate thru the
@@ -116,30 +99,18 @@
 
 bool configureChipToSupportIfaceType(const sp<IWifiChip>& wifi_chip,
                                      IfaceType type) {
-    bool operation_failed = false;
-    std::vector<IWifiChip::ChipMode> chip_modes;
-    wifi_chip->getAvailableModes(
-        [&](WifiStatus status, const hidl_vec<IWifiChip::ChipMode>& modes) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            chip_modes = modes;
-        });
-    if (operation_failed) {
+    const auto& status_and_modes = HIDL_INVOKE(wifi_chip, getAvailableModes);
+    if (status_and_modes.first.code != WifiStatusCode::SUCCESS) {
         return false;
     }
 
     ChipModeId mode_id;
-    if (!findModeToSupportIfaceType(type, chip_modes, &mode_id)) {
+    if (!findModeToSupportIfaceType(type, status_and_modes.second, &mode_id)) {
         return false;
     }
 
-    wifi_chip->configureChip(mode_id, [&](WifiStatus status) {
-        if (status.code != WifiStatusCode::SUCCESS) {
-            operation_failed = true;
-        }
-    });
-    if (operation_failed) {
+    if (HIDL_INVOKE(wifi_chip, configureChip, mode_id).code !=
+        WifiStatusCode::SUCCESS) {
         return false;
     }
     return true;
@@ -154,19 +125,11 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    sp<IWifiApIface> wifi_ap_iface;
-    wifi_chip->createApIface(
-        [&](const WifiStatus& status, const sp<IWifiApIface>& iface) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_ap_iface = iface;
-        });
-    if (operation_failed) {
+    const auto& status_and_iface = HIDL_INVOKE(wifi_chip, createApIface);
+    if (status_and_iface.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_ap_iface;
+    return status_and_iface.second;
 }
 
 sp<IWifiNanIface> getWifiNanIface() {
@@ -178,19 +141,11 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    sp<IWifiNanIface> wifi_nan_iface;
-    wifi_chip->createNanIface(
-        [&](const WifiStatus& status, const sp<IWifiNanIface>& iface) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_nan_iface = iface;
-        });
-    if (operation_failed) {
+    const auto& status_and_iface = HIDL_INVOKE(wifi_chip, createNanIface);
+    if (status_and_iface.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_nan_iface;
+    return status_and_iface.second;
 }
 
 sp<IWifiP2pIface> getWifiP2pIface() {
@@ -202,19 +157,11 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    sp<IWifiP2pIface> wifi_p2p_iface;
-    wifi_chip->createP2pIface(
-        [&](const WifiStatus& status, const sp<IWifiP2pIface>& iface) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_p2p_iface = iface;
-        });
-    if (operation_failed) {
+    const auto& status_and_iface = HIDL_INVOKE(wifi_chip, createP2pIface);
+    if (status_and_iface.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_p2p_iface;
+    return status_and_iface.second;
 }
 
 sp<IWifiStaIface> getWifiStaIface() {
@@ -226,19 +173,11 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    sp<IWifiStaIface> wifi_sta_iface;
-    wifi_chip->createStaIface(
-        [&](const WifiStatus& status, const sp<IWifiStaIface>& iface) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_sta_iface = iface;
-        });
-    if (operation_failed) {
+    const auto& status_and_iface = HIDL_INVOKE(wifi_chip, createStaIface);
+    if (status_and_iface.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_sta_iface;
+    return status_and_iface.second;
 }
 
 sp<IWifiRttController> getWifiRttController() {
@@ -251,26 +190,16 @@
         return nullptr;
     }
 
-    bool operation_failed = false;
-    sp<IWifiRttController> wifi_rtt_controller;
-    wifi_chip->createRttController(
-        wifi_sta_iface, [&](const WifiStatus& status,
-                            const sp<IWifiRttController>& controller) {
-            if (status.code != WifiStatusCode::SUCCESS) {
-                operation_failed = true;
-            }
-            wifi_rtt_controller = controller;
-        });
-    if (operation_failed) {
+    const auto& status_and_controller =
+        HIDL_INVOKE(wifi_chip, createRttController, wifi_sta_iface);
+    if (status_and_controller.first.code != WifiStatusCode::SUCCESS) {
         return nullptr;
     }
-    return wifi_rtt_controller;
+    return status_and_controller.second;
 }
 
 void stopWifi() {
     sp<IWifi> wifi = getWifi();
     ASSERT_NE(wifi, nullptr);
-    wifi->stop([](const WifiStatus& status) {
-        ASSERT_EQ(status.code, WifiStatusCode::SUCCESS);
-    });
+    ASSERT_EQ(HIDL_INVOKE(wifi, stop).code, WifiStatusCode::SUCCESS);
 }
