Merge "Update Andriod.bp for hals."
diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp
index 2f0c936..1d4515d 100644
--- a/audio/2.0/Android.bp
+++ b/audio/2.0/Android.bp
@@ -104,3 +104,157 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.audio.vts.driver@2.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+    srcs: [
+        "types.hal",
+        "IDevice.hal",
+        "IDevicesFactory.hal",
+        "IPrimaryDevice.hal",
+        "IStream.hal",
+        "IStreamIn.hal",
+        "IStreamOut.hal",
+        "IStreamOutCallback.hal",
+    ],
+    out: [
+        "android/hardware/audio/2.0/types.vts.cpp",
+        "android/hardware/audio/2.0/Device.vts.cpp",
+        "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+        "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+        "android/hardware/audio/2.0/Stream.vts.cpp",
+        "android/hardware/audio/2.0/StreamIn.vts.cpp",
+        "android/hardware/audio/2.0/StreamOut.vts.cpp",
+        "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.vts.driver@2.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+    srcs: [
+        "types.hal",
+        "IDevice.hal",
+        "IDevicesFactory.hal",
+        "IPrimaryDevice.hal",
+        "IStream.hal",
+        "IStreamIn.hal",
+        "IStreamOut.hal",
+        "IStreamOutCallback.hal",
+    ],
+    out: [
+        "android/hardware/audio/2.0/types.vts.h",
+        "android/hardware/audio/2.0/Device.vts.h",
+        "android/hardware/audio/2.0/DevicesFactory.vts.h",
+        "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+        "android/hardware/audio/2.0/Stream.vts.h",
+        "android/hardware/audio/2.0/StreamIn.vts.h",
+        "android/hardware/audio/2.0/StreamOut.vts.h",
+        "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio.vts.driver@2.0",
+    generated_sources: ["android.hardware.audio.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.audio.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio.vts.driver@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+        "android.hardware.audio@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio@2.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+    srcs: [
+        "types.hal",
+        "IDevice.hal",
+        "IDevicesFactory.hal",
+        "IPrimaryDevice.hal",
+        "IStream.hal",
+        "IStreamIn.hal",
+        "IStreamOut.hal",
+        "IStreamOutCallback.hal",
+    ],
+    out: [
+        "android/hardware/audio/2.0/types.vts.cpp",
+        "android/hardware/audio/2.0/Device.vts.cpp",
+        "android/hardware/audio/2.0/DevicesFactory.vts.cpp",
+        "android/hardware/audio/2.0/PrimaryDevice.vts.cpp",
+        "android/hardware/audio/2.0/Stream.vts.cpp",
+        "android/hardware/audio/2.0/StreamIn.vts.cpp",
+        "android/hardware/audio/2.0/StreamOut.vts.cpp",
+        "android/hardware/audio/2.0/StreamOutCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio@2.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/2.0/ $(genDir)/android/hardware/audio/2.0/",
+    srcs: [
+        "types.hal",
+        "IDevice.hal",
+        "IDevicesFactory.hal",
+        "IPrimaryDevice.hal",
+        "IStream.hal",
+        "IStreamIn.hal",
+        "IStreamOut.hal",
+        "IStreamOutCallback.hal",
+    ],
+    out: [
+        "android/hardware/audio/2.0/types.vts.h",
+        "android/hardware/audio/2.0/Device.vts.h",
+        "android/hardware/audio/2.0/DevicesFactory.vts.h",
+        "android/hardware/audio/2.0/PrimaryDevice.vts.h",
+        "android/hardware/audio/2.0/Stream.vts.h",
+        "android/hardware/audio/2.0/StreamIn.vts.h",
+        "android/hardware/audio/2.0/StreamOut.vts.h",
+        "android/hardware/audio/2.0/StreamOutCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio@2.0-vts.profiler",
+    generated_sources: ["android.hardware.audio@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio@2.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+        "android.hardware.audio@2.0",
+    ],
+}
diff --git a/audio/common/2.0/Android.bp b/audio/common/2.0/Android.bp
index 5d33733..284766c 100644
--- a/audio/common/2.0/Android.bp
+++ b/audio/common/2.0/Android.bp
@@ -44,3 +44,95 @@
         "libutils",
     ],
 }
+
+genrule {
+    name: "android.hardware.audio.common.vts.driver@2.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/audio/common/2.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.common.vts.driver@2.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/audio/common/2.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio.common.vts.driver@2.0",
+    generated_sources: ["android.hardware.audio.common.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.audio.common.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio.common.vts.driver@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.common@2.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/audio/common/2.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.common@2.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.common@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/common/2.0/ $(genDir)/android/hardware/audio/common/2.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/audio/common/2.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio.common@2.0-vts.profiler",
+    generated_sources: ["android.hardware.audio.common@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio.common@2.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+    ],
+}
diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp
index ee76a0e..98d6cfe 100644
--- a/audio/effect/2.0/Android.bp
+++ b/audio/effect/2.0/Android.bp
@@ -160,3 +160,213 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.audio.effect.vts.driver@2.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+    srcs: [
+        "types.hal",
+        "IAcousticEchoCancelerEffect.hal",
+        "IAutomaticGainControlEffect.hal",
+        "IBassBoostEffect.hal",
+        "IDownmixEffect.hal",
+        "IEffect.hal",
+        "IEffectBufferProviderCallback.hal",
+        "IEffectsFactory.hal",
+        "IEnvironmentalReverbEffect.hal",
+        "IEqualizerEffect.hal",
+        "ILoudnessEnhancerEffect.hal",
+        "INoiseSuppressionEffect.hal",
+        "IPresetReverbEffect.hal",
+        "IVirtualizerEffect.hal",
+        "IVisualizerEffect.hal",
+    ],
+    out: [
+        "android/hardware/audio/effect/2.0/types.vts.cpp",
+        "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+        "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+        "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+        "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.effect.vts.driver@2.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+    srcs: [
+        "types.hal",
+        "IAcousticEchoCancelerEffect.hal",
+        "IAutomaticGainControlEffect.hal",
+        "IBassBoostEffect.hal",
+        "IDownmixEffect.hal",
+        "IEffect.hal",
+        "IEffectBufferProviderCallback.hal",
+        "IEffectsFactory.hal",
+        "IEnvironmentalReverbEffect.hal",
+        "IEqualizerEffect.hal",
+        "ILoudnessEnhancerEffect.hal",
+        "INoiseSuppressionEffect.hal",
+        "IPresetReverbEffect.hal",
+        "IVirtualizerEffect.hal",
+        "IVisualizerEffect.hal",
+    ],
+    out: [
+        "android/hardware/audio/effect/2.0/types.vts.h",
+        "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+        "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+        "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+        "android/hardware/audio/effect/2.0/Effect.vts.h",
+        "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+        "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+        "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+        "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+        "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+        "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio.effect.vts.driver@2.0",
+    generated_sources: ["android.hardware.audio.effect.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.audio.effect.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio.effect.vts.driver@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+        "android.hardware.audio.effect@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.effect@2.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+    srcs: [
+        "types.hal",
+        "IAcousticEchoCancelerEffect.hal",
+        "IAutomaticGainControlEffect.hal",
+        "IBassBoostEffect.hal",
+        "IDownmixEffect.hal",
+        "IEffect.hal",
+        "IEffectBufferProviderCallback.hal",
+        "IEffectsFactory.hal",
+        "IEnvironmentalReverbEffect.hal",
+        "IEqualizerEffect.hal",
+        "ILoudnessEnhancerEffect.hal",
+        "INoiseSuppressionEffect.hal",
+        "IPresetReverbEffect.hal",
+        "IVirtualizerEffect.hal",
+        "IVisualizerEffect.hal",
+    ],
+    out: [
+        "android/hardware/audio/effect/2.0/types.vts.cpp",
+        "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/BassBoostEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/DownmixEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/Effect.vts.cpp",
+        "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.cpp",
+        "android/hardware/audio/effect/2.0/EffectsFactory.vts.cpp",
+        "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/EqualizerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.cpp",
+        "android/hardware/audio/effect/2.0/VisualizerEffect.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.audio.effect@2.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.audio.effect@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/audio/effect/2.0/ $(genDir)/android/hardware/audio/effect/2.0/",
+    srcs: [
+        "types.hal",
+        "IAcousticEchoCancelerEffect.hal",
+        "IAutomaticGainControlEffect.hal",
+        "IBassBoostEffect.hal",
+        "IDownmixEffect.hal",
+        "IEffect.hal",
+        "IEffectBufferProviderCallback.hal",
+        "IEffectsFactory.hal",
+        "IEnvironmentalReverbEffect.hal",
+        "IEqualizerEffect.hal",
+        "ILoudnessEnhancerEffect.hal",
+        "INoiseSuppressionEffect.hal",
+        "IPresetReverbEffect.hal",
+        "IVirtualizerEffect.hal",
+        "IVisualizerEffect.hal",
+    ],
+    out: [
+        "android/hardware/audio/effect/2.0/types.vts.h",
+        "android/hardware/audio/effect/2.0/AcousticEchoCancelerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/AutomaticGainControlEffect.vts.h",
+        "android/hardware/audio/effect/2.0/BassBoostEffect.vts.h",
+        "android/hardware/audio/effect/2.0/DownmixEffect.vts.h",
+        "android/hardware/audio/effect/2.0/Effect.vts.h",
+        "android/hardware/audio/effect/2.0/EffectBufferProviderCallback.vts.h",
+        "android/hardware/audio/effect/2.0/EffectsFactory.vts.h",
+        "android/hardware/audio/effect/2.0/EnvironmentalReverbEffect.vts.h",
+        "android/hardware/audio/effect/2.0/EqualizerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/LoudnessEnhancerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/NoiseSuppressionEffect.vts.h",
+        "android/hardware/audio/effect/2.0/PresetReverbEffect.vts.h",
+        "android/hardware/audio/effect/2.0/VirtualizerEffect.vts.h",
+        "android/hardware/audio/effect/2.0/VisualizerEffect.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.audio.effect@2.0-vts.profiler",
+    generated_sources: ["android.hardware.audio.effect@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.audio.effect@2.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.audio.common@2.0",
+        "android.hidl.base@1.0",
+        "android.hardware.audio.effect@2.0",
+    ],
+}
diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp
index 2a252dc..ea148aa 100644
--- a/biometrics/fingerprint/2.1/Android.bp
+++ b/biometrics/fingerprint/2.1/Android.bp
@@ -126,83 +126,42 @@
 }
 
 genrule {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++",
+    name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
     srcs: [
-        "IBiometricsFingerprint.hal",
         "types.hal",
+        "IBiometricsFingerprint.hal",
+        "IBiometricsFingerprintClientCallback.hal",
     ],
     out: [
+        "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
         "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.cpp",
-        "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
-    srcs: [
-        "IBiometricsFingerprint.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
-        "android/hardware/biometrics/fingerprint/2.1/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler",
-    generated_sources: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprint-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.biometrics.fingerprint@2.1",
-    ],
-}
-
-genrule {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
-    srcs: [
-        "IBiometricsFingerprintClientCallback.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.cpp",
-        "android/hardware/biometrics/fingerprint/2.1/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers",
+    name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.biometrics.fingerprint@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/biometrics/fingerprint/2.1/ $(genDir)/android/hardware/biometrics/fingerprint/2.1/",
     srcs: [
-        "IBiometricsFingerprintClientCallback.hal",
         "types.hal",
+        "IBiometricsFingerprint.hal",
+        "IBiometricsFingerprintClientCallback.hal",
     ],
     out: [
-        "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
         "android/hardware/biometrics/fingerprint/2.1/types.vts.h",
+        "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprint.vts.h",
+        "android/hardware/biometrics/fingerprint/2.1/BiometricsFingerprintClientCallback.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler",
-    generated_sources: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-IBiometricsFingerprintClientCallback-vts.profiler_genc++_headers"],
+    name: "android.hardware.biometrics.fingerprint@2.1-vts.profiler",
+    generated_sources: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.biometrics.fingerprint@2.1-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp
index cf44add..51cfbe9 100644
--- a/broadcastradio/1.0/Android.bp
+++ b/broadcastradio/1.0/Android.bp
@@ -78,3 +78,130 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.broadcastradio.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+    srcs: [
+        "types.hal",
+        "IBroadcastRadio.hal",
+        "IBroadcastRadioFactory.hal",
+        "ITuner.hal",
+        "ITunerCallback.hal",
+    ],
+    out: [
+        "android/hardware/broadcastradio/1.0/types.vts.cpp",
+        "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+        "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+        "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+        "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.broadcastradio.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+    srcs: [
+        "types.hal",
+        "IBroadcastRadio.hal",
+        "IBroadcastRadioFactory.hal",
+        "ITuner.hal",
+        "ITunerCallback.hal",
+    ],
+    out: [
+        "android/hardware/broadcastradio/1.0/types.vts.h",
+        "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+        "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+        "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+        "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.broadcastradio.vts.driver@1.0",
+    generated_sources: ["android.hardware.broadcastradio.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.broadcastradio.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.broadcastradio.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.broadcastradio@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.broadcastradio@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+    srcs: [
+        "types.hal",
+        "IBroadcastRadio.hal",
+        "IBroadcastRadioFactory.hal",
+        "ITuner.hal",
+        "ITunerCallback.hal",
+    ],
+    out: [
+        "android/hardware/broadcastradio/1.0/types.vts.cpp",
+        "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.cpp",
+        "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.cpp",
+        "android/hardware/broadcastradio/1.0/Tuner.vts.cpp",
+        "android/hardware/broadcastradio/1.0/TunerCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.broadcastradio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/broadcastradio/1.0/ $(genDir)/android/hardware/broadcastradio/1.0/",
+    srcs: [
+        "types.hal",
+        "IBroadcastRadio.hal",
+        "IBroadcastRadioFactory.hal",
+        "ITuner.hal",
+        "ITunerCallback.hal",
+    ],
+    out: [
+        "android/hardware/broadcastradio/1.0/types.vts.h",
+        "android/hardware/broadcastradio/1.0/BroadcastRadio.vts.h",
+        "android/hardware/broadcastradio/1.0/BroadcastRadioFactory.vts.h",
+        "android/hardware/broadcastradio/1.0/Tuner.vts.h",
+        "android/hardware/broadcastradio/1.0/TunerCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.broadcastradio@1.0-vts.profiler",
+    generated_sources: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.broadcastradio@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.broadcastradio@1.0",
+    ],
+}
diff --git a/camera/common/1.0/Android.bp b/camera/common/1.0/Android.bp
index 49098c4..7ab4ea9 100644
--- a/camera/common/1.0/Android.bp
+++ b/camera/common/1.0/Android.bp
@@ -44,3 +44,95 @@
         "libutils",
     ],
 }
+
+genrule {
+    name: "android.hardware.camera.common.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/common/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.common.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/common/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.common.vts.driver@1.0",
+    generated_sources: ["android.hardware.camera.common.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.camera.common.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.common.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.common@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/common/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.common@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/common/1.0/ $(genDir)/android/hardware/camera/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/common/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.common@1.0-vts.profiler",
+    generated_sources: ["android.hardware.camera.common@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.common@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+    ],
+}
diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp
index 9a6941a..16b3de4 100644
--- a/camera/device/1.0/Android.bp
+++ b/camera/device/1.0/Android.bp
@@ -76,3 +76,131 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.camera.device.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.vts.h",
+        "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+        "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+        "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device.vts.driver@1.0",
+    generated_sources: ["android.hardware.camera.device.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.camera.device.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.device@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDevice.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.cpp",
+        "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/1.0/ $(genDir)/android/hardware/camera/device/1.0/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.vts.h",
+        "android/hardware/camera/device/1.0/CameraDevice.vts.h",
+        "android/hardware/camera/device/1.0/CameraDeviceCallback.vts.h",
+        "android/hardware/camera/device/1.0/CameraDevicePreviewCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device@1.0-vts.profiler",
+    generated_sources: ["android.hardware.camera.device@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.device@1.0",
+    ],
+}
diff --git a/camera/device/3.2/Android.bp b/camera/device/3.2/Android.bp
index 8b72d5b..7c740ae 100644
--- a/camera/device/3.2/Android.bp
+++ b/camera/device/3.2/Android.bp
@@ -76,3 +76,131 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.camera.device.vts.driver@3.2_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device.vts.driver@3.2_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.vts.h",
+        "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+        "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+        "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device.vts.driver@3.2",
+    generated_sources: ["android.hardware.camera.device.vts.driver@3.2_genc++"],
+    generated_headers: ["android.hardware.camera.device.vts.driver@3.2_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device.vts.driver@3.2_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.device@3.2",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@3.2-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDevice.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceSession.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@3.2-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.device@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/device/3.2/ $(genDir)/android/hardware/camera/device/3.2/",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.vts.h",
+        "android/hardware/camera/device/3.2/CameraDevice.vts.h",
+        "android/hardware/camera/device/3.2/CameraDeviceCallback.vts.h",
+        "android/hardware/camera/device/3.2/CameraDeviceSession.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device@3.2-vts.profiler",
+    generated_sources: ["android.hardware.camera.device@3.2-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device@3.2-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.device@3.2",
+    ],
+}
diff --git a/camera/metadata/3.2/Android.bp b/camera/metadata/3.2/Android.bp
index 2625026..448c655 100644
--- a/camera/metadata/3.2/Android.bp
+++ b/camera/metadata/3.2/Android.bp
@@ -44,3 +44,95 @@
         "libutils",
     ],
 }
+
+genrule {
+    name: "android.hardware.camera.metadata.vts.driver@3.2_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/metadata/3.2/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.metadata.vts.driver@3.2_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/metadata/3.2/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.metadata.vts.driver@3.2",
+    generated_sources: ["android.hardware.camera.metadata.vts.driver@3.2_genc++"],
+    generated_headers: ["android.hardware.camera.metadata.vts.driver@3.2_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.metadata.vts.driver@3.2_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.metadata@3.2",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.metadata@3.2-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/metadata/3.2/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.metadata@3.2 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/metadata/3.2/ $(genDir)/android/hardware/camera/metadata/3.2/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/camera/metadata/3.2/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.metadata@3.2-vts.profiler",
+    generated_sources: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.metadata@3.2-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.metadata@3.2",
+    ],
+}
diff --git a/camera/metadata/3.2/Android.mk b/camera/metadata/3.2/Android.mk
index 083fb6b..6604ccd 100644
--- a/camera/metadata/3.2/Android.mk
+++ b/camera/metadata/3.2/Android.mk
@@ -355,6 +355,25 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (CameraMetadataEnumAndroidControlEnableZsl)
+#
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEnableZsl.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.camera.metadata@3.2::types.CameraMetadataEnumAndroidControlEnableZsl
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (CameraMetadataEnumAndroidControlMode)
 #
 GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
@@ -1564,6 +1583,25 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (CameraMetadataEnumAndroidControlEnableZsl)
+#
+GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlEnableZsl.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.camera.metadata@3.2::types.CameraMetadataEnumAndroidControlEnableZsl
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (CameraMetadataEnumAndroidControlMode)
 #
 GEN := $(intermediates)/android/hardware/camera/metadata/V3_2/CameraMetadataEnumAndroidControlMode.java
diff --git a/camera/provider/2.4/Android.bp b/camera/provider/2.4/Android.bp
index f5f10de..3705086 100644
--- a/camera/provider/2.4/Android.bp
+++ b/camera/provider/2.4/Android.bp
@@ -64,3 +64,115 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.camera.provider.vts.driver@2.4_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+    srcs: [
+        "ICameraProvider.hal",
+        "ICameraProviderCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+        "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.provider.vts.driver@2.4_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+    srcs: [
+        "ICameraProvider.hal",
+        "ICameraProviderCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+        "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.provider.vts.driver@2.4",
+    generated_sources: ["android.hardware.camera.provider.vts.driver@2.4_genc++"],
+    generated_headers: ["android.hardware.camera.provider.vts.driver@2.4_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.provider.vts.driver@2.4_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.camera.device@1.0",
+        "android.hardware.camera.device@3.2",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.provider@2.4",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.camera.device@1.0",
+        "android.hardware.camera.device@3.2",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.provider@2.4-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+    srcs: [
+        "ICameraProvider.hal",
+        "ICameraProviderCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/provider/2.4/CameraProvider.vts.cpp",
+        "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.provider@2.4-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.camera.provider@2.4 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/camera/provider/2.4/ $(genDir)/android/hardware/camera/provider/2.4/",
+    srcs: [
+        "ICameraProvider.hal",
+        "ICameraProviderCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/provider/2.4/CameraProvider.vts.h",
+        "android/hardware/camera/provider/2.4/CameraProviderCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.provider@2.4-vts.profiler",
+    generated_sources: ["android.hardware.camera.provider@2.4-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.provider@2.4-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.camera.device@1.0",
+        "android.hardware.camera.device@3.2",
+        "android.hidl.base@1.0",
+        "android.hardware.camera.provider@2.4",
+    ],
+}
diff --git a/configstore/1.0/Android.bp b/configstore/1.0/Android.bp
index 06fcbd9..d0e3122 100644
--- a/configstore/1.0/Android.bp
+++ b/configstore/1.0/Android.bp
@@ -54,3 +54,106 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.configstore.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+    srcs: [
+        "types.hal",
+        "ISurfaceFlingerConfigs.hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.0/types.vts.cpp",
+        "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+    srcs: [
+        "types.hal",
+        "ISurfaceFlingerConfigs.hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.0/types.vts.h",
+        "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore.vts.driver@1.0",
+    generated_sources: ["android.hardware.configstore.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.configstore.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.configstore@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+    srcs: [
+        "types.hal",
+        "ISurfaceFlingerConfigs.hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.0/types.vts.cpp",
+        "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/configstore/1.0/ $(genDir)/android/hardware/configstore/1.0/",
+    srcs: [
+        "types.hal",
+        "ISurfaceFlingerConfigs.hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.0/types.vts.h",
+        "android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore@1.0-vts.profiler",
+    generated_sources: ["android.hardware.configstore@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.configstore@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.configstore@1.0",
+    ],
+}
diff --git a/contexthub/1.0/Android.bp b/contexthub/1.0/Android.bp
index 5798306..e25c70d 100644
--- a/contexthub/1.0/Android.bp
+++ b/contexthub/1.0/Android.bp
@@ -62,3 +62,114 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.contexthub.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+    srcs: [
+        "types.hal",
+        "IContexthub.hal",
+        "IContexthubCallback.hal",
+    ],
+    out: [
+        "android/hardware/contexthub/1.0/types.vts.cpp",
+        "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+        "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.contexthub.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+    srcs: [
+        "types.hal",
+        "IContexthub.hal",
+        "IContexthubCallback.hal",
+    ],
+    out: [
+        "android/hardware/contexthub/1.0/types.vts.h",
+        "android/hardware/contexthub/1.0/Contexthub.vts.h",
+        "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.contexthub.vts.driver@1.0",
+    generated_sources: ["android.hardware.contexthub.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.contexthub.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.contexthub.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.contexthub@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.contexthub@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+    srcs: [
+        "types.hal",
+        "IContexthub.hal",
+        "IContexthubCallback.hal",
+    ],
+    out: [
+        "android/hardware/contexthub/1.0/types.vts.cpp",
+        "android/hardware/contexthub/1.0/Contexthub.vts.cpp",
+        "android/hardware/contexthub/1.0/ContexthubCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.contexthub@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.contexthub@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/contexthub/1.0/ $(genDir)/android/hardware/contexthub/1.0/",
+    srcs: [
+        "types.hal",
+        "IContexthub.hal",
+        "IContexthubCallback.hal",
+    ],
+    out: [
+        "android/hardware/contexthub/1.0/types.vts.h",
+        "android/hardware/contexthub/1.0/Contexthub.vts.h",
+        "android/hardware/contexthub/1.0/ContexthubCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.contexthub@1.0-vts.profiler",
+    generated_sources: ["android.hardware.contexthub@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.contexthub@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.contexthub@1.0",
+    ],
+}
diff --git a/drm/1.0/Android.bp b/drm/1.0/Android.bp
index 3c9f22b..19060d8 100644
--- a/drm/1.0/Android.bp
+++ b/drm/1.0/Android.bp
@@ -162,218 +162,54 @@
 }
 
 genrule {
-    name: "android.hardware.drm@1.0-ICryptoFactory-vts.profiler_genc++",
+    name: "android.hardware.drm@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
     srcs: [
-        "ICryptoFactory.hal",
         "types.hal",
+        "ICryptoFactory.hal",
+        "ICryptoPlugin.hal",
+        "IDrmFactory.hal",
+        "IDrmPlugin.hal",
+        "IDrmPluginListener.hal",
     ],
     out: [
+        "android/hardware/drm/1.0/types.vts.cpp",
         "android/hardware/drm/1.0/CryptoFactory.vts.cpp",
-        "android/hardware/drm/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-ICryptoFactory-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "ICryptoFactory.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/drm/1.0/CryptoFactory.vts.h",
-        "android/hardware/drm/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.drm@1.0-ICryptoFactory-vts.profiler",
-    generated_sources: ["android.hardware.drm@1.0-ICryptoFactory-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.drm@1.0-ICryptoFactory-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.drm@1.0-ICryptoFactory-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.drm@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-ICryptoPlugin-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "ICryptoPlugin.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/drm/1.0/CryptoPlugin.vts.cpp",
-        "android/hardware/drm/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-ICryptoPlugin-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "ICryptoPlugin.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/drm/1.0/CryptoPlugin.vts.h",
-        "android/hardware/drm/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.drm@1.0-ICryptoPlugin-vts.profiler",
-    generated_sources: ["android.hardware.drm@1.0-ICryptoPlugin-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.drm@1.0-ICryptoPlugin-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.drm@1.0-ICryptoPlugin-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.drm@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-IDrmFactory-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "IDrmFactory.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/drm/1.0/DrmFactory.vts.cpp",
-        "android/hardware/drm/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-IDrmFactory-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "IDrmFactory.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/drm/1.0/DrmFactory.vts.h",
-        "android/hardware/drm/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.drm@1.0-IDrmFactory-vts.profiler",
-    generated_sources: ["android.hardware.drm@1.0-IDrmFactory-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.drm@1.0-IDrmFactory-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.drm@1.0-IDrmFactory-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.drm@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-IDrmPlugin-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "IDrmPlugin.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/drm/1.0/DrmPlugin.vts.cpp",
-        "android/hardware/drm/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-IDrmPlugin-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "IDrmPlugin.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/drm/1.0/DrmPlugin.vts.h",
-        "android/hardware/drm/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.drm@1.0-IDrmPlugin-vts.profiler",
-    generated_sources: ["android.hardware.drm@1.0-IDrmPlugin-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.drm@1.0-IDrmPlugin-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.drm@1.0-IDrmPlugin-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.drm@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.drm@1.0-IDrmPluginListener-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
-    srcs: [
-        "IDrmPluginListener.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/drm/1.0/DrmPluginListener.vts.cpp",
-        "android/hardware/drm/1.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.drm@1.0-IDrmPluginListener-vts.profiler_genc++_headers",
+    name: "android.hardware.drm@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.drm@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/drm/1.0/ $(genDir)/android/hardware/drm/1.0/",
     srcs: [
-        "IDrmPluginListener.hal",
         "types.hal",
+        "ICryptoFactory.hal",
+        "ICryptoPlugin.hal",
+        "IDrmFactory.hal",
+        "IDrmPlugin.hal",
+        "IDrmPluginListener.hal",
     ],
     out: [
-        "android/hardware/drm/1.0/DrmPluginListener.vts.h",
         "android/hardware/drm/1.0/types.vts.h",
+        "android/hardware/drm/1.0/CryptoFactory.vts.h",
+        "android/hardware/drm/1.0/CryptoPlugin.vts.h",
+        "android/hardware/drm/1.0/DrmFactory.vts.h",
+        "android/hardware/drm/1.0/DrmPlugin.vts.h",
+        "android/hardware/drm/1.0/DrmPluginListener.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.drm@1.0-IDrmPluginListener-vts.profiler",
-    generated_sources: ["android.hardware.drm@1.0-IDrmPluginListener-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.drm@1.0-IDrmPluginListener-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.drm@1.0-IDrmPluginListener-vts.profiler_genc++_headers"],
+    name: "android.hardware.drm@1.0-vts.profiler",
+    generated_sources: ["android.hardware.drm@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.drm@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/dumpstate/1.0/Android.bp b/dumpstate/1.0/Android.bp
index 7255937..24fa1f8 100644
--- a/dumpstate/1.0/Android.bp
+++ b/dumpstate/1.0/Android.bp
@@ -50,3 +50,98 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.dumpstate.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+    srcs: [
+        "IDumpstateDevice.hal",
+    ],
+    out: [
+        "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.dumpstate.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+    srcs: [
+        "IDumpstateDevice.hal",
+    ],
+    out: [
+        "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.dumpstate.vts.driver@1.0",
+    generated_sources: ["android.hardware.dumpstate.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.dumpstate.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.dumpstate.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.dumpstate@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.dumpstate@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+    srcs: [
+        "IDumpstateDevice.hal",
+    ],
+    out: [
+        "android/hardware/dumpstate/1.0/DumpstateDevice.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.dumpstate@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.dumpstate@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/dumpstate/1.0/ $(genDir)/android/hardware/dumpstate/1.0/",
+    srcs: [
+        "IDumpstateDevice.hal",
+    ],
+    out: [
+        "android/hardware/dumpstate/1.0/DumpstateDevice.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.dumpstate@1.0-vts.profiler",
+    generated_sources: ["android.hardware.dumpstate@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.dumpstate@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.dumpstate@1.0",
+    ],
+}
diff --git a/evs/1.0/Android.bp b/evs/1.0/Android.bp
index ed29968..a92caf8 100644
--- a/evs/1.0/Android.bp
+++ b/evs/1.0/Android.bp
@@ -78,3 +78,130 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.evs.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+    srcs: [
+        "types.hal",
+        "IEvsCamera.hal",
+        "IEvsCameraStream.hal",
+        "IEvsDisplay.hal",
+        "IEvsEnumerator.hal",
+    ],
+    out: [
+        "android/hardware/evs/1.0/types.vts.cpp",
+        "android/hardware/evs/1.0/EvsCamera.vts.cpp",
+        "android/hardware/evs/1.0/EvsCameraStream.vts.cpp",
+        "android/hardware/evs/1.0/EvsDisplay.vts.cpp",
+        "android/hardware/evs/1.0/EvsEnumerator.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.evs.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+    srcs: [
+        "types.hal",
+        "IEvsCamera.hal",
+        "IEvsCameraStream.hal",
+        "IEvsDisplay.hal",
+        "IEvsEnumerator.hal",
+    ],
+    out: [
+        "android/hardware/evs/1.0/types.vts.h",
+        "android/hardware/evs/1.0/EvsCamera.vts.h",
+        "android/hardware/evs/1.0/EvsCameraStream.vts.h",
+        "android/hardware/evs/1.0/EvsDisplay.vts.h",
+        "android/hardware/evs/1.0/EvsEnumerator.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.evs.vts.driver@1.0",
+    generated_sources: ["android.hardware.evs.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.evs.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.evs.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.evs@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.evs@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+    srcs: [
+        "types.hal",
+        "IEvsCamera.hal",
+        "IEvsCameraStream.hal",
+        "IEvsDisplay.hal",
+        "IEvsEnumerator.hal",
+    ],
+    out: [
+        "android/hardware/evs/1.0/types.vts.cpp",
+        "android/hardware/evs/1.0/EvsCamera.vts.cpp",
+        "android/hardware/evs/1.0/EvsCameraStream.vts.cpp",
+        "android/hardware/evs/1.0/EvsDisplay.vts.cpp",
+        "android/hardware/evs/1.0/EvsEnumerator.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.evs@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.evs@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/evs/1.0/ $(genDir)/android/hardware/evs/1.0/",
+    srcs: [
+        "types.hal",
+        "IEvsCamera.hal",
+        "IEvsCameraStream.hal",
+        "IEvsDisplay.hal",
+        "IEvsEnumerator.hal",
+    ],
+    out: [
+        "android/hardware/evs/1.0/types.vts.h",
+        "android/hardware/evs/1.0/EvsCamera.vts.h",
+        "android/hardware/evs/1.0/EvsCameraStream.vts.h",
+        "android/hardware/evs/1.0/EvsDisplay.vts.h",
+        "android/hardware/evs/1.0/EvsEnumerator.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.evs@1.0-vts.profiler",
+    generated_sources: ["android.hardware.evs@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.evs@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.evs@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.evs@1.0",
+    ],
+}
diff --git a/example/extension/light/2.0/Android.bp b/example/extension/light/2.0/Android.bp
index cc50b83..2289040 100644
--- a/example/extension/light/2.0/Android.bp
+++ b/example/extension/light/2.0/Android.bp
@@ -54,3 +54,106 @@
         "android.hardware.light@2.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.example.extension.light.vts.driver@2.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+    srcs: [
+        "types.hal",
+        "IExtLight.hal",
+    ],
+    out: [
+        "android/hardware/example/extension/light/2.0/types.vts.cpp",
+        "android/hardware/example/extension/light/2.0/ExtLight.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.example.extension.light.vts.driver@2.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+    srcs: [
+        "types.hal",
+        "IExtLight.hal",
+    ],
+    out: [
+        "android/hardware/example/extension/light/2.0/types.vts.h",
+        "android/hardware/example/extension/light/2.0/ExtLight.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.example.extension.light.vts.driver@2.0",
+    generated_sources: ["android.hardware.example.extension.light.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.example.extension.light.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.example.extension.light.vts.driver@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.light@2.0",
+        "android.hardware.example.extension.light@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.light@2.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.example.extension.light@2.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+    srcs: [
+        "types.hal",
+        "IExtLight.hal",
+    ],
+    out: [
+        "android/hardware/example/extension/light/2.0/types.vts.cpp",
+        "android/hardware/example/extension/light/2.0/ExtLight.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.example.extension.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/example/extension/light/2.0/ $(genDir)/android/hardware/example/extension/light/2.0/",
+    srcs: [
+        "types.hal",
+        "IExtLight.hal",
+    ],
+    out: [
+        "android/hardware/example/extension/light/2.0/types.vts.h",
+        "android/hardware/example/extension/light/2.0/ExtLight.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.example.extension.light@2.0-vts.profiler",
+    generated_sources: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.example.extension.light@2.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.light@2.0",
+        "android.hardware.example.extension.light@2.0",
+    ],
+}
diff --git a/gatekeeper/1.0/Android.bp b/gatekeeper/1.0/Android.bp
index d4852ff..9e2203b 100644
--- a/gatekeeper/1.0/Android.bp
+++ b/gatekeeper/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler_genc++",
+    name: "android.hardware.gatekeeper@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
     srcs: [
-        "IGatekeeper.hal",
         "types.hal",
+        "IGatekeeper.hal",
     ],
     out: [
-        "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
         "android/hardware/gatekeeper/1.0/types.vts.cpp",
+        "android/hardware/gatekeeper/1.0/Gatekeeper.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler_genc++_headers",
+    name: "android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gatekeeper@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gatekeeper/1.0/ $(genDir)/android/hardware/gatekeeper/1.0/",
     srcs: [
-        "IGatekeeper.hal",
         "types.hal",
+        "IGatekeeper.hal",
     ],
     out: [
-        "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
         "android/hardware/gatekeeper/1.0/types.vts.h",
+        "android/hardware/gatekeeper/1.0/Gatekeeper.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler",
-    generated_sources: ["android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.gatekeeper@1.0-IGatekeeper-vts.profiler_genc++_headers"],
+    name: "android.hardware.gatekeeper@1.0-vts.profiler",
+    generated_sources: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.gatekeeper@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp
index 4d7e26e..4fc3038 100644
--- a/gnss/1.0/Android.bp
+++ b/gnss/1.0/Android.bp
@@ -206,3 +206,258 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.gnss.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+    srcs: [
+        "types.hal",
+        "IAGnss.hal",
+        "IAGnssCallback.hal",
+        "IAGnssRil.hal",
+        "IAGnssRilCallback.hal",
+        "IGnss.hal",
+        "IGnssBatching.hal",
+        "IGnssBatchingCallback.hal",
+        "IGnssCallback.hal",
+        "IGnssConfiguration.hal",
+        "IGnssDebug.hal",
+        "IGnssGeofenceCallback.hal",
+        "IGnssGeofencing.hal",
+        "IGnssMeasurement.hal",
+        "IGnssMeasurementCallback.hal",
+        "IGnssNavigationMessage.hal",
+        "IGnssNavigationMessageCallback.hal",
+        "IGnssNi.hal",
+        "IGnssNiCallback.hal",
+        "IGnssXtra.hal",
+        "IGnssXtraCallback.hal",
+    ],
+    out: [
+        "android/hardware/gnss/1.0/types.vts.cpp",
+        "android/hardware/gnss/1.0/AGnss.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+        "android/hardware/gnss/1.0/Gnss.vts.cpp",
+        "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+        "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+        "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+        "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+        "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+        "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+        "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.gnss.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+    srcs: [
+        "types.hal",
+        "IAGnss.hal",
+        "IAGnssCallback.hal",
+        "IAGnssRil.hal",
+        "IAGnssRilCallback.hal",
+        "IGnss.hal",
+        "IGnssBatching.hal",
+        "IGnssBatchingCallback.hal",
+        "IGnssCallback.hal",
+        "IGnssConfiguration.hal",
+        "IGnssDebug.hal",
+        "IGnssGeofenceCallback.hal",
+        "IGnssGeofencing.hal",
+        "IGnssMeasurement.hal",
+        "IGnssMeasurementCallback.hal",
+        "IGnssNavigationMessage.hal",
+        "IGnssNavigationMessageCallback.hal",
+        "IGnssNi.hal",
+        "IGnssNiCallback.hal",
+        "IGnssXtra.hal",
+        "IGnssXtraCallback.hal",
+    ],
+    out: [
+        "android/hardware/gnss/1.0/types.vts.h",
+        "android/hardware/gnss/1.0/AGnss.vts.h",
+        "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+        "android/hardware/gnss/1.0/AGnssRil.vts.h",
+        "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+        "android/hardware/gnss/1.0/Gnss.vts.h",
+        "android/hardware/gnss/1.0/GnssBatching.vts.h",
+        "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+        "android/hardware/gnss/1.0/GnssDebug.vts.h",
+        "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+        "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+        "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+        "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssNi.vts.h",
+        "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssXtra.vts.h",
+        "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.gnss.vts.driver@1.0",
+    generated_sources: ["android.hardware.gnss.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.gnss.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.gnss.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.gnss@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.gnss@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+    srcs: [
+        "types.hal",
+        "IAGnss.hal",
+        "IAGnssCallback.hal",
+        "IAGnssRil.hal",
+        "IAGnssRilCallback.hal",
+        "IGnss.hal",
+        "IGnssBatching.hal",
+        "IGnssBatchingCallback.hal",
+        "IGnssCallback.hal",
+        "IGnssConfiguration.hal",
+        "IGnssDebug.hal",
+        "IGnssGeofenceCallback.hal",
+        "IGnssGeofencing.hal",
+        "IGnssMeasurement.hal",
+        "IGnssMeasurementCallback.hal",
+        "IGnssNavigationMessage.hal",
+        "IGnssNavigationMessageCallback.hal",
+        "IGnssNi.hal",
+        "IGnssNiCallback.hal",
+        "IGnssXtra.hal",
+        "IGnssXtraCallback.hal",
+    ],
+    out: [
+        "android/hardware/gnss/1.0/types.vts.cpp",
+        "android/hardware/gnss/1.0/AGnss.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssCallback.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssRil.vts.cpp",
+        "android/hardware/gnss/1.0/AGnssRilCallback.vts.cpp",
+        "android/hardware/gnss/1.0/Gnss.vts.cpp",
+        "android/hardware/gnss/1.0/GnssBatching.vts.cpp",
+        "android/hardware/gnss/1.0/GnssBatchingCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssConfiguration.vts.cpp",
+        "android/hardware/gnss/1.0/GnssDebug.vts.cpp",
+        "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssGeofencing.vts.cpp",
+        "android/hardware/gnss/1.0/GnssMeasurement.vts.cpp",
+        "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNavigationMessage.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNi.vts.cpp",
+        "android/hardware/gnss/1.0/GnssNiCallback.vts.cpp",
+        "android/hardware/gnss/1.0/GnssXtra.vts.cpp",
+        "android/hardware/gnss/1.0/GnssXtraCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.gnss@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.gnss@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/gnss/1.0/ $(genDir)/android/hardware/gnss/1.0/",
+    srcs: [
+        "types.hal",
+        "IAGnss.hal",
+        "IAGnssCallback.hal",
+        "IAGnssRil.hal",
+        "IAGnssRilCallback.hal",
+        "IGnss.hal",
+        "IGnssBatching.hal",
+        "IGnssBatchingCallback.hal",
+        "IGnssCallback.hal",
+        "IGnssConfiguration.hal",
+        "IGnssDebug.hal",
+        "IGnssGeofenceCallback.hal",
+        "IGnssGeofencing.hal",
+        "IGnssMeasurement.hal",
+        "IGnssMeasurementCallback.hal",
+        "IGnssNavigationMessage.hal",
+        "IGnssNavigationMessageCallback.hal",
+        "IGnssNi.hal",
+        "IGnssNiCallback.hal",
+        "IGnssXtra.hal",
+        "IGnssXtraCallback.hal",
+    ],
+    out: [
+        "android/hardware/gnss/1.0/types.vts.h",
+        "android/hardware/gnss/1.0/AGnss.vts.h",
+        "android/hardware/gnss/1.0/AGnssCallback.vts.h",
+        "android/hardware/gnss/1.0/AGnssRil.vts.h",
+        "android/hardware/gnss/1.0/AGnssRilCallback.vts.h",
+        "android/hardware/gnss/1.0/Gnss.vts.h",
+        "android/hardware/gnss/1.0/GnssBatching.vts.h",
+        "android/hardware/gnss/1.0/GnssBatchingCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssConfiguration.vts.h",
+        "android/hardware/gnss/1.0/GnssDebug.vts.h",
+        "android/hardware/gnss/1.0/GnssGeofenceCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssGeofencing.vts.h",
+        "android/hardware/gnss/1.0/GnssMeasurement.vts.h",
+        "android/hardware/gnss/1.0/GnssMeasurementCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssNavigationMessage.vts.h",
+        "android/hardware/gnss/1.0/GnssNavigationMessageCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssNi.vts.h",
+        "android/hardware/gnss/1.0/GnssNiCallback.vts.h",
+        "android/hardware/gnss/1.0/GnssXtra.vts.h",
+        "android/hardware/gnss/1.0/GnssXtraCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.gnss@1.0-vts.profiler",
+    generated_sources: ["android.hardware.gnss@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.gnss@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.gnss@1.0",
+    ],
+}
diff --git a/gnss/1.0/Android.mk b/gnss/1.0/Android.mk
index 130c14e..98c547c 100644
--- a/gnss/1.0/Android.mk
+++ b/gnss/1.0/Android.mk
@@ -1046,5 +1046,58 @@
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
 
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.gnss@1.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/gnss/V1_0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/IAGnss.hal
+$(GEN): $(LOCAL_PATH)/IAGnssCallback.hal
+$(GEN): $(LOCAL_PATH)/IAGnssRil.hal
+$(GEN): $(LOCAL_PATH)/IAGnssRilCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnss.hal
+$(GEN): $(LOCAL_PATH)/IGnssBatching.hal
+$(GEN): $(LOCAL_PATH)/IGnssBatchingCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssConfiguration.hal
+$(GEN): $(LOCAL_PATH)/IGnssDebug.hal
+$(GEN): $(LOCAL_PATH)/IGnssGeofenceCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssGeofencing.hal
+$(GEN): $(LOCAL_PATH)/IGnssMeasurement.hal
+$(GEN): $(LOCAL_PATH)/IGnssMeasurementCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssNavigationMessage.hal
+$(GEN): $(LOCAL_PATH)/IGnssNavigationMessageCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssNi.hal
+$(GEN): $(LOCAL_PATH)/IGnssNiCallback.hal
+$(GEN): $(LOCAL_PATH)/IGnssXtra.hal
+$(GEN): $(LOCAL_PATH)/IGnssXtraCallback.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.gnss@1.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
 
 include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/graphics/allocator/2.0/Android.bp b/graphics/allocator/2.0/Android.bp
index 48db3e9..16d8f91 100644
--- a/graphics/allocator/2.0/Android.bp
+++ b/graphics/allocator/2.0/Android.bp
@@ -130,84 +130,42 @@
 }
 
 genrule {
-    name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++",
+    name: "android.hardware.graphics.allocator@2.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
     srcs: [
-        "IAllocator.hal",
         "types.hal",
+        "IAllocator.hal",
+        "IAllocatorClient.hal",
     ],
     out: [
+        "android/hardware/graphics/allocator/2.0/types.vts.cpp",
         "android/hardware/graphics/allocator/2.0/Allocator.vts.cpp",
-        "android/hardware/graphics/allocator/2.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
-    srcs: [
-        "IAllocator.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
-        "android/hardware/graphics/allocator/2.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler",
-    generated_sources: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocator-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.graphics.common@1.0",
-        "android.hidl.base@1.0",
-        "android.hardware.graphics.allocator@2.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
-    srcs: [
-        "IAllocatorClient.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/graphics/allocator/2.0/AllocatorClient.vts.cpp",
-        "android/hardware/graphics/allocator/2.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers",
+    name: "android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.allocator@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/allocator/2.0/ $(genDir)/android/hardware/graphics/allocator/2.0/",
     srcs: [
-        "IAllocatorClient.hal",
         "types.hal",
+        "IAllocator.hal",
+        "IAllocatorClient.hal",
     ],
     out: [
-        "android/hardware/graphics/allocator/2.0/AllocatorClient.vts.h",
         "android/hardware/graphics/allocator/2.0/types.vts.h",
+        "android/hardware/graphics/allocator/2.0/Allocator.vts.h",
+        "android/hardware/graphics/allocator/2.0/AllocatorClient.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler",
-    generated_sources: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.graphics.allocator@2.0-IAllocatorClient-vts.profiler_genc++_headers"],
+    name: "android.hardware.graphics.allocator@2.0-vts.profiler",
+    generated_sources: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.allocator@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/graphics/common/1.0/Android.bp b/graphics/common/1.0/Android.bp
index b67afd1..1d00506 100644
--- a/graphics/common/1.0/Android.bp
+++ b/graphics/common/1.0/Android.bp
@@ -44,3 +44,95 @@
         "libutils",
     ],
 }
+
+genrule {
+    name: "android.hardware.graphics.common.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/graphics/common/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.common.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/graphics/common/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.common.vts.driver@1.0",
+    generated_sources: ["android.hardware.graphics.common.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.graphics.common.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.common.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.common@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/graphics/common/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.common@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.common@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/common/1.0/ $(genDir)/android/hardware/graphics/common/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/graphics/common/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.common@1.0-vts.profiler",
+    generated_sources: ["android.hardware.graphics.common@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.common@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+    ],
+}
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index 7216c0f..bda8aae 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -72,3 +72,125 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.graphics.composer.vts.driver@2.1_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+    srcs: [
+        "types.hal",
+        "IComposer.hal",
+        "IComposerCallback.hal",
+        "IComposerClient.hal",
+    ],
+    out: [
+        "android/hardware/graphics/composer/2.1/types.vts.cpp",
+        "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+        "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+        "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.composer.vts.driver@2.1_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+    srcs: [
+        "types.hal",
+        "IComposer.hal",
+        "IComposerCallback.hal",
+        "IComposerClient.hal",
+    ],
+    out: [
+        "android/hardware/graphics/composer/2.1/types.vts.h",
+        "android/hardware/graphics/composer/2.1/Composer.vts.h",
+        "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+        "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.composer.vts.driver@2.1",
+    generated_sources: ["android.hardware.graphics.composer.vts.driver@2.1_genc++"],
+    generated_headers: ["android.hardware.graphics.composer.vts.driver@2.1_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.composer.vts.driver@2.1_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.graphics.composer@2.1",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.composer@2.1-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+    srcs: [
+        "types.hal",
+        "IComposer.hal",
+        "IComposerCallback.hal",
+        "IComposerClient.hal",
+    ],
+    out: [
+        "android/hardware/graphics/composer/2.1/types.vts.cpp",
+        "android/hardware/graphics/composer/2.1/Composer.vts.cpp",
+        "android/hardware/graphics/composer/2.1/ComposerCallback.vts.cpp",
+        "android/hardware/graphics/composer/2.1/ComposerClient.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.composer@2.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/composer/2.1/ $(genDir)/android/hardware/graphics/composer/2.1/",
+    srcs: [
+        "types.hal",
+        "IComposer.hal",
+        "IComposerCallback.hal",
+        "IComposerClient.hal",
+    ],
+    out: [
+        "android/hardware/graphics/composer/2.1/types.vts.h",
+        "android/hardware/graphics/composer/2.1/Composer.vts.h",
+        "android/hardware/graphics/composer/2.1/ComposerCallback.vts.h",
+        "android/hardware/graphics/composer/2.1/ComposerClient.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.composer@2.1-vts.profiler",
+    generated_sources: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.composer@2.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.graphics.composer@2.1",
+    ],
+}
diff --git a/graphics/mapper/2.0/Android.bp b/graphics/mapper/2.0/Android.bp
index 4adccb9..938ff8b 100644
--- a/graphics/mapper/2.0/Android.bp
+++ b/graphics/mapper/2.0/Android.bp
@@ -58,3 +58,112 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.graphics.mapper.vts.driver@2.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+    srcs: [
+        "types.hal",
+        "IMapper.hal",
+    ],
+    out: [
+        "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+        "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+    srcs: [
+        "types.hal",
+        "IMapper.hal",
+    ],
+    out: [
+        "android/hardware/graphics/mapper/2.0/types.vts.h",
+        "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.mapper.vts.driver@2.0",
+    generated_sources: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.mapper.vts.driver@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.graphics.mapper@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.mapper@2.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+    srcs: [
+        "types.hal",
+        "IMapper.hal",
+    ],
+    out: [
+        "android/hardware/graphics/mapper/2.0/types.vts.cpp",
+        "android/hardware/graphics/mapper/2.0/Mapper.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.graphics.mapper@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/graphics/mapper/2.0/ $(genDir)/android/hardware/graphics/mapper/2.0/",
+    srcs: [
+        "types.hal",
+        "IMapper.hal",
+    ],
+    out: [
+        "android/hardware/graphics/mapper/2.0/types.vts.h",
+        "android/hardware/graphics/mapper/2.0/Mapper.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.graphics.mapper@2.0-vts.profiler",
+    generated_sources: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.graphics.mapper@2.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.graphics.mapper@2.0",
+    ],
+}
diff --git a/health/1.0/Android.bp b/health/1.0/Android.bp
index b0b9549..4e16231 100644
--- a/health/1.0/Android.bp
+++ b/health/1.0/Android.bp
@@ -54,3 +54,106 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.health.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+    srcs: [
+        "types.hal",
+        "IHealth.hal",
+    ],
+    out: [
+        "android/hardware/health/1.0/types.vts.cpp",
+        "android/hardware/health/1.0/Health.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.health.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+    srcs: [
+        "types.hal",
+        "IHealth.hal",
+    ],
+    out: [
+        "android/hardware/health/1.0/types.vts.h",
+        "android/hardware/health/1.0/Health.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.health.vts.driver@1.0",
+    generated_sources: ["android.hardware.health.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.health.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.health.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.health@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.health@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+    srcs: [
+        "types.hal",
+        "IHealth.hal",
+    ],
+    out: [
+        "android/hardware/health/1.0/types.vts.cpp",
+        "android/hardware/health/1.0/Health.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.health@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.health@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/health/1.0/ $(genDir)/android/hardware/health/1.0/",
+    srcs: [
+        "types.hal",
+        "IHealth.hal",
+    ],
+    out: [
+        "android/hardware/health/1.0/types.vts.h",
+        "android/hardware/health/1.0/Health.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.health@1.0-vts.profiler",
+    generated_sources: ["android.hardware.health@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.health@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.health@1.0",
+    ],
+}
diff --git a/keymaster/3.0/Android.bp b/keymaster/3.0/Android.bp
index a8247e1..e9a4985 100644
--- a/keymaster/3.0/Android.bp
+++ b/keymaster/3.0/Android.bp
@@ -54,3 +54,106 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.keymaster.vts.driver@3.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+    srcs: [
+        "types.hal",
+        "IKeymasterDevice.hal",
+    ],
+    out: [
+        "android/hardware/keymaster/3.0/types.vts.cpp",
+        "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.keymaster.vts.driver@3.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+    srcs: [
+        "types.hal",
+        "IKeymasterDevice.hal",
+    ],
+    out: [
+        "android/hardware/keymaster/3.0/types.vts.h",
+        "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.keymaster.vts.driver@3.0",
+    generated_sources: ["android.hardware.keymaster.vts.driver@3.0_genc++"],
+    generated_headers: ["android.hardware.keymaster.vts.driver@3.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.keymaster.vts.driver@3.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.keymaster@3.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.keymaster@3.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+    srcs: [
+        "types.hal",
+        "IKeymasterDevice.hal",
+    ],
+    out: [
+        "android/hardware/keymaster/3.0/types.vts.cpp",
+        "android/hardware/keymaster/3.0/KeymasterDevice.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.keymaster@3.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.keymaster@3.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/keymaster/3.0/ $(genDir)/android/hardware/keymaster/3.0/",
+    srcs: [
+        "types.hal",
+        "IKeymasterDevice.hal",
+    ],
+    out: [
+        "android/hardware/keymaster/3.0/types.vts.h",
+        "android/hardware/keymaster/3.0/KeymasterDevice.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.keymaster@3.0-vts.profiler",
+    generated_sources: ["android.hardware.keymaster@3.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.keymaster@3.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.keymaster@3.0",
+    ],
+}
diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp
index 118be88..928f1c3 100644
--- a/light/2.0/Android.bp
+++ b/light/2.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.light@2.0-ILight-vts.profiler_genc++",
+    name: "android.hardware.light@2.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
     srcs: [
-        "ILight.hal",
         "types.hal",
+        "ILight.hal",
     ],
     out: [
-        "android/hardware/light/2.0/Light.vts.cpp",
         "android/hardware/light/2.0/types.vts.cpp",
+        "android/hardware/light/2.0/Light.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.light@2.0-ILight-vts.profiler_genc++_headers",
+    name: "android.hardware.light@2.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.light@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/light/2.0/ $(genDir)/android/hardware/light/2.0/",
     srcs: [
-        "ILight.hal",
         "types.hal",
+        "ILight.hal",
     ],
     out: [
-        "android/hardware/light/2.0/Light.vts.h",
         "android/hardware/light/2.0/types.vts.h",
+        "android/hardware/light/2.0/Light.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.light@2.0-ILight-vts.profiler",
-    generated_sources: ["android.hardware.light@2.0-ILight-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.light@2.0-ILight-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.light@2.0-ILight-vts.profiler_genc++_headers"],
+    name: "android.hardware.light@2.0-vts.profiler",
+    generated_sources: ["android.hardware.light@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.light@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/media/1.0/Android.bp b/media/1.0/Android.bp
index d533e5a..5f81ca0 100644
--- a/media/1.0/Android.bp
+++ b/media/1.0/Android.bp
@@ -46,3 +46,98 @@
         "android.hardware.graphics.common@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.media.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/media/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/media/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.media.vts.driver@1.0",
+    generated_sources: ["android.hardware.media.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.media.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.media.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.media@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.graphics.common@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/media/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/1.0/ $(genDir)/android/hardware/media/1.0/",
+    srcs: [
+        "types.hal",
+    ],
+    out: [
+        "android/hardware/media/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.media@1.0-vts.profiler",
+    generated_sources: ["android.hardware.media@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.media@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.media@1.0",
+    ],
+}
diff --git a/media/omx/1.0/Android.bp b/media/omx/1.0/Android.bp
index f79aabb..6a27a34 100644
--- a/media/omx/1.0/Android.bp
+++ b/media/omx/1.0/Android.bp
@@ -54,8 +54,8 @@
         "android/hardware/media/omx/1.0/BsOmx.h",
         "android/hardware/media/omx/1.0/IOmxBufferProducer.h",
         "android/hardware/media/omx/1.0/IHwOmxBufferProducer.h",
-        "android/hardware/media/omx/1.0/BnOmxBufferProducer.h",
-        "android/hardware/media/omx/1.0/BpOmxBufferProducer.h",
+        "android/hardware/media/omx/1.0/BnHwOmxBufferProducer.h",
+        "android/hardware/media/omx/1.0/BpHwOmxBufferProducer.h",
         "android/hardware/media/omx/1.0/BsOmxBufferProducer.h",
         "android/hardware/media/omx/1.0/IOmxBufferSource.h",
         "android/hardware/media/omx/1.0/IHwOmxBufferSource.h",
@@ -74,8 +74,8 @@
         "android/hardware/media/omx/1.0/BsOmxObserver.h",
         "android/hardware/media/omx/1.0/IOmxProducerListener.h",
         "android/hardware/media/omx/1.0/IHwOmxProducerListener.h",
-        "android/hardware/media/omx/1.0/BnOmxProducerListener.h",
-        "android/hardware/media/omx/1.0/BpOmxProducerListener.h",
+        "android/hardware/media/omx/1.0/BnHwOmxProducerListener.h",
+        "android/hardware/media/omx/1.0/BpHwOmxProducerListener.h",
         "android/hardware/media/omx/1.0/BsOmxProducerListener.h",
     ],
 }
@@ -106,3 +106,160 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.media.omx.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+    srcs: [
+        "types.hal",
+        "IGraphicBufferSource.hal",
+        "IOmx.hal",
+        "IOmxBufferProducer.hal",
+        "IOmxBufferSource.hal",
+        "IOmxNode.hal",
+        "IOmxObserver.hal",
+        "IOmxProducerListener.hal",
+    ],
+    out: [
+        "android/hardware/media/omx/1.0/types.vts.cpp",
+        "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+        "android/hardware/media/omx/1.0/Omx.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxBufferProducer.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxProducerListener.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media.omx.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+    srcs: [
+        "types.hal",
+        "IGraphicBufferSource.hal",
+        "IOmx.hal",
+        "IOmxBufferProducer.hal",
+        "IOmxBufferSource.hal",
+        "IOmxNode.hal",
+        "IOmxObserver.hal",
+        "IOmxProducerListener.hal",
+    ],
+    out: [
+        "android/hardware/media/omx/1.0/types.vts.h",
+        "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+        "android/hardware/media/omx/1.0/Omx.vts.h",
+        "android/hardware/media/omx/1.0/OmxBufferProducer.vts.h",
+        "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+        "android/hardware/media/omx/1.0/OmxNode.vts.h",
+        "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+        "android/hardware/media/omx/1.0/OmxProducerListener.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.media.omx.vts.driver@1.0",
+    generated_sources: ["android.hardware.media.omx.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.media.omx.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.media.omx.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.media@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.media.omx@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.media@1.0",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media.omx@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+    srcs: [
+        "types.hal",
+        "IGraphicBufferSource.hal",
+        "IOmx.hal",
+        "IOmxBufferProducer.hal",
+        "IOmxBufferSource.hal",
+        "IOmxNode.hal",
+        "IOmxObserver.hal",
+        "IOmxProducerListener.hal",
+    ],
+    out: [
+        "android/hardware/media/omx/1.0/types.vts.cpp",
+        "android/hardware/media/omx/1.0/GraphicBufferSource.vts.cpp",
+        "android/hardware/media/omx/1.0/Omx.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxBufferProducer.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxBufferSource.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxNode.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxObserver.vts.cpp",
+        "android/hardware/media/omx/1.0/OmxProducerListener.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.media.omx@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.media.omx@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/media/omx/1.0/ $(genDir)/android/hardware/media/omx/1.0/",
+    srcs: [
+        "types.hal",
+        "IGraphicBufferSource.hal",
+        "IOmx.hal",
+        "IOmxBufferProducer.hal",
+        "IOmxBufferSource.hal",
+        "IOmxNode.hal",
+        "IOmxObserver.hal",
+        "IOmxProducerListener.hal",
+    ],
+    out: [
+        "android/hardware/media/omx/1.0/types.vts.h",
+        "android/hardware/media/omx/1.0/GraphicBufferSource.vts.h",
+        "android/hardware/media/omx/1.0/Omx.vts.h",
+        "android/hardware/media/omx/1.0/OmxBufferProducer.vts.h",
+        "android/hardware/media/omx/1.0/OmxBufferSource.vts.h",
+        "android/hardware/media/omx/1.0/OmxNode.vts.h",
+        "android/hardware/media/omx/1.0/OmxObserver.vts.h",
+        "android/hardware/media/omx/1.0/OmxProducerListener.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.media.omx@1.0-vts.profiler",
+    generated_sources: ["android.hardware.media.omx@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.media.omx@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.graphics.common@1.0",
+        "android.hardware.media@1.0",
+        "android.hidl.base@1.0",
+        "android.hardware.media.omx@1.0",
+    ],
+}
diff --git a/memtrack/1.0/Android.bp b/memtrack/1.0/Android.bp
index 36e7594..3a2db14 100644
--- a/memtrack/1.0/Android.bp
+++ b/memtrack/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++",
+    name: "android.hardware.memtrack@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
     srcs: [
-        "IMemtrack.hal",
         "types.hal",
+        "IMemtrack.hal",
     ],
     out: [
-        "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
         "android/hardware/memtrack/1.0/types.vts.cpp",
+        "android/hardware/memtrack/1.0/Memtrack.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers",
+    name: "android.hardware.memtrack@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.memtrack@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/memtrack/1.0/ $(genDir)/android/hardware/memtrack/1.0/",
     srcs: [
-        "IMemtrack.hal",
         "types.hal",
+        "IMemtrack.hal",
     ],
     out: [
-        "android/hardware/memtrack/1.0/Memtrack.vts.h",
         "android/hardware/memtrack/1.0/types.vts.h",
+        "android/hardware/memtrack/1.0/Memtrack.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.memtrack@1.0-IMemtrack-vts.profiler",
-    generated_sources: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.memtrack@1.0-IMemtrack-vts.profiler_genc++_headers"],
+    name: "android.hardware.memtrack@1.0-vts.profiler",
+    generated_sources: ["android.hardware.memtrack@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.memtrack@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp
index db8c721..33caa8d 100644
--- a/power/1.0/Android.bp
+++ b/power/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.power@1.0-IPower-vts.profiler_genc++",
+    name: "android.hardware.power@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
     srcs: [
-        "IPower.hal",
         "types.hal",
+        "IPower.hal",
     ],
     out: [
-        "android/hardware/power/1.0/Power.vts.cpp",
         "android/hardware/power/1.0/types.vts.cpp",
+        "android/hardware/power/1.0/Power.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.power@1.0-IPower-vts.profiler_genc++_headers",
+    name: "android.hardware.power@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.power@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/power/1.0/ $(genDir)/android/hardware/power/1.0/",
     srcs: [
-        "IPower.hal",
         "types.hal",
+        "IPower.hal",
     ],
     out: [
-        "android/hardware/power/1.0/Power.vts.h",
         "android/hardware/power/1.0/types.vts.h",
+        "android/hardware/power/1.0/Power.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.power@1.0-IPower-vts.profiler",
-    generated_sources: ["android.hardware.power@1.0-IPower-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.power@1.0-IPower-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.power@1.0-IPower-vts.profiler_genc++_headers"],
+    name: "android.hardware.power@1.0-vts.profiler",
+    generated_sources: ["android.hardware.power@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.power@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp
index 2995504..d4ebe98 100644
--- a/sensors/1.0/Android.bp
+++ b/sensors/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.sensors@1.0-ISensors-vts.profiler_genc++",
+    name: "android.hardware.sensors@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
     srcs: [
-        "ISensors.hal",
         "types.hal",
+        "ISensors.hal",
     ],
     out: [
-        "android/hardware/sensors/1.0/Sensors.vts.cpp",
         "android/hardware/sensors/1.0/types.vts.cpp",
+        "android/hardware/sensors/1.0/Sensors.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers",
+    name: "android.hardware.sensors@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.sensors@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/sensors/1.0/ $(genDir)/android/hardware/sensors/1.0/",
     srcs: [
-        "ISensors.hal",
         "types.hal",
+        "ISensors.hal",
     ],
     out: [
-        "android/hardware/sensors/1.0/Sensors.vts.h",
         "android/hardware/sensors/1.0/types.vts.h",
+        "android/hardware/sensors/1.0/Sensors.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.sensors@1.0-ISensors-vts.profiler",
-    generated_sources: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.sensors@1.0-ISensors-vts.profiler_genc++_headers"],
+    name: "android.hardware.sensors@1.0-vts.profiler",
+    generated_sources: ["android.hardware.sensors@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.sensors@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/soundtrigger/2.0/Android.bp b/soundtrigger/2.0/Android.bp
index 5b50f39..a11cbe6 100644
--- a/soundtrigger/2.0/Android.bp
+++ b/soundtrigger/2.0/Android.bp
@@ -130,84 +130,42 @@
 }
 
 genrule {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++",
+    name: "android.hardware.soundtrigger@2.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
     srcs: [
-        "ISoundTriggerHw.hal",
         "types.hal",
+        "ISoundTriggerHw.hal",
+        "ISoundTriggerHwCallback.hal",
     ],
     out: [
+        "android/hardware/soundtrigger/2.0/types.vts.cpp",
         "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.cpp",
-        "android/hardware/soundtrigger/2.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
-    srcs: [
-        "ISoundTriggerHw.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
-        "android/hardware/soundtrigger/2.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler",
-    generated_sources: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHw-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.audio.common@2.0",
-        "android.hidl.base@1.0",
-        "android.hardware.soundtrigger@2.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
-    srcs: [
-        "ISoundTriggerHwCallback.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.cpp",
-        "android/hardware/soundtrigger/2.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers",
+    name: "android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.soundtrigger@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/soundtrigger/2.0/ $(genDir)/android/hardware/soundtrigger/2.0/",
     srcs: [
-        "ISoundTriggerHwCallback.hal",
         "types.hal",
+        "ISoundTriggerHw.hal",
+        "ISoundTriggerHwCallback.hal",
     ],
     out: [
-        "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
         "android/hardware/soundtrigger/2.0/types.vts.h",
+        "android/hardware/soundtrigger/2.0/SoundTriggerHw.vts.h",
+        "android/hardware/soundtrigger/2.0/SoundTriggerHwCallback.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler",
-    generated_sources: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.soundtrigger@2.0-ISoundTriggerHwCallback-vts.profiler_genc++_headers"],
+    name: "android.hardware.soundtrigger@2.0-vts.profiler",
+    generated_sources: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.soundtrigger@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp
index e80bedc..fc44ff1 100644
--- a/thermal/1.0/Android.bp
+++ b/thermal/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.thermal@1.0-IThermal-vts.profiler_genc++",
+    name: "android.hardware.thermal@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
     srcs: [
-        "IThermal.hal",
         "types.hal",
+        "IThermal.hal",
     ],
     out: [
-        "android/hardware/thermal/1.0/Thermal.vts.cpp",
         "android/hardware/thermal/1.0/types.vts.cpp",
+        "android/hardware/thermal/1.0/Thermal.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers",
+    name: "android.hardware.thermal@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.thermal@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/thermal/1.0/ $(genDir)/android/hardware/thermal/1.0/",
     srcs: [
-        "IThermal.hal",
         "types.hal",
+        "IThermal.hal",
     ],
     out: [
-        "android/hardware/thermal/1.0/Thermal.vts.h",
         "android/hardware/thermal/1.0/types.vts.h",
+        "android/hardware/thermal/1.0/Thermal.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.thermal@1.0-IThermal-vts.profiler",
-    generated_sources: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.thermal@1.0-IThermal-vts.profiler_genc++_headers"],
+    name: "android.hardware.thermal@1.0-vts.profiler",
+    generated_sources: ["android.hardware.thermal@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.thermal@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/tv/cec/1.0/Android.bp b/tv/cec/1.0/Android.bp
index 21233ab..0096589 100644
--- a/tv/cec/1.0/Android.bp
+++ b/tv/cec/1.0/Android.bp
@@ -126,83 +126,42 @@
 }
 
 genrule {
-    name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++",
+    name: "android.hardware.tv.cec@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
     srcs: [
-        "IHdmiCec.hal",
         "types.hal",
+        "IHdmiCec.hal",
+        "IHdmiCecCallback.hal",
     ],
     out: [
+        "android/hardware/tv/cec/1.0/types.vts.cpp",
         "android/hardware/tv/cec/1.0/HdmiCec.vts.cpp",
-        "android/hardware/tv/cec/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
-    srcs: [
-        "IHdmiCec.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
-        "android/hardware/tv/cec/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler",
-    generated_sources: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCec-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.tv.cec@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
-    srcs: [
-        "IHdmiCecCallback.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.cpp",
-        "android/hardware/tv/cec/1.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers",
+    name: "android.hardware.tv.cec@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.cec@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/cec/1.0/ $(genDir)/android/hardware/tv/cec/1.0/",
     srcs: [
-        "IHdmiCecCallback.hal",
         "types.hal",
+        "IHdmiCec.hal",
+        "IHdmiCecCallback.hal",
     ],
     out: [
-        "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
         "android/hardware/tv/cec/1.0/types.vts.h",
+        "android/hardware/tv/cec/1.0/HdmiCec.vts.h",
+        "android/hardware/tv/cec/1.0/HdmiCecCallback.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler",
-    generated_sources: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tv.cec@1.0-IHdmiCecCallback-vts.profiler_genc++_headers"],
+    name: "android.hardware.tv.cec@1.0-vts.profiler",
+    generated_sources: ["android.hardware.tv.cec@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.tv.cec@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp
index 6bcb985..a71cdc5 100644
--- a/tv/input/1.0/Android.bp
+++ b/tv/input/1.0/Android.bp
@@ -130,84 +130,42 @@
 }
 
 genrule {
-    name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++",
+    name: "android.hardware.tv.input@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
     srcs: [
-        "ITvInput.hal",
         "types.hal",
+        "ITvInput.hal",
+        "ITvInputCallback.hal",
     ],
     out: [
+        "android/hardware/tv/input/1.0/types.vts.cpp",
         "android/hardware/tv/input/1.0/TvInput.vts.cpp",
-        "android/hardware/tv/input/1.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
-    srcs: [
-        "ITvInput.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/tv/input/1.0/TvInput.vts.h",
-        "android/hardware/tv/input/1.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.tv.input@1.0-ITvInput-vts.profiler",
-    generated_sources: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tv.input@1.0-ITvInput-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hardware.audio.common@2.0",
-        "android.hidl.base@1.0",
-        "android.hardware.tv.input@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
-    srcs: [
-        "ITvInputCallback.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/tv/input/1.0/TvInputCallback.vts.cpp",
-        "android/hardware/tv/input/1.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers",
+    name: "android.hardware.tv.input@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tv.input@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/tv/input/1.0/ $(genDir)/android/hardware/tv/input/1.0/",
     srcs: [
-        "ITvInputCallback.hal",
         "types.hal",
+        "ITvInput.hal",
+        "ITvInputCallback.hal",
     ],
     out: [
-        "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
         "android/hardware/tv/input/1.0/types.vts.h",
+        "android/hardware/tv/input/1.0/TvInput.vts.h",
+        "android/hardware/tv/input/1.0/TvInputCallback.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler",
-    generated_sources: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.tv.input@1.0-ITvInputCallback-vts.profiler_genc++_headers"],
+    name: "android.hardware.tv.input@1.0-vts.profiler",
+    generated_sources: ["android.hardware.tv.input@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.tv.input@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/usb/1.0/Android.bp b/usb/1.0/Android.bp
index 8b84a4a..a23f46e 100644
--- a/usb/1.0/Android.bp
+++ b/usb/1.0/Android.bp
@@ -62,3 +62,114 @@
         "android.hidl.base@1.0",
     ],
 }
+
+genrule {
+    name: "android.hardware.usb.vts.driver@1.0_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+    srcs: [
+        "types.hal",
+        "IUsb.hal",
+        "IUsbCallback.hal",
+    ],
+    out: [
+        "android/hardware/usb/1.0/types.vts.cpp",
+        "android/hardware/usb/1.0/Usb.vts.cpp",
+        "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.usb.vts.driver@1.0_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+    srcs: [
+        "types.hal",
+        "IUsb.hal",
+        "IUsbCallback.hal",
+    ],
+    out: [
+        "android/hardware/usb/1.0/types.vts.h",
+        "android/hardware/usb/1.0/Usb.vts.h",
+        "android/hardware/usb/1.0/UsbCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.usb.vts.driver@1.0",
+    generated_sources: ["android.hardware.usb.vts.driver@1.0_genc++"],
+    generated_headers: ["android.hardware.usb.vts.driver@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.usb.vts.driver@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "libcamera_metadata",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.usb@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.usb@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+    srcs: [
+        "types.hal",
+        "IUsb.hal",
+        "IUsbCallback.hal",
+    ],
+    out: [
+        "android/hardware/usb/1.0/types.vts.cpp",
+        "android/hardware/usb/1.0/Usb.vts.cpp",
+        "android/hardware/usb/1.0/UsbCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.usb@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/usb/1.0/ $(genDir)/android/hardware/usb/1.0/",
+    srcs: [
+        "types.hal",
+        "IUsb.hal",
+        "IUsbCallback.hal",
+    ],
+    out: [
+        "android/hardware/usb/1.0/types.vts.h",
+        "android/hardware/usb/1.0/Usb.vts.h",
+        "android/hardware/usb/1.0/UsbCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.usb@1.0-vts.profiler",
+    generated_sources: ["android.hardware.usb@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.usb@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hidl.base@1.0",
+        "android.hardware.usb@1.0",
+    ],
+}
diff --git a/vehicle/2.0/Android.bp b/vehicle/2.0/Android.bp
index 986fb74..dfc9d4d 100644
--- a/vehicle/2.0/Android.bp
+++ b/vehicle/2.0/Android.bp
@@ -126,83 +126,42 @@
 }
 
 genrule {
-    name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++",
+    name: "android.hardware.vehicle@2.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
     srcs: [
-        "IVehicle.hal",
         "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
     ],
     out: [
+        "android/hardware/vehicle/2.0/types.vts.cpp",
         "android/hardware/vehicle/2.0/Vehicle.vts.cpp",
-        "android/hardware/vehicle/2.0/types.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
-    srcs: [
-        "IVehicle.hal",
-        "types.hal",
-    ],
-    out: [
-        "android/hardware/vehicle/2.0/Vehicle.vts.h",
-        "android/hardware/vehicle/2.0/types.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.vehicle@2.0-IVehicle-vts.profiler",
-    generated_sources: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.vehicle@2.0-IVehicle-vts.profiler_genc++_headers"],
-    shared_libs: [
-        "libbase",
-        "libhidlbase",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.vehicle@2.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++",
-    tools: ["hidl-gen", "vtsc"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
-    srcs: [
-        "IVehicleCallback.hal",
-        "types.hal",
-    ],
-    out: [
         "android/hardware/vehicle/2.0/VehicleCallback.vts.cpp",
-        "android/hardware/vehicle/2.0/types.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers",
+    name: "android.hardware.vehicle@2.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
     srcs: [
-        "IVehicleCallback.hal",
         "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
     ],
     out: [
-        "android/hardware/vehicle/2.0/VehicleCallback.vts.h",
         "android/hardware/vehicle/2.0/types.vts.h",
+        "android/hardware/vehicle/2.0/Vehicle.vts.h",
+        "android/hardware/vehicle/2.0/VehicleCallback.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler",
-    generated_sources: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.vehicle@2.0-IVehicleCallback-vts.profiler_genc++_headers"],
+    name: "android.hardware.vehicle@2.0-vts.profiler",
+    generated_sources: ["android.hardware.vehicle@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.vehicle@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.vehicle@2.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/vehicle/2.0/Android.mk b/vehicle/2.0/Android.mk
index 1dd0f45..1f7fd71 100644
--- a/vehicle/2.0/Android.mk
+++ b/vehicle/2.0/Android.mk
@@ -1081,6 +1081,44 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (VmsMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageType)
+#
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.vehicle@2.0::types.VmsMessageType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (Wheel)
 #
 GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
@@ -2224,6 +2262,44 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (VmsMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build types.hal (VmsMessageType)
+#
+GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageType.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.vehicle@2.0::types.VmsMessageType
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (Wheel)
 #
 GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp
index 497274b..e752d38 100644
--- a/vibrator/1.0/Android.bp
+++ b/vibrator/1.0/Android.bp
@@ -114,38 +114,38 @@
 }
 
 genrule {
-    name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++",
+    name: "android.hardware.vibrator@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
     srcs: [
-        "IVibrator.hal",
         "types.hal",
+        "IVibrator.hal",
     ],
     out: [
-        "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
         "android/hardware/vibrator/1.0/types.vts.cpp",
+        "android/hardware/vibrator/1.0/Vibrator.vts.cpp",
     ],
 }
 
 genrule {
-    name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers",
+    name: "android.hardware.vibrator@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vibrator@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vibrator/1.0/ $(genDir)/android/hardware/vibrator/1.0/",
     srcs: [
-        "IVibrator.hal",
         "types.hal",
+        "IVibrator.hal",
     ],
     out: [
-        "android/hardware/vibrator/1.0/Vibrator.vts.h",
         "android/hardware/vibrator/1.0/types.vts.h",
+        "android/hardware/vibrator/1.0/Vibrator.vts.h",
     ],
 }
 
 cc_library_shared {
-    name: "android.hardware.vibrator@1.0-IVibrator-vts.profiler",
-    generated_sources: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.vibrator@1.0-IVibrator-vts.profiler_genc++_headers"],
+    name: "android.hardware.vibrator@1.0-vts.profiler",
+    generated_sources: ["android.hardware.vibrator@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.vibrator@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",
diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp
index f175610..f0644a1 100644
--- a/vr/1.0/Android.bp
+++ b/vr/1.0/Android.bp
@@ -106,7 +106,7 @@
 }
 
 genrule {
-    name: "android.hardware.vr@1.0-IVr-vts.profiler_genc++",
+    name: "android.hardware.vr@1.0-vts.profiler_genc++",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
     srcs: [
@@ -118,7 +118,7 @@
 }
 
 genrule {
-    name: "android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers",
+    name: "android.hardware.vr@1.0-vts.profiler_genc++_headers",
     tools: ["hidl-gen", "vtsc"],
     cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vr@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/vr/1.0/ $(genDir)/android/hardware/vr/1.0/",
     srcs: [
@@ -130,10 +130,10 @@
 }
 
 cc_library_shared {
-    name: "android.hardware.vr@1.0-IVr-vts.profiler",
-    generated_sources: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.vr@1.0-IVr-vts.profiler_genc++_headers"],
+    name: "android.hardware.vr@1.0-vts.profiler",
+    generated_sources: ["android.hardware.vr@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.vr@1.0-vts.profiler_genc++_headers"],
     shared_libs: [
         "libbase",
         "libhidlbase",