Merge "Update GraphicBufferAllocator users to pass both producer and consumer usages"
diff --git a/automotive/Android.bp b/automotive/Android.bp
new file mode 100644
index 0000000..aa8f74f
--- /dev/null
+++ b/automotive/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "vehicle",
+    "vehicle/2.0",
+]
diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp
new file mode 100644
index 0000000..3f378f2
--- /dev/null
+++ b/automotive/vehicle/2.0/Android.bp
@@ -0,0 +1,175 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+    name: "android.hardware.automotive.vehicle@2.0_genc++",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.cpp",
+        "android/hardware/automotive/vehicle/2.0/VehicleAll.cpp",
+        "android/hardware/automotive/vehicle/2.0/VehicleCallbackAll.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.vehicle@2.0_genc++_headers",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.0",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.h",
+        "android/hardware/automotive/vehicle/2.0/IVehicle.h",
+        "android/hardware/automotive/vehicle/2.0/IHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.0/BnHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.0/BpHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.0/BsVehicle.h",
+        "android/hardware/automotive/vehicle/2.0/IVehicleCallback.h",
+        "android/hardware/automotive/vehicle/2.0/IHwVehicleCallback.h",
+        "android/hardware/automotive/vehicle/2.0/BnHwVehicleCallback.h",
+        "android/hardware/automotive/vehicle/2.0/BpHwVehicleCallback.h",
+        "android/hardware/automotive/vehicle/2.0/BsVehicleCallback.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.automotive.vehicle@2.0",
+    generated_sources: ["android.hardware.automotive.vehicle@2.0_genc++"],
+    generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.automotive.vehicle@2.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "android.hidl.base@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.vehicle.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.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+        "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+        "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.vehicle.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.automotive.vehicle@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.vts.h",
+        "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+        "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.automotive.vehicle.vts.driver@2.0",
+    generated_sources: ["android.hardware.automotive.vehicle.vts.driver@2.0_genc++"],
+    generated_headers: ["android.hardware.automotive.vehicle.vts.driver@2.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.automotive.vehicle.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.hidl.base@1.0",
+        "android.hardware.automotive.vehicle@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hidl.base@1.0",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.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.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.vts.cpp",
+        "android/hardware/automotive/vehicle/2.0/Vehicle.vts.cpp",
+        "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.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.automotive.vehicle@2.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/automotive/vehicle/2.0/ $(genDir)/android/hardware/automotive/vehicle/2.0/",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+        "IVehicleCallback.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.0/types.vts.h",
+        "android/hardware/automotive/vehicle/2.0/Vehicle.vts.h",
+        "android/hardware/automotive/vehicle/2.0/VehicleCallback.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.automotive.vehicle@2.0-vts.profiler",
+    generated_sources: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.automotive.vehicle@2.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.automotive.vehicle@2.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.automotive.vehicle@2.0",
+    ],
+}
diff --git a/vehicle/2.0/Android.mk b/automotive/vehicle/2.0/Android.mk
similarity index 74%
rename from vehicle/2.0/Android.mk
rename to automotive/vehicle/2.0/Android.mk
index 1f7fd71..ca83918 100644
--- a/vehicle/2.0/Android.mk
+++ b/automotive/vehicle/2.0/Android.mk
@@ -5,7 +5,7 @@
 ################################################################################
 
 include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.vehicle@2.0-java
+LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java
 LOCAL_MODULE_CLASS := JAVA_LIBRARIES
 
 intermediates := $(local-generated-sources-dir)
@@ -19,7 +19,7 @@
 #
 # Build types.hal (CommonIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CommonIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -29,7 +29,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.CommonIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -38,7 +38,7 @@
 #
 # Build types.hal (CompressionIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CompressionIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -48,7 +48,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.CompressionIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -57,7 +57,7 @@
 #
 # Build types.hal (FuelSystemStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelSystemStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -67,7 +67,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.FuelSystemStatus
+        android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -76,7 +76,7 @@
 #
 # Build types.hal (FuelType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -86,7 +86,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.FuelType
+        android.hardware.automotive.vehicle@2.0::types.FuelType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -95,7 +95,7 @@
 #
 # Build types.hal (IgnitionMonitorKind)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IgnitionMonitorKind.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -105,7 +105,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.IgnitionMonitorKind
+        android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -114,7 +114,7 @@
 #
 # Build types.hal (Obd2FloatSensorIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2FloatSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -124,7 +124,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Obd2FloatSensorIndex
+        android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -133,7 +133,7 @@
 #
 # Build types.hal (Obd2IntegerSensorIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2IntegerSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -143,7 +143,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Obd2IntegerSensorIndex
+        android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -152,7 +152,7 @@
 #
 # Build types.hal (SecondaryAirStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SecondaryAirStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -162,7 +162,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SecondaryAirStatus
+        android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -171,7 +171,7 @@
 #
 # Build types.hal (SparkIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SparkIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -181,7 +181,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SparkIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -190,7 +190,7 @@
 #
 # Build types.hal (StatusCode)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/StatusCode.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -200,7 +200,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.StatusCode
+        android.hardware.automotive.vehicle@2.0::types.StatusCode
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -209,7 +209,7 @@
 #
 # Build types.hal (SubscribeFlags)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeFlags.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -219,7 +219,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SubscribeFlags
+        android.hardware.automotive.vehicle@2.0::types.SubscribeFlags
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -228,7 +228,7 @@
 #
 # Build types.hal (SubscribeOptions)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeOptions.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -238,7 +238,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SubscribeOptions
+        android.hardware.automotive.vehicle@2.0::types.SubscribeOptions
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -247,7 +247,7 @@
 #
 # Build types.hal (VehicleApPowerBootupReason)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerBootupReason.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -257,7 +257,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerBootupReason
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerBootupReason
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -266,7 +266,7 @@
 #
 # Build types.hal (VehicleApPowerSetState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerSetState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -276,7 +276,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerSetState
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerSetState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -285,7 +285,7 @@
 #
 # Build types.hal (VehicleApPowerState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -295,7 +295,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerState
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -304,7 +304,7 @@
 #
 # Build types.hal (VehicleApPowerStateConfigFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -314,7 +314,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateConfigFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateConfigFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -323,7 +323,7 @@
 #
 # Build types.hal (VehicleApPowerStateIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -333,7 +333,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -342,7 +342,7 @@
 #
 # Build types.hal (VehicleApPowerStateShutdownParam)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -352,7 +352,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateShutdownParam
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateShutdownParam
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -361,7 +361,7 @@
 #
 # Build types.hal (VehicleArea)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleArea.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -371,7 +371,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleArea
+        android.hardware.automotive.vehicle@2.0::types.VehicleArea
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -380,7 +380,7 @@
 #
 # Build types.hal (VehicleAreaConfig)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaConfig.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -390,7 +390,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaConfig
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaConfig
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -399,7 +399,7 @@
 #
 # Build types.hal (VehicleAreaDoor)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaDoor.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -409,7 +409,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaDoor
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaDoor
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -418,7 +418,7 @@
 #
 # Build types.hal (VehicleAreaMirror)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaMirror.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -428,7 +428,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaMirror
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaMirror
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -437,7 +437,7 @@
 #
 # Build types.hal (VehicleAreaSeat)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaSeat.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -447,7 +447,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaSeat
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaSeat
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -456,7 +456,7 @@
 #
 # Build types.hal (VehicleAreaWindow)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaWindow.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -466,7 +466,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaWindow
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaWindow
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -475,7 +475,7 @@
 #
 # Build types.hal (VehicleAreaZone)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaZone.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -485,7 +485,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaZone
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaZone
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -494,7 +494,7 @@
 #
 # Build types.hal (VehicleAudioContextFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioContextFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -504,7 +504,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioContextFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioContextFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -513,7 +513,7 @@
 #
 # Build types.hal (VehicleAudioExtFocusFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioExtFocusFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -523,7 +523,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioExtFocusFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioExtFocusFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -532,7 +532,7 @@
 #
 # Build types.hal (VehicleAudioFocusIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -542,7 +542,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -551,7 +551,7 @@
 #
 # Build types.hal (VehicleAudioFocusRequest)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusRequest.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -561,7 +561,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusRequest
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusRequest
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -570,7 +570,7 @@
 #
 # Build types.hal (VehicleAudioFocusState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -580,7 +580,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusState
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -589,7 +589,7 @@
 #
 # Build types.hal (VehicleAudioHwVariantConfigFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -599,7 +599,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -608,7 +608,7 @@
 #
 # Build types.hal (VehicleAudioRoutingPolicyIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -618,7 +618,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -627,7 +627,7 @@
 #
 # Build types.hal (VehicleAudioStream)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStream.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -637,7 +637,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioStream
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioStream
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -646,7 +646,7 @@
 #
 # Build types.hal (VehicleAudioStreamFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStreamFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -656,7 +656,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioStreamFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioStreamFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -665,7 +665,7 @@
 #
 # Build types.hal (VehicleAudioVolumeCapabilityFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -675,7 +675,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -684,7 +684,7 @@
 #
 # Build types.hal (VehicleAudioVolumeIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -694,7 +694,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -703,7 +703,7 @@
 #
 # Build types.hal (VehicleAudioVolumeLimitIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -713,7 +713,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -722,7 +722,7 @@
 #
 # Build types.hal (VehicleAudioVolumeState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -732,7 +732,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeState
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -741,7 +741,7 @@
 #
 # Build types.hal (VehicleDisplay)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDisplay.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -751,7 +751,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleDisplay
+        android.hardware.automotive.vehicle@2.0::types.VehicleDisplay
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -760,7 +760,7 @@
 #
 # Build types.hal (VehicleDrivingStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDrivingStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -770,7 +770,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleDrivingStatus
+        android.hardware.automotive.vehicle@2.0::types.VehicleDrivingStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -779,7 +779,7 @@
 #
 # Build types.hal (VehicleGear)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleGear.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -789,7 +789,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleGear
+        android.hardware.automotive.vehicle@2.0::types.VehicleGear
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -798,7 +798,7 @@
 #
 # Build types.hal (VehicleHvacFanDirection)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHvacFanDirection.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -808,7 +808,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleHvacFanDirection
+        android.hardware.automotive.vehicle@2.0::types.VehicleHvacFanDirection
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -817,7 +817,7 @@
 #
 # Build types.hal (VehicleHwKeyInputAction)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHwKeyInputAction.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -827,7 +827,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleHwKeyInputAction
+        android.hardware.automotive.vehicle@2.0::types.VehicleHwKeyInputAction
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -836,7 +836,7 @@
 #
 # Build types.hal (VehicleIgnitionState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleIgnitionState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleIgnitionState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -846,7 +846,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleIgnitionState
+        android.hardware.automotive.vehicle@2.0::types.VehicleIgnitionState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -855,7 +855,7 @@
 #
 # Build types.hal (VehicleInstrumentClusterType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleInstrumentClusterType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -865,7 +865,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleInstrumentClusterType
+        android.hardware.automotive.vehicle@2.0::types.VehicleInstrumentClusterType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -874,7 +874,7 @@
 #
 # Build types.hal (VehiclePropConfig)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropConfig.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -884,7 +884,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropConfig
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropConfig
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -893,7 +893,7 @@
 #
 # Build types.hal (VehiclePropValue)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropValue.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -903,7 +903,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropValue
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropValue
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -912,7 +912,7 @@
 #
 # Build types.hal (VehicleProperty)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleProperty.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -922,7 +922,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleProperty
+        android.hardware.automotive.vehicle@2.0::types.VehicleProperty
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -931,7 +931,7 @@
 #
 # Build types.hal (VehiclePropertyAccess)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyAccess.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -941,7 +941,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyAccess
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyAccess
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -950,7 +950,7 @@
 #
 # Build types.hal (VehiclePropertyChangeMode)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyChangeMode.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -960,7 +960,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyChangeMode
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyChangeMode
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -969,7 +969,7 @@
 #
 # Build types.hal (VehiclePropertyGroup)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyGroup.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -979,7 +979,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyGroup
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyGroup
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -988,7 +988,7 @@
 #
 # Build types.hal (VehiclePropertyOperation)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyOperation.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -998,7 +998,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyOperation
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyOperation
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1007,7 +1007,7 @@
 #
 # Build types.hal (VehiclePropertyType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1017,7 +1017,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyType
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1026,7 +1026,7 @@
 #
 # Build types.hal (VehicleRadioConstants)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleRadioConstants.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1036,7 +1036,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleRadioConstants
+        android.hardware.automotive.vehicle@2.0::types.VehicleRadioConstants
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1045,7 +1045,7 @@
 #
 # Build types.hal (VehicleTurnSignal)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleTurnSignal.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1055,7 +1055,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleTurnSignal
+        android.hardware.automotive.vehicle@2.0::types.VehicleTurnSignal
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1064,7 +1064,7 @@
 #
 # Build types.hal (VehicleUnit)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleUnit.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1074,7 +1074,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleUnit
+        android.hardware.automotive.vehicle@2.0::types.VehicleUnit
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1083,7 +1083,7 @@
 #
 # Build types.hal (VmsMessageIntegerValuesIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1093,7 +1093,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+        android.hardware.automotive.vehicle@2.0::types.VmsMessageIntegerValuesIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1102,7 +1102,7 @@
 #
 # Build types.hal (VmsMessageType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1112,7 +1112,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VmsMessageType
+        android.hardware.automotive.vehicle@2.0::types.VmsMessageType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1121,7 +1121,7 @@
 #
 # Build types.hal (Wheel)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Wheel.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1131,7 +1131,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Wheel
+        android.hardware.automotive.vehicle@2.0::types.Wheel
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1140,7 +1140,7 @@
 #
 # Build IVehicle.hal
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicle.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -1154,7 +1154,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::IVehicle
+        android.hardware.automotive.vehicle@2.0::IVehicle
 
 $(GEN): $(LOCAL_PATH)/IVehicle.hal
 	$(transform-generated-source)
@@ -1163,7 +1163,7 @@
 #
 # Build IVehicleCallback.hal
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicleCallback.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
@@ -1175,7 +1175,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::IVehicleCallback
+        android.hardware.automotive.vehicle@2.0::IVehicleCallback
 
 $(GEN): $(LOCAL_PATH)/IVehicleCallback.hal
 	$(transform-generated-source)
@@ -1186,7 +1186,7 @@
 ################################################################################
 
 include $(CLEAR_VARS)
-LOCAL_MODULE := android.hardware.vehicle@2.0-java-static
+LOCAL_MODULE := android.hardware.automotive.vehicle@2.0-java-static
 LOCAL_MODULE_CLASS := JAVA_LIBRARIES
 
 intermediates := $(local-generated-sources-dir)
@@ -1200,7 +1200,7 @@
 #
 # Build types.hal (CommonIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CommonIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CommonIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1210,7 +1210,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.CommonIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.CommonIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1219,7 +1219,7 @@
 #
 # Build types.hal (CompressionIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/CompressionIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/CompressionIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1229,7 +1229,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.CompressionIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.CompressionIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1238,7 +1238,7 @@
 #
 # Build types.hal (FuelSystemStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelSystemStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelSystemStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1248,7 +1248,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.FuelSystemStatus
+        android.hardware.automotive.vehicle@2.0::types.FuelSystemStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1257,7 +1257,7 @@
 #
 # Build types.hal (FuelType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/FuelType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/FuelType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1267,7 +1267,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.FuelType
+        android.hardware.automotive.vehicle@2.0::types.FuelType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1276,7 +1276,7 @@
 #
 # Build types.hal (IgnitionMonitorKind)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IgnitionMonitorKind.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IgnitionMonitorKind.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1286,7 +1286,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.IgnitionMonitorKind
+        android.hardware.automotive.vehicle@2.0::types.IgnitionMonitorKind
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1295,7 +1295,7 @@
 #
 # Build types.hal (Obd2FloatSensorIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2FloatSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2FloatSensorIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1305,7 +1305,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Obd2FloatSensorIndex
+        android.hardware.automotive.vehicle@2.0::types.Obd2FloatSensorIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1314,7 +1314,7 @@
 #
 # Build types.hal (Obd2IntegerSensorIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Obd2IntegerSensorIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Obd2IntegerSensorIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1324,7 +1324,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Obd2IntegerSensorIndex
+        android.hardware.automotive.vehicle@2.0::types.Obd2IntegerSensorIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1333,7 +1333,7 @@
 #
 # Build types.hal (SecondaryAirStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SecondaryAirStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SecondaryAirStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1343,7 +1343,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SecondaryAirStatus
+        android.hardware.automotive.vehicle@2.0::types.SecondaryAirStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1352,7 +1352,7 @@
 #
 # Build types.hal (SparkIgnitionMonitors)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SparkIgnitionMonitors.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SparkIgnitionMonitors.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1362,7 +1362,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SparkIgnitionMonitors
+        android.hardware.automotive.vehicle@2.0::types.SparkIgnitionMonitors
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1371,7 +1371,7 @@
 #
 # Build types.hal (StatusCode)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/StatusCode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/StatusCode.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1381,7 +1381,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.StatusCode
+        android.hardware.automotive.vehicle@2.0::types.StatusCode
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1390,7 +1390,7 @@
 #
 # Build types.hal (SubscribeFlags)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeFlags.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeFlags.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1400,7 +1400,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SubscribeFlags
+        android.hardware.automotive.vehicle@2.0::types.SubscribeFlags
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1409,7 +1409,7 @@
 #
 # Build types.hal (SubscribeOptions)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/SubscribeOptions.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/SubscribeOptions.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1419,7 +1419,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.SubscribeOptions
+        android.hardware.automotive.vehicle@2.0::types.SubscribeOptions
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1428,7 +1428,7 @@
 #
 # Build types.hal (VehicleApPowerBootupReason)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerBootupReason.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerBootupReason.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1438,7 +1438,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerBootupReason
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerBootupReason
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1447,7 +1447,7 @@
 #
 # Build types.hal (VehicleApPowerSetState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerSetState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerSetState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1457,7 +1457,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerSetState
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerSetState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1466,7 +1466,7 @@
 #
 # Build types.hal (VehicleApPowerState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1476,7 +1476,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerState
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1485,7 +1485,7 @@
 #
 # Build types.hal (VehicleApPowerStateConfigFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateConfigFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1495,7 +1495,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateConfigFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateConfigFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1504,7 +1504,7 @@
 #
 # Build types.hal (VehicleApPowerStateIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1514,7 +1514,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1523,7 +1523,7 @@
 #
 # Build types.hal (VehicleApPowerStateShutdownParam)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleApPowerStateShutdownParam.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1533,7 +1533,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleApPowerStateShutdownParam
+        android.hardware.automotive.vehicle@2.0::types.VehicleApPowerStateShutdownParam
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1542,7 +1542,7 @@
 #
 # Build types.hal (VehicleArea)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleArea.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleArea.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1552,7 +1552,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleArea
+        android.hardware.automotive.vehicle@2.0::types.VehicleArea
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1561,7 +1561,7 @@
 #
 # Build types.hal (VehicleAreaConfig)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaConfig.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1571,7 +1571,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaConfig
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaConfig
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1580,7 +1580,7 @@
 #
 # Build types.hal (VehicleAreaDoor)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaDoor.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaDoor.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1590,7 +1590,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaDoor
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaDoor
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1599,7 +1599,7 @@
 #
 # Build types.hal (VehicleAreaMirror)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaMirror.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaMirror.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1609,7 +1609,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaMirror
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaMirror
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1618,7 +1618,7 @@
 #
 # Build types.hal (VehicleAreaSeat)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaSeat.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaSeat.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1628,7 +1628,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaSeat
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaSeat
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1637,7 +1637,7 @@
 #
 # Build types.hal (VehicleAreaWindow)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaWindow.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaWindow.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1647,7 +1647,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaWindow
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaWindow
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1656,7 +1656,7 @@
 #
 # Build types.hal (VehicleAreaZone)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAreaZone.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAreaZone.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1666,7 +1666,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAreaZone
+        android.hardware.automotive.vehicle@2.0::types.VehicleAreaZone
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1675,7 +1675,7 @@
 #
 # Build types.hal (VehicleAudioContextFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioContextFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioContextFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1685,7 +1685,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioContextFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioContextFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1694,7 +1694,7 @@
 #
 # Build types.hal (VehicleAudioExtFocusFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioExtFocusFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioExtFocusFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1704,7 +1704,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioExtFocusFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioExtFocusFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1713,7 +1713,7 @@
 #
 # Build types.hal (VehicleAudioFocusIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1723,7 +1723,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1732,7 +1732,7 @@
 #
 # Build types.hal (VehicleAudioFocusRequest)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusRequest.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusRequest.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1742,7 +1742,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusRequest
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusRequest
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1751,7 +1751,7 @@
 #
 # Build types.hal (VehicleAudioFocusState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioFocusState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioFocusState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1761,7 +1761,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioFocusState
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioFocusState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1770,7 +1770,7 @@
 #
 # Build types.hal (VehicleAudioHwVariantConfigFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioHwVariantConfigFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1780,7 +1780,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioHwVariantConfigFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1789,7 +1789,7 @@
 #
 # Build types.hal (VehicleAudioRoutingPolicyIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioRoutingPolicyIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1799,7 +1799,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioRoutingPolicyIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1808,7 +1808,7 @@
 #
 # Build types.hal (VehicleAudioStream)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStream.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStream.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1818,7 +1818,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioStream
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioStream
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1827,7 +1827,7 @@
 #
 # Build types.hal (VehicleAudioStreamFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioStreamFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioStreamFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1837,7 +1837,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioStreamFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioStreamFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1846,7 +1846,7 @@
 #
 # Build types.hal (VehicleAudioVolumeCapabilityFlag)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeCapabilityFlag.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1856,7 +1856,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeCapabilityFlag
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1865,7 +1865,7 @@
 #
 # Build types.hal (VehicleAudioVolumeIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1875,7 +1875,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1884,7 +1884,7 @@
 #
 # Build types.hal (VehicleAudioVolumeLimitIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeLimitIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1894,7 +1894,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeLimitIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1903,7 +1903,7 @@
 #
 # Build types.hal (VehicleAudioVolumeState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleAudioVolumeState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleAudioVolumeState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1913,7 +1913,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleAudioVolumeState
+        android.hardware.automotive.vehicle@2.0::types.VehicleAudioVolumeState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1922,7 +1922,7 @@
 #
 # Build types.hal (VehicleDisplay)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDisplay.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDisplay.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1932,7 +1932,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleDisplay
+        android.hardware.automotive.vehicle@2.0::types.VehicleDisplay
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1941,7 +1941,7 @@
 #
 # Build types.hal (VehicleDrivingStatus)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleDrivingStatus.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleDrivingStatus.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1951,7 +1951,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleDrivingStatus
+        android.hardware.automotive.vehicle@2.0::types.VehicleDrivingStatus
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1960,7 +1960,7 @@
 #
 # Build types.hal (VehicleGear)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleGear.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleGear.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1970,7 +1970,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleGear
+        android.hardware.automotive.vehicle@2.0::types.VehicleGear
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1979,7 +1979,7 @@
 #
 # Build types.hal (VehicleHvacFanDirection)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHvacFanDirection.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHvacFanDirection.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -1989,7 +1989,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleHvacFanDirection
+        android.hardware.automotive.vehicle@2.0::types.VehicleHvacFanDirection
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -1998,7 +1998,7 @@
 #
 # Build types.hal (VehicleHwKeyInputAction)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleHwKeyInputAction.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleHwKeyInputAction.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2008,7 +2008,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleHwKeyInputAction
+        android.hardware.automotive.vehicle@2.0::types.VehicleHwKeyInputAction
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2017,7 +2017,7 @@
 #
 # Build types.hal (VehicleIgnitionState)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleIgnitionState.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleIgnitionState.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2027,7 +2027,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleIgnitionState
+        android.hardware.automotive.vehicle@2.0::types.VehicleIgnitionState
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2036,7 +2036,7 @@
 #
 # Build types.hal (VehicleInstrumentClusterType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleInstrumentClusterType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleInstrumentClusterType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2046,7 +2046,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleInstrumentClusterType
+        android.hardware.automotive.vehicle@2.0::types.VehicleInstrumentClusterType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2055,7 +2055,7 @@
 #
 # Build types.hal (VehiclePropConfig)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropConfig.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropConfig.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2065,7 +2065,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropConfig
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropConfig
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2074,7 +2074,7 @@
 #
 # Build types.hal (VehiclePropValue)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropValue.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropValue.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2084,7 +2084,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropValue
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropValue
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2093,7 +2093,7 @@
 #
 # Build types.hal (VehicleProperty)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleProperty.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleProperty.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2103,7 +2103,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleProperty
+        android.hardware.automotive.vehicle@2.0::types.VehicleProperty
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2112,7 +2112,7 @@
 #
 # Build types.hal (VehiclePropertyAccess)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyAccess.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyAccess.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2122,7 +2122,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyAccess
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyAccess
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2131,7 +2131,7 @@
 #
 # Build types.hal (VehiclePropertyChangeMode)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyChangeMode.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyChangeMode.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2141,7 +2141,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyChangeMode
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyChangeMode
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2150,7 +2150,7 @@
 #
 # Build types.hal (VehiclePropertyGroup)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyGroup.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyGroup.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2160,7 +2160,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyGroup
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyGroup
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2169,7 +2169,7 @@
 #
 # Build types.hal (VehiclePropertyOperation)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyOperation.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyOperation.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2179,7 +2179,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyOperation
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyOperation
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2188,7 +2188,7 @@
 #
 # Build types.hal (VehiclePropertyType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehiclePropertyType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehiclePropertyType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2198,7 +2198,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehiclePropertyType
+        android.hardware.automotive.vehicle@2.0::types.VehiclePropertyType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2207,7 +2207,7 @@
 #
 # Build types.hal (VehicleRadioConstants)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleRadioConstants.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleRadioConstants.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2217,7 +2217,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleRadioConstants
+        android.hardware.automotive.vehicle@2.0::types.VehicleRadioConstants
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2226,7 +2226,7 @@
 #
 # Build types.hal (VehicleTurnSignal)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleTurnSignal.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleTurnSignal.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2236,7 +2236,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleTurnSignal
+        android.hardware.automotive.vehicle@2.0::types.VehicleTurnSignal
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2245,7 +2245,7 @@
 #
 # Build types.hal (VehicleUnit)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VehicleUnit.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VehicleUnit.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2255,7 +2255,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VehicleUnit
+        android.hardware.automotive.vehicle@2.0::types.VehicleUnit
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2264,7 +2264,7 @@
 #
 # Build types.hal (VmsMessageIntegerValuesIndex)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageIntegerValuesIndex.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2274,7 +2274,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VmsMessageIntegerValuesIndex
+        android.hardware.automotive.vehicle@2.0::types.VmsMessageIntegerValuesIndex
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2283,7 +2283,7 @@
 #
 # Build types.hal (VmsMessageType)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/VmsMessageType.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/VmsMessageType.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2293,7 +2293,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.VmsMessageType
+        android.hardware.automotive.vehicle@2.0::types.VmsMessageType
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2302,7 +2302,7 @@
 #
 # Build types.hal (Wheel)
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/Wheel.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/Wheel.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
@@ -2312,7 +2312,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::types.Wheel
+        android.hardware.automotive.vehicle@2.0::types.Wheel
 
 $(GEN): $(LOCAL_PATH)/types.hal
 	$(transform-generated-source)
@@ -2321,7 +2321,7 @@
 #
 # Build IVehicle.hal
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicle.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicle.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicle.hal
@@ -2335,7 +2335,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::IVehicle
+        android.hardware.automotive.vehicle@2.0::IVehicle
 
 $(GEN): $(LOCAL_PATH)/IVehicle.hal
 	$(transform-generated-source)
@@ -2344,7 +2344,7 @@
 #
 # Build IVehicleCallback.hal
 #
-GEN := $(intermediates)/android/hardware/vehicle/V2_0/IVehicleCallback.java
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_0/IVehicleCallback.java
 $(GEN): $(HIDL)
 $(GEN): PRIVATE_HIDL := $(HIDL)
 $(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVehicleCallback.hal
@@ -2356,7 +2356,7 @@
         -Ljava \
         -randroid.hardware:hardware/interfaces \
         -randroid.hidl:system/libhidl/transport \
-        android.hardware.vehicle@2.0::IVehicleCallback
+        android.hardware.automotive.vehicle@2.0::IVehicleCallback
 
 $(GEN): $(LOCAL_PATH)/IVehicleCallback.hal
 	$(transform-generated-source)
diff --git a/vehicle/2.0/IVehicle.hal b/automotive/vehicle/2.0/IVehicle.hal
similarity index 98%
rename from vehicle/2.0/IVehicle.hal
rename to automotive/vehicle/2.0/IVehicle.hal
index dc13089..5de416f 100644
--- a/vehicle/2.0/IVehicle.hal
+++ b/automotive/vehicle/2.0/IVehicle.hal
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
 
 import IVehicleCallback;
 
diff --git a/vehicle/2.0/IVehicleCallback.hal b/automotive/vehicle/2.0/IVehicleCallback.hal
similarity index 97%
rename from vehicle/2.0/IVehicleCallback.hal
rename to automotive/vehicle/2.0/IVehicleCallback.hal
index eb626ff38..167e5e1 100644
--- a/vehicle/2.0/IVehicleCallback.hal
+++ b/automotive/vehicle/2.0/IVehicleCallback.hal
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
 
 interface IVehicleCallback {
 
diff --git a/vehicle/2.0/default/Android.mk b/automotive/vehicle/2.0/default/Android.mk
similarity index 97%
rename from vehicle/2.0/default/Android.mk
rename to automotive/vehicle/2.0/default/Android.mk
index 9c75006..a346507 100644
--- a/vehicle/2.0/default/Android.mk
+++ b/automotive/vehicle/2.0/default/Android.mk
@@ -14,7 +14,7 @@
 
 LOCAL_PATH := $(call my-dir)
 
-module_prefix = android.hardware.vehicle@2.0
+module_prefix = android.hardware.automotive.vehicle@2.0
 
 ###############################################################################
 # Vehicle reference implementation lib
@@ -115,6 +115,6 @@
     libhwbinder \
     liblog \
     libutils \
-    android.hardware.vehicle@2.0
+    $(module_prefix) \
 
 include $(BUILD_EXECUTABLE)
diff --git a/vehicle/2.0/default/VehicleHal.h b/automotive/vehicle/2.0/default/VehicleHal.h
similarity index 91%
rename from vehicle/2.0/default/VehicleHal.h
rename to automotive/vehicle/2.0/default/VehicleHal.h
index c882def..76df5b8 100644
--- a/vehicle/2.0/default/VehicleHal.h
+++ b/automotive/vehicle/2.0/default/VehicleHal.h
@@ -14,15 +14,16 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_VehicleHal_H_
-#define android_hardware_vehicle_V2_0_VehicleHal_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleHal_H
+#define android_hardware_automotive_vehicle_V2_0_VehicleHal_H
 
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
 #include "vehicle_hal_manager/VehicleObjectPool.h"
 
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -108,7 +109,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif //android_hardware_vehicle_V2_0_VehicleHal_H_
+#endif //android_hardware_automotive_vehicle_V2_0_VehicleHal_H_
diff --git a/vehicle/2.0/default/VehicleService.cpp b/automotive/vehicle/2.0/default/VehicleService.cpp
similarity index 91%
rename from vehicle/2.0/default/VehicleService.cpp
rename to automotive/vehicle/2.0/default/VehicleService.cpp
index 493df74..345dbcc 100644
--- a/vehicle/2.0/default/VehicleService.cpp
+++ b/automotive/vehicle/2.0/default/VehicleService.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-service"
+#define LOG_TAG "automotive.vehicle@2.0-service"
 #include <android/log.h>
 #include <hidl/HidlTransportSupport.h>
 
@@ -26,7 +26,7 @@
 
 using namespace android;
 using namespace android::hardware;
-using namespace android::hardware::vehicle::V2_0;
+using namespace android::hardware::automotive::vehicle::V2_0;
 
 int main(int /* argc */, char* /* argv */ []) {
     auto hal = std::make_unique<impl::DefaultVehicleHal>();
diff --git a/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc b/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc
new file mode 100644
index 0000000..344a984
--- /dev/null
+++ b/automotive/vehicle/2.0/default/android.hardware.automotive.vehicle@2.0-service.rc
@@ -0,0 +1,4 @@
+service vehicle-hal-2.0 /system/bin/hw/android.hardware.automotive.vehicle@2.0-service
+    class hal
+    user vehicle_network
+    group system
diff --git a/vehicle/2.0/default/impl/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
similarity index 94%
rename from vehicle/2.0/default/impl/DefaultConfig.h
rename to automotive/vehicle/2.0/default/impl/DefaultConfig.h
index c74ddc0..270bf8c 100644
--- a/vehicle/2.0/default/impl/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultConfig.h
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
-#define android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
+#define android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
 
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
 #include <vehicle_hal_manager/VehicleUtils.h>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -180,7 +181,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif // android_hardware_vehicle_V2_0_impl_DefaultConfig_H_
+#endif // android_hardware_automotive_vehicle_V2_0_impl_DefaultConfig_H_
diff --git a/vehicle/2.0/default/impl/DefaultVehicleHal.cpp b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
similarity index 99%
rename from vehicle/2.0/default/impl/DefaultVehicleHal.cpp
rename to automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
index c90dbce..1c26759 100644
--- a/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.cpp
@@ -23,6 +23,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -317,5 +318,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/impl/DefaultVehicleHal.h b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
similarity index 90%
rename from vehicle/2.0/default/impl/DefaultVehicleHal.h
rename to automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
index 567ddf1..ccedeeb 100644
--- a/vehicle/2.0/default/impl/DefaultVehicleHal.h
+++ b/automotive/vehicle/2.0/default/impl/DefaultVehicleHal.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
-#define android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#define android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
 
 #include <memory>
 
@@ -26,6 +26,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -83,8 +84,9 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
 
-#endif  // android_hardware_vehicle_V2_0_impl_DefaultVehicleHal_H_
+#endif  // android_hardware_automotive_vehicle_V2_0_impl_DefaultVehicleHal_H_
diff --git a/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
similarity index 98%
rename from vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
rename to automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
index 5b09135..7c9a4d9 100644
--- a/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/AccessControlConfigParser_test.cpp
@@ -24,6 +24,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -146,5 +147,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp b/automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
similarity index 99%
rename from vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
rename to automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
index 6866454..3ebebbd 100644
--- a/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/Obd2SensorStore_test.cpp
@@ -21,6 +21,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -279,5 +280,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp b/automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
similarity index 98%
rename from vehicle/2.0/default/tests/SubscriptionManager_test.cpp
rename to automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
index 1b12bfd..c6c6add 100644
--- a/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/SubscriptionManager_test.cpp
@@ -25,6 +25,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -192,5 +193,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
similarity index 99%
rename from vehicle/2.0/default/tests/VehicleHalManager_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
index c20ab7f..1ca5824 100644
--- a/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalManager_test.cpp
@@ -27,6 +27,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -471,5 +472,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/tests/VehicleHalTestUtils.h b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
similarity index 95%
rename from vehicle/2.0/default/tests/VehicleHalTestUtils.h
rename to automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
index fab420a..a512fcf 100644
--- a/vehicle/2.0/default/tests/VehicleHalTestUtils.h
+++ b/automotive/vehicle/2.0/default/tests/VehicleHalTestUtils.h
@@ -14,16 +14,17 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_VehicleDebugUtils_H_
-#define android_hardware_vehicle_V2_0_VehicleDebugUtils_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
 
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
 #include <vehicle_hal_manager/VehicleUtils.h>
 #include <ios>
 #include <sstream>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -120,7 +121,7 @@
     using MuxGuard = std::lock_guard<std::mutex>;
     using HidlVecOfValues = hidl_vec<VehiclePropValue>;
 public:
-    // Methods from ::android::hardware::vehicle::V2_0::IVehicleCallback follow.
+    // Methods from ::android::hardware::automotive::vehicle::V2_0::IVehicleCallback follow.
     Return<void> onPropertyEvent(
             const hidl_vec<VehiclePropValue>& values) override {
         {
@@ -265,8 +266,9 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
 
-#endif //VEHICLEHALDEBUGUTILS_H
+#endif //android_hardware_automotive_vehicle_V2_0_VehicleDebugUtils_H_
diff --git a/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
similarity index 98%
rename from vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
index 135f9fa..0d57284 100644
--- a/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehicleObjectPool_test.cpp
@@ -24,6 +24,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -125,5 +126,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp b/automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
similarity index 97%
rename from vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
rename to automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
index 4e1daf8..fad4ab3 100644
--- a/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
+++ b/automotive/vehicle/2.0/default/tests/VehiclePropConfigIndex_test.cpp
@@ -22,6 +22,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -71,5 +72,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
-}  // namespace android
\ No newline at end of file
+}  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
similarity index 98%
rename from vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
index 9cc994d..6a3f8e5 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
 
 #include "AccessControlConfigParser.h"
 #include "VehicleUtils.h"
@@ -27,6 +27,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -222,5 +223,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
similarity index 89%
rename from vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
index 0c3753f..8ef6f5a 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/AccessControlConfigParser.h
@@ -14,18 +14,19 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
-#define android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
+#define android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
 
 #include <string>
 #include <vector>
 #include <unordered_map>
 #include <list>
 
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -105,7 +106,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif // android_hardware_vehicle_V2_0_AccessControlConfigParser_H_
+#endif // android_hardware_automotive_vehicle_V2_0_AccessControlConfigParser_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
similarity index 94%
rename from vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
index 8f575dc..b63429f 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/ConcurrentQueue.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_ConcurrentQueue_H_
-#define android_hardware_vehicle_V2_0_ConcurrentQueue_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
+#define android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
 
 #include <queue>
 #include <atomic>
@@ -153,4 +153,4 @@
 
 }  // namespace android
 
-#endif //android_hardware_vehicle_V2_0_ConcurrentQueue_H_
+#endif //android_hardware_automotive_vehicle_V2_0_ConcurrentQueue_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
similarity index 98%
rename from vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
index 7be2662..3a252af 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.cpp
@@ -20,6 +20,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -100,5 +101,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
similarity index 90%
rename from vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
index b18f5d4..cbe9893 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/Obd2SensorStore.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_Obd2SensorStore_H_
-#define android_hardware_vehicle_V2_0_Obd2SensorStore_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
+#define android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
 
 #include <vector>
 
@@ -23,6 +23,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -74,7 +75,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif  // android_hardware_vehicle_V2_0_Obd2SensorStore_H_
+#endif  // android_hardware_automotive_vehicle_V2_0_Obd2SensorStore_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
similarity index 98%
rename from vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
index 72b0a83..f6f2758 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
 
 #include "SubscriptionManager.h"
 
@@ -26,6 +26,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -254,5 +255,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
similarity index 92%
rename from vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
index 7a74295..6a12b77 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/SubscriptionManager.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_SubscriptionManager_H_
-#define android_hardware_vehicle_V2_0_SubscriptionManager_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
+#define android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
 
 #include <memory>
 #include <map>
@@ -25,13 +25,14 @@
 #include <android/log.h>
 #include <hwbinder/IPCThreadState.h>
 
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
 
 #include "ConcurrentQueue.h"
 #include "VehicleObjectPool.h"
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -140,8 +141,9 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
 
-#endif // android_hardware_vehicle_V2_0_SubscriptionManager_H_
+#endif // android_hardware_automotive_vehicle_V2_0_SubscriptionManager_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
similarity index 98%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
index 8b243a3..3a5e504 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
 
 #include "VehicleHalManager.h"
 
@@ -27,6 +27,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -380,5 +381,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
similarity index 93%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
index 49723da..4bff4d1 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleHalManager.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_VehicleHalManager_H_
-#define android_hardware_vehicle_V2_0_VehicleHalManager_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
 
 #include <inttypes.h>
 #include <stdint.h>
@@ -26,7 +26,7 @@
 #include <memory>
 #include <set>
 
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
 #include <hwbinder/IPCThreadState.h>
 
 #include "AccessControlConfigParser.h"
@@ -38,6 +38,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -130,8 +131,9 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
 
-#endif // android_hardware_vehicle_V2_0_VehicleHalManager_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleHalManager_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
similarity index 97%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
index 5fa77b1..a79c55c 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
 
 #include "VehicleObjectPool.h"
 
@@ -24,6 +24,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -157,5 +158,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
similarity index 95%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
index d9231c3..05c649b 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleObjectPool.h
@@ -15,17 +15,18 @@
  */
 
 
-#ifndef android_hardware_vehicle_V2_0_VehicleObjectPool_H_
-#define android_hardware_vehicle_V2_0_VehicleObjectPool_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
 
 #include <deque>
 #include <map>
 #include <mutex>
 
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -238,7 +239,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif // android_hardware_vehicle_V2_0_VehicleObjectPool_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleObjectPool_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
similarity index 86%
rename from vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
index a08ac42..0528f68 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehiclePropConfigIndex.h
@@ -14,15 +14,16 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
-#define android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
+#define android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
 
 #include <utils/KeyedVector.h>
 
-#include <android/hardware/vehicle/2.0/IVehicle.h>
+#include <android/hardware/automotive/vehicle/2.0/IVehicle.h>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -72,7 +73,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif // android_hardware_vehicle_V2_0_VehiclePropConfigIndex_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehiclePropConfigIndex_H_
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
similarity index 97%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
index 5a00631..311cdef 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "android.hardware.vehicle@2.0-impl"
+#define LOG_TAG "automotive.vehicle@2.0-impl"
 
 #include "VehicleUtils.h"
 
@@ -22,6 +22,7 @@
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -124,5 +125,6 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
diff --git a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
similarity index 88%
rename from vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
rename to automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
index c24d860..ce0b163 100644
--- a/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
+++ b/automotive/vehicle/2.0/default/vehicle_hal_manager/VehicleUtils.h
@@ -14,17 +14,18 @@
  * limitations under the License.
  */
 
-#ifndef android_hardware_vehicle_V2_0_VehicleUtils_H_
-#define android_hardware_vehicle_V2_0_VehicleUtils_H_
+#ifndef android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
+#define android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
 
 #include <memory>
 
 #include <hidl/HidlSupport.h>
 
-#include <android/hardware/vehicle/2.0/types.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
 
 namespace android {
 namespace hardware {
+namespace automotive {
 namespace vehicle {
 namespace V2_0 {
 
@@ -78,7 +79,8 @@
 
 }  // namespace V2_0
 }  // namespace vehicle
+}  // namespace automotive
 }  // namespace hardware
 }  // namespace android
 
-#endif // android_hardware_vehicle_V2_0_VehicleUtils_H_
+#endif // android_hardware_automotive_vehicle_V2_0_VehicleUtils_H_
diff --git a/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal
similarity index 99%
rename from vehicle/2.0/types.hal
rename to automotive/vehicle/2.0/types.hal
index 6609e5b..05e10be 100644
--- a/vehicle/2.0/types.hal
+++ b/automotive/vehicle/2.0/types.hal
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package android.hardware.vehicle@2.0;
+package android.hardware.automotive.vehicle@2.0;
 
 /*
  * Enumerates supported data types for VehicleProperty.
diff --git a/automotive/vehicle/2.0/vts/Vehicle.vts b/automotive/vehicle/2.0/vts/Vehicle.vts
new file mode 100644
index 0000000..535d4b8
--- /dev/null
+++ b/automotive/vehicle/2.0/vts/Vehicle.vts
@@ -0,0 +1,116 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicle"
+
+package: "android.hardware.automotive.vehicle"
+
+import: "android.hardware.automotive.vehicle@2.0::IVehicleCallback"
+import: "android.hardware.automotive.vehicle@2.0::types"
+
+interface: {
+    api: {
+        name: "getAllPropConfigs"
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
+            }
+        }
+    }
+
+    api: {
+        name: "getPropConfigs"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        return_type_hidl: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
+            }
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_ENUM
+                predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+            }
+        }
+    }
+
+    api: {
+        name: "get"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        return_type_hidl: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+        }
+    }
+
+    api: {
+        name: "set"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+        }
+    }
+
+    api: {
+        name: "subscribe"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IVehicleCallback"
+            is_callback: true
+        }
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::automotive::vehicle::V2_0::SubscribeOptions"
+            }
+        }
+    }
+
+    api: {
+        name: "unsubscribe"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        arg: {
+            type: TYPE_HIDL_CALLBACK
+            predefined_type: "IVehicleCallback"
+            is_callback: true
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+        }
+    }
+
+    api: {
+        name: "debugDump"
+        return_type_hidl: {
+            type: TYPE_STRING
+        }
+    }
+
+}
diff --git a/automotive/vehicle/2.0/vts/VehicleCallback.vts b/automotive/vehicle/2.0/vts/VehicleCallback.vts
new file mode 100644
index 0000000..3589fde
--- /dev/null
+++ b/automotive/vehicle/2.0/vts/VehicleCallback.vts
@@ -0,0 +1,45 @@
+component_class: HAL_HIDL
+component_type_version: 2.0
+component_name: "IVehicleCallback"
+
+package: "android.hardware.automotive.vehicle"
+
+import: "android.hardware.automotive.vehicle@2.0::types"
+
+interface: {
+    api: {
+        name: "onPropertyEvent"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_STRUCT
+                predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+            }
+        }
+    }
+
+    api: {
+        name: "onPropertySet"
+        arg: {
+            type: TYPE_STRUCT
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
+        }
+    }
+
+    api: {
+        name: "onPropertySetError"
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
+        }
+        arg: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
+        }
+        arg: {
+            type: TYPE_SCALAR
+            scalar_type: "int32_t"
+        }
+    }
+
+}
diff --git a/vehicle/2.0/vts/types.vts b/automotive/vehicle/2.0/vts/types.vts
similarity index 91%
rename from vehicle/2.0/vts/types.vts
rename to automotive/vehicle/2.0/vts/types.vts
index 067a7d6..b8a9f83 100644
--- a/vehicle/2.0/vts/types.vts
+++ b/automotive/vehicle/2.0/vts/types.vts
@@ -2,11 +2,11 @@
 component_type_version: 2.0
 component_name: "types"
 
-package: "android.hardware.vehicle"
+package: "android.hardware.automotive.vehicle"
 
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropertyType"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyType"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -55,7 +55,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleArea"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleArea"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -92,7 +92,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropertyGroup"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyGroup"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -113,7 +113,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleProperty"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -510,7 +510,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleHvacFanDirection"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleHvacFanDirection"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -539,7 +539,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleRadioConstants"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleRadioConstants"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -552,7 +552,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusRequest"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusRequest"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -581,7 +581,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusState"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusState"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -614,7 +614,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioStreamFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioStreamFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -635,7 +635,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioStream"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioStream"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -652,7 +652,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioExtFocusFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioExtFocusFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -681,7 +681,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioFocusIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioFocusIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -706,7 +706,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioContextFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioContextFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -767,7 +767,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeCapabilityFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeCapabilityFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -784,7 +784,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeState"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeState"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -801,7 +801,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -822,7 +822,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioVolumeLimitIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioVolumeLimitIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -839,7 +839,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioRoutingPolicyIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioRoutingPolicyIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -856,7 +856,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAudioHwVariantConfigFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAudioHwVariantConfigFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -869,7 +869,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateConfigFlag"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateConfigFlag"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -886,7 +886,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerState"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerState"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -915,7 +915,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateShutdownParam"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateShutdownParam"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -936,7 +936,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerSetState"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerSetState"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -973,7 +973,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerStateIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerStateIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -990,7 +990,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleApPowerBootupReason"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleApPowerBootupReason"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1011,7 +1011,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleHwKeyInputAction"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleHwKeyInputAction"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1028,7 +1028,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleDisplay"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleDisplay"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1045,7 +1045,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleInstrumentClusterType"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleInstrumentClusterType"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1066,7 +1066,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleUnit"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleUnit"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1135,7 +1135,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyChangeMode"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1164,7 +1164,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyAccess"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1189,7 +1189,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleDrivingStatus"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleDrivingStatus"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1222,7 +1222,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleGear"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleGear"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1287,7 +1287,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaZone"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaZone"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1364,7 +1364,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaSeat"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaSeat"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1409,7 +1409,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaWindow"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaWindow"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1454,7 +1454,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaDoor"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaDoor"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1495,7 +1495,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaMirror"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaMirror"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1516,7 +1516,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleTurnSignal"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleTurnSignal"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1541,7 +1541,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaConfig"
     type: TYPE_STRUCT
     struct_value: {
         name: "areaId"
@@ -1581,22 +1581,22 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropConfig"
     type: TYPE_STRUCT
     struct_value: {
         name: "prop"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
     }
     struct_value: {
         name: "access"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyAccess"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyAccess"
     }
     struct_value: {
         name: "changeMode"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropertyChangeMode"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyChangeMode"
     }
     struct_value: {
         name: "supportedAreas"
@@ -1608,7 +1608,7 @@
         type: TYPE_VECTOR
         vector_value: {
             type: TYPE_STRUCT
-            predefined_type: "::android::hardware::vehicle::V2_0::VehicleAreaConfig"
+            predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleAreaConfig"
         }
     }
     struct_value: {
@@ -1641,10 +1641,10 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropValue"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue"
     type: TYPE_STRUCT
     sub_struct: {
-        name: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+        name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue::RawValue"
         type: TYPE_STRUCT
         struct_value: {
             name: "int32Values"
@@ -1686,7 +1686,7 @@
     struct_value: {
         name: "prop"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
     }
     struct_value: {
         name: "timestamp"
@@ -1701,12 +1701,12 @@
     struct_value: {
         name: "value"
         type: TYPE_STRUCT
-        predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue::RawValue"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehiclePropValue::RawValue"
     }
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehicleIgnitionState"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehicleIgnitionState"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1739,7 +1739,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::VehiclePropertyOperation"
+    name: "::android::hardware::automotive::vehicle::V2_0::VehiclePropertyOperation"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1764,7 +1764,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+    name: "::android::hardware::automotive::vehicle::V2_0::SubscribeFlags"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1789,12 +1789,12 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::SubscribeOptions"
+    name: "::android::hardware::automotive::vehicle::V2_0::SubscribeOptions"
     type: TYPE_STRUCT
     struct_value: {
         name: "propId"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::VehicleProperty"
     }
     struct_value: {
         name: "vehicleAreas"
@@ -1809,12 +1809,12 @@
     struct_value: {
         name: "flags"
         type: TYPE_ENUM
-        predefined_type: "::android::hardware::vehicle::V2_0::SubscribeFlags"
+        predefined_type: "::android::hardware::automotive::vehicle::V2_0::SubscribeFlags"
     }
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::StatusCode"
+    name: "::android::hardware::automotive::vehicle::V2_0::StatusCode"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1847,7 +1847,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::FuelSystemStatus"
+    name: "::android::hardware::automotive::vehicle::V2_0::FuelSystemStatus"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1876,7 +1876,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::IgnitionMonitorKind"
+    name: "::android::hardware::automotive::vehicle::V2_0::IgnitionMonitorKind"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1893,7 +1893,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::CommonIgnitionMonitors"
+    name: "::android::hardware::automotive::vehicle::V2_0::CommonIgnitionMonitors"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -1926,7 +1926,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::SparkIgnitionMonitors"
+    name: "::android::hardware::automotive::vehicle::V2_0::SparkIgnitionMonitors"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -2023,7 +2023,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::CompressionIgnitionMonitors"
+    name: "::android::hardware::automotive::vehicle::V2_0::CompressionIgnitionMonitors"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -2104,7 +2104,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::SecondaryAirStatus"
+    name: "::android::hardware::automotive::vehicle::V2_0::SecondaryAirStatus"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -2129,7 +2129,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::FuelType"
+    name: "::android::hardware::automotive::vehicle::V2_0::FuelType"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -2234,7 +2234,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::Obd2IntegerSensorIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::Obd2IntegerSensorIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
@@ -2371,7 +2371,7 @@
 }
 
 attribute: {
-    name: "::android::hardware::vehicle::V2_0::Obd2FloatSensorIndex"
+    name: "::android::hardware::automotive::vehicle::V2_0::Obd2FloatSensorIndex"
     type: TYPE_ENUM
     enum_value: {
         scalar_type: "int32_t"
diff --git a/vehicle/Android.bp b/automotive/vehicle/Android.bp
similarity index 100%
rename from vehicle/Android.bp
rename to automotive/vehicle/Android.bp
diff --git a/benchmarks/msgq/1.0/Android.bp b/benchmarks/msgq/1.0/Android.bp
index 8c853d8..de84e81 100644
--- a/benchmarks/msgq/1.0/Android.bp
+++ b/benchmarks/msgq/1.0/Android.bp
@@ -1,5 +1,12 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.benchmarks.msgq@1.0_hal",
+    srcs: [
+        "IBenchmarkMsgQ.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.benchmarks.msgq@1.0_genc++",
     tools: ["hidl-gen"],
@@ -50,98 +57,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.benchmarks.msgq.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.benchmarks.msgq@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/benchmarks/msgq/1.0/ $(genDir)/android/hardware/benchmarks/msgq/1.0/",
-    srcs: [
-        "IBenchmarkMsgQ.hal",
-    ],
-    out: [
-        "android/hardware/benchmarks/msgq/1.0/BenchmarkMsgQ.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.benchmarks.msgq.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.benchmarks.msgq@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/benchmarks/msgq/1.0/ $(genDir)/android/hardware/benchmarks/msgq/1.0/",
-    srcs: [
-        "IBenchmarkMsgQ.hal",
-    ],
-    out: [
-        "android/hardware/benchmarks/msgq/1.0/BenchmarkMsgQ.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.benchmarks.msgq.vts.driver@1.0",
-    generated_sources: ["android.hardware.benchmarks.msgq.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.benchmarks.msgq.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.benchmarks.msgq.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.benchmarks.msgq@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.benchmarks.msgq@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.benchmarks.msgq@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/benchmarks/msgq/1.0/ $(genDir)/android/hardware/benchmarks/msgq/1.0/",
-    srcs: [
-        "IBenchmarkMsgQ.hal",
-    ],
-    out: [
-        "android/hardware/benchmarks/msgq/1.0/BenchmarkMsgQ.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.benchmarks.msgq@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.benchmarks.msgq@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/benchmarks/msgq/1.0/ $(genDir)/android/hardware/benchmarks/msgq/1.0/",
-    srcs: [
-        "IBenchmarkMsgQ.hal",
-    ],
-    out: [
-        "android/hardware/benchmarks/msgq/1.0/BenchmarkMsgQ.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.benchmarks.msgq@1.0-vts.profiler",
-    generated_sources: ["android.hardware.benchmarks.msgq@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.benchmarks.msgq@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.benchmarks.msgq@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.benchmarks.msgq@1.0",
-    ],
-}
diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp
index f3e5a62..f2c394b 100644
--- a/bluetooth/1.0/Android.bp
+++ b/bluetooth/1.0/Android.bp
@@ -1,5 +1,14 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.bluetooth@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IBluetoothHci.hal",
+        "IBluetoothHciCallbacks.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.bluetooth@1.0_genc++",
     tools: ["hidl-gen"],
@@ -62,114 +71,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.bluetooth.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.bluetooth@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/bluetooth/1.0/ $(genDir)/android/hardware/bluetooth/1.0/",
-    srcs: [
-        "types.hal",
-        "IBluetoothHci.hal",
-        "IBluetoothHciCallbacks.hal",
-    ],
-    out: [
-        "android/hardware/bluetooth/1.0/types.vts.cpp",
-        "android/hardware/bluetooth/1.0/BluetoothHci.vts.cpp",
-        "android/hardware/bluetooth/1.0/BluetoothHciCallbacks.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.bluetooth.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.bluetooth@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/bluetooth/1.0/ $(genDir)/android/hardware/bluetooth/1.0/",
-    srcs: [
-        "types.hal",
-        "IBluetoothHci.hal",
-        "IBluetoothHciCallbacks.hal",
-    ],
-    out: [
-        "android/hardware/bluetooth/1.0/types.vts.h",
-        "android/hardware/bluetooth/1.0/BluetoothHci.vts.h",
-        "android/hardware/bluetooth/1.0/BluetoothHciCallbacks.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.bluetooth.vts.driver@1.0",
-    generated_sources: ["android.hardware.bluetooth.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.bluetooth.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.bluetooth.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.bluetooth@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.bluetooth@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.bluetooth@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/bluetooth/1.0/ $(genDir)/android/hardware/bluetooth/1.0/",
-    srcs: [
-        "types.hal",
-        "IBluetoothHci.hal",
-        "IBluetoothHciCallbacks.hal",
-    ],
-    out: [
-        "android/hardware/bluetooth/1.0/types.vts.cpp",
-        "android/hardware/bluetooth/1.0/BluetoothHci.vts.cpp",
-        "android/hardware/bluetooth/1.0/BluetoothHciCallbacks.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.bluetooth@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.bluetooth@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/bluetooth/1.0/ $(genDir)/android/hardware/bluetooth/1.0/",
-    srcs: [
-        "types.hal",
-        "IBluetoothHci.hal",
-        "IBluetoothHciCallbacks.hal",
-    ],
-    out: [
-        "android/hardware/bluetooth/1.0/types.vts.h",
-        "android/hardware/bluetooth/1.0/BluetoothHci.vts.h",
-        "android/hardware/bluetooth/1.0/BluetoothHciCallbacks.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.bluetooth@1.0-vts.profiler",
-    generated_sources: ["android.hardware.bluetooth@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.bluetooth@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.bluetooth@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.bluetooth@1.0",
-    ],
-}
diff --git a/bluetooth/1.0/default/bluetooth_address.cc b/bluetooth/1.0/default/bluetooth_address.cc
index b917de9..656d78d 100644
--- a/bluetooth/1.0/default/bluetooth_address.cc
+++ b/bluetooth/1.0/default/bluetooth_address.cc
@@ -83,6 +83,34 @@
     valid_bda = true;
   }
 
+  /* Generate new BDA if necessary */
+  if (!valid_bda) {
+    char bdstr[kStringLength + 1];
+
+    /* No autogen BDA. Generate one now. */
+    local_addr[0] = 0x22;
+    local_addr[1] = 0x22;
+    local_addr[2] = (uint8_t)rand();
+    local_addr[3] = (uint8_t)rand();
+    local_addr[4] = (uint8_t)rand();
+    local_addr[5] = (uint8_t)rand();
+
+    /* Convert to ascii, and store as a persistent property */
+    bytes_to_string(local_addr, bdstr);
+
+    ALOGE("%s: No preset BDA! Generating BDA: %s for prop %s", __func__,
+          (char*)bdstr, PERSIST_BDADDR_PROPERTY);
+    ALOGE("%s: This is a bug in the platform!  Please fix!", __func__);
+
+    if (property_set(PERSIST_BDADDR_PROPERTY, (char*)bdstr) < 0) {
+      ALOGE("%s: Failed to set random BDA in prop %s", __func__,
+            PERSIST_BDADDR_PROPERTY);
+      valid_bda = false;
+    } else {
+      valid_bda = true;
+    }
+  }
+
   return valid_bda;
 }
 
diff --git a/bluetooth/1.0/default/test/bluetooth_address_test.cc b/bluetooth/1.0/default/test/bluetooth_address_test.cc
index 9f80ec2..adcd9c1 100644
--- a/bluetooth/1.0/default/test/bluetooth_address_test.cc
+++ b/bluetooth/1.0/default/test/bluetooth_address_test.cc
@@ -219,10 +219,18 @@
   EXPECT_TRUE(BluetoothAddress::get_local_address(address));
   EXPECT_TRUE(memcmp(address, kTestAddr1_bytes, BluetoothAddress::kBytes) == 0);
 
-  // File contains a zero address.
+  // File contains a zero address.  A random address will be generated.
   FileWriteString(kAddrPath, kZeros);
   EXPECT_TRUE(property_set(PROPERTY_BT_BDADDR_PATH, kAddrPath) == 0);
-  EXPECT_FALSE(BluetoothAddress::get_local_address(address));
+  EXPECT_TRUE(property_set(PERSIST_BDADDR_PROPERTY, kTestAddrBad1) == 0);
+  EXPECT_TRUE(BluetoothAddress::get_local_address(address));
+  EXPECT_TRUE(memcmp(address, kZeros_bytes, BluetoothAddress::kBytes) != 0);
+  char prop[PROP_VALUE_MAX] = "Before reading";
+  EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) ==
+              BluetoothAddress::kStringLength);
+  char address_str[BluetoothAddress::kStringLength + 1];
+  BluetoothAddress::bytes_to_string(address, address_str);
+  EXPECT_TRUE(memcmp(address_str, prop, BluetoothAddress::kStringLength) == 0);
 
   // Factory property contains an address.
   EXPECT_TRUE(property_set(PERSIST_BDADDR_PROPERTY, kTestAddrBad1) == 0);
diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp
index 2ac5498..9dcabc4 100644
--- a/boot/1.0/Android.bp
+++ b/boot/1.0/Android.bp
@@ -1,5 +1,13 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.boot@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IBootControl.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.boot@1.0_genc++",
     tools: ["hidl-gen"],
@@ -54,106 +62,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.boot.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.boot@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
-    srcs: [
-        "types.hal",
-        "IBootControl.hal",
-    ],
-    out: [
-        "android/hardware/boot/1.0/types.vts.cpp",
-        "android/hardware/boot/1.0/BootControl.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.boot.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.boot@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
-    srcs: [
-        "types.hal",
-        "IBootControl.hal",
-    ],
-    out: [
-        "android/hardware/boot/1.0/types.vts.h",
-        "android/hardware/boot/1.0/BootControl.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.boot.vts.driver@1.0",
-    generated_sources: ["android.hardware.boot.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.boot.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.boot.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.boot@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.boot@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.boot@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
-    srcs: [
-        "types.hal",
-        "IBootControl.hal",
-    ],
-    out: [
-        "android/hardware/boot/1.0/types.vts.cpp",
-        "android/hardware/boot/1.0/BootControl.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.boot@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.boot@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/boot/1.0/ $(genDir)/android/hardware/boot/1.0/",
-    srcs: [
-        "types.hal",
-        "IBootControl.hal",
-    ],
-    out: [
-        "android/hardware/boot/1.0/types.vts.h",
-        "android/hardware/boot/1.0/BootControl.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.boot@1.0-vts.profiler",
-    generated_sources: ["android.hardware.boot@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.boot@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.boot@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.boot@1.0",
-    ],
-}
diff --git a/camera/device/3.2/default/Android.bp b/camera/device/3.2/default/Android.bp
index 40d4253..62e3c3e 100644
--- a/camera/device/3.2/default/Android.bp
+++ b/camera/device/3.2/default/Android.bp
@@ -1,5 +1,5 @@
 cc_library_shared {
-    name: "android.hardware.camera.device@3.2-impl",
+    name: "camera.device@3.2-impl",
     srcs: ["CameraDevice.cpp",
            "CameraDeviceSession.cpp",
            "convert.cpp"],
@@ -20,27 +20,3 @@
     ],
     export_include_dirs: ["."]
 }
-
-cc_library_shared {
-    name: "android.hardware.camera.device@3.2-impl-binderized",
-    srcs: ["CameraDevice.cpp",
-           "CameraDeviceSession.cpp",
-           "convert.cpp"],
-    cppflags: ["-DBINDERIZED"],
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libcutils",
-        "android.hardware.camera.device@3.2",
-        "android.hardware.camera.provider@2.4",
-        "liblog",
-        "libhardware",
-        "libcamera_metadata"
-    ],
-    static_libs: [
-        "android.hardware.camera.common@1.0-helper"
-    ],
-    export_include_dirs: ["."]
-}
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 26b7b73..b47a220 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -118,9 +118,6 @@
 private:
     bool mInitialized;
 
-    // Some existing gralloc drivers do not support retaining more than once,
-    // when we are in passthrough mode.
-#ifdef BINDERIZED
     bool openGralloc()
     {
         const hw_module_t* module;
@@ -209,12 +206,6 @@
 
     // gralloc0
     const gralloc_module_t* mModule;
-#else
-    bool openGralloc() { return true; }
-    void closeGralloc() {}
-    buffer_handle_t cloneBuffer(buffer_handle_t handle) { return handle; }
-    void releaseBuffer(buffer_handle_t) {}
-#endif
 };
 
 HandleImporter sHandleImporter;
diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp
index ee40ce5..e29f62c 100644
--- a/camera/provider/2.4/default/Android.bp
+++ b/camera/provider/2.4/default/Android.bp
@@ -10,7 +10,7 @@
         "libcutils",
         "android.hardware.camera.device@1.0",
         "android.hardware.camera.device@3.2",
-        "android.hardware.camera.device@3.2-impl",
+        "camera.device@3.2-impl",
         "android.hardware.camera.provider@2.4",
         "android.hardware.camera.common@1.0",
         "liblog",
@@ -25,7 +25,7 @@
 cc_binary {
     name: "android.hardware.camera.provider@2.4-service",
     relative_install_path: "hw",
-    srcs: ["service.cpp", "CameraProvider.cpp"],
+    srcs: ["service.cpp"],
     compile_multilib: "32",
     init_rc: ["android.hardware.camera.provider@2.4-service.rc"],
     shared_libs: [
@@ -40,7 +40,6 @@
         "android.hardware.camera.provider@2.4",
         "android.hardware.camera.common@1.0",
         "libcutils",
-        "android.hardware.camera.device@3.2-impl-binderized",
         "libcamera_metadata"
     ],
     static_libs: [
diff --git a/camera/provider/2.4/default/service.cpp b/camera/provider/2.4/default/service.cpp
index 9600559..cf66e04 100644
--- a/camera/provider/2.4/default/service.cpp
+++ b/camera/provider/2.4/default/service.cpp
@@ -17,41 +17,13 @@
 #define LOG_TAG "android.hardware.camera.provider@2.4-service"
 
 #include <android/hardware/camera/provider/2.4/ICameraProvider.h>
-#include <CameraProvider.h>
-
-#include <hidl/HidlTransportSupport.h>
 #include <hidl/LegacySupport.h>
-#include <utils/StrongPointer.h>
 
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-using android::sp;
 using android::hardware::camera::provider::V2_4::ICameraProvider;
-using android::hardware::camera::provider::V2_4::implementation::HIDL_FETCH_ICameraProvider;
+using android::hardware::defaultPassthroughServiceImplementation;
 
 int main()
 {
-    const char instance[] = "legacy/0";
-
-    // TODO(b/34817742): use defaultServicePassthroughImplementation
-    // so that the toggle is implemented correctly
-    using ::android::hardware::details::blockIfBinderizationDisabled;
-    blockIfBinderizationDisabled(ICameraProvider::descriptor, instance);
-
     ALOGI("Camera provider Service is starting.");
-
-    configureRpcThreadpool(1, true /* callerWillJoin */);
-    // TODO (b/34510650): check the passthrough/binderized dev key
-    sp<ICameraProvider> service = HIDL_FETCH_ICameraProvider(instance);
-    if (service == nullptr) {
-        ALOGI("Camera provider getService returned NULL");
-        return -1;
-    }
-
-    LOG_FATAL_IF(service->isRemote(), "Camera provider service is REMOTE!");
-
-    service->registerAsService(instance);
-    joinRpcThreadpool();
-
-    return 0;
+    return defaultPassthroughServiceImplementation<ICameraProvider>("legacy/0");
 }
\ No newline at end of file
diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp
index 45e308a..5628952 100644
--- a/ir/1.0/Android.bp
+++ b/ir/1.0/Android.bp
@@ -1,5 +1,13 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.ir@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IConsumerIr.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.ir@1.0_genc++",
     tools: ["hidl-gen"],
@@ -54,106 +62,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.ir.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.ir@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
-    srcs: [
-        "types.hal",
-        "IConsumerIr.hal",
-    ],
-    out: [
-        "android/hardware/ir/1.0/types.vts.cpp",
-        "android/hardware/ir/1.0/ConsumerIr.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.ir.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.ir@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
-    srcs: [
-        "types.hal",
-        "IConsumerIr.hal",
-    ],
-    out: [
-        "android/hardware/ir/1.0/types.vts.h",
-        "android/hardware/ir/1.0/ConsumerIr.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.ir.vts.driver@1.0",
-    generated_sources: ["android.hardware.ir.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.ir.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.ir.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.ir@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.ir@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.ir@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
-    srcs: [
-        "types.hal",
-        "IConsumerIr.hal",
-    ],
-    out: [
-        "android/hardware/ir/1.0/types.vts.cpp",
-        "android/hardware/ir/1.0/ConsumerIr.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.ir@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.ir@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/ir/1.0/ $(genDir)/android/hardware/ir/1.0/",
-    srcs: [
-        "types.hal",
-        "IConsumerIr.hal",
-    ],
-    out: [
-        "android/hardware/ir/1.0/types.vts.h",
-        "android/hardware/ir/1.0/ConsumerIr.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.ir@1.0-vts.profiler",
-    generated_sources: ["android.hardware.ir@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.ir@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.ir@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.ir@1.0",
-    ],
-}
diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp
index e1c06c6..7f228a7 100644
--- a/nfc/1.0/Android.bp
+++ b/nfc/1.0/Android.bp
@@ -1,5 +1,14 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.nfc@1.0_hal",
+    srcs: [
+        "types.hal",
+        "INfc.hal",
+        "INfcClientCallback.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.nfc@1.0_genc++",
     tools: ["hidl-gen"],
@@ -62,114 +71,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.nfc.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.nfc@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
-    srcs: [
-        "types.hal",
-        "INfc.hal",
-        "INfcClientCallback.hal",
-    ],
-    out: [
-        "android/hardware/nfc/1.0/types.vts.cpp",
-        "android/hardware/nfc/1.0/Nfc.vts.cpp",
-        "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.nfc.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.nfc@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
-    srcs: [
-        "types.hal",
-        "INfc.hal",
-        "INfcClientCallback.hal",
-    ],
-    out: [
-        "android/hardware/nfc/1.0/types.vts.h",
-        "android/hardware/nfc/1.0/Nfc.vts.h",
-        "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.nfc.vts.driver@1.0",
-    generated_sources: ["android.hardware.nfc.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.nfc.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.nfc.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.nfc@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.nfc@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.nfc@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
-    srcs: [
-        "types.hal",
-        "INfc.hal",
-        "INfcClientCallback.hal",
-    ],
-    out: [
-        "android/hardware/nfc/1.0/types.vts.cpp",
-        "android/hardware/nfc/1.0/Nfc.vts.cpp",
-        "android/hardware/nfc/1.0/NfcClientCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.nfc@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.nfc@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/nfc/1.0/ $(genDir)/android/hardware/nfc/1.0/",
-    srcs: [
-        "types.hal",
-        "INfc.hal",
-        "INfcClientCallback.hal",
-    ],
-    out: [
-        "android/hardware/nfc/1.0/types.vts.h",
-        "android/hardware/nfc/1.0/Nfc.vts.h",
-        "android/hardware/nfc/1.0/NfcClientCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.nfc@1.0-vts.profiler",
-    generated_sources: ["android.hardware.nfc@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.nfc@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.nfc@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.nfc@1.0",
-    ],
-}
diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp
index 7bff574..d9df910 100644
--- a/radio/1.0/Android.bp
+++ b/radio/1.0/Android.bp
@@ -1,5 +1,17 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.radio@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IRadio.hal",
+        "IRadioIndication.hal",
+        "IRadioResponse.hal",
+        "ISap.hal",
+        "ISapCallback.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.radio@1.0_genc++",
     tools: ["hidl-gen"],
@@ -86,138 +98,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.radio.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.radio@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
-    srcs: [
-        "types.hal",
-        "IRadio.hal",
-        "IRadioIndication.hal",
-        "IRadioResponse.hal",
-        "ISap.hal",
-        "ISapCallback.hal",
-    ],
-    out: [
-        "android/hardware/radio/1.0/types.vts.cpp",
-        "android/hardware/radio/1.0/Radio.vts.cpp",
-        "android/hardware/radio/1.0/RadioIndication.vts.cpp",
-        "android/hardware/radio/1.0/RadioResponse.vts.cpp",
-        "android/hardware/radio/1.0/Sap.vts.cpp",
-        "android/hardware/radio/1.0/SapCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.radio.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.radio@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
-    srcs: [
-        "types.hal",
-        "IRadio.hal",
-        "IRadioIndication.hal",
-        "IRadioResponse.hal",
-        "ISap.hal",
-        "ISapCallback.hal",
-    ],
-    out: [
-        "android/hardware/radio/1.0/types.vts.h",
-        "android/hardware/radio/1.0/Radio.vts.h",
-        "android/hardware/radio/1.0/RadioIndication.vts.h",
-        "android/hardware/radio/1.0/RadioResponse.vts.h",
-        "android/hardware/radio/1.0/Sap.vts.h",
-        "android/hardware/radio/1.0/SapCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.radio.vts.driver@1.0",
-    generated_sources: ["android.hardware.radio.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.radio.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.radio.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.radio@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.radio@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.radio@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
-    srcs: [
-        "types.hal",
-        "IRadio.hal",
-        "IRadioIndication.hal",
-        "IRadioResponse.hal",
-        "ISap.hal",
-        "ISapCallback.hal",
-    ],
-    out: [
-        "android/hardware/radio/1.0/types.vts.cpp",
-        "android/hardware/radio/1.0/Radio.vts.cpp",
-        "android/hardware/radio/1.0/RadioIndication.vts.cpp",
-        "android/hardware/radio/1.0/RadioResponse.vts.cpp",
-        "android/hardware/radio/1.0/Sap.vts.cpp",
-        "android/hardware/radio/1.0/SapCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.radio@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.radio@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/radio/1.0/ $(genDir)/android/hardware/radio/1.0/",
-    srcs: [
-        "types.hal",
-        "IRadio.hal",
-        "IRadioIndication.hal",
-        "IRadioResponse.hal",
-        "ISap.hal",
-        "ISapCallback.hal",
-    ],
-    out: [
-        "android/hardware/radio/1.0/types.vts.h",
-        "android/hardware/radio/1.0/Radio.vts.h",
-        "android/hardware/radio/1.0/RadioIndication.vts.h",
-        "android/hardware/radio/1.0/RadioResponse.vts.h",
-        "android/hardware/radio/1.0/Sap.vts.h",
-        "android/hardware/radio/1.0/SapCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.radio@1.0-vts.profiler",
-    generated_sources: ["android.hardware.radio@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.radio@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.radio@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.radio@1.0",
-    ],
-}
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index fbec8d1..924b3ab 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -1,5 +1,17 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.bar@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IBar.hal",
+        "IComplicated.hal",
+        "IFooCallback.hal",
+        "IImportRules.hal",
+        "IImportTypes.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.bar@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index 4106838..1cf71b6 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -1,5 +1,15 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.baz@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IBase.hal",
+        "IBaz.hal",
+        "IBazCallback.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.baz@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index bb7aedd..1730aba 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -1,5 +1,13 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.expression@1.0_hal",
+    srcs: [
+        "IExpression.hal",
+        "IExpressionExt.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.expression@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index 8294c65..c65d3cf 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -1,5 +1,17 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.foo@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IFoo.hal",
+        "IFooCallback.hal",
+        "IMyTypes.hal",
+        "ISimple.hal",
+        "ITheirTypes.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.foo@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index 4389147..433e9ac 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -1,5 +1,15 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.inheritance@1.0_hal",
+    srcs: [
+        "IChild.hal",
+        "IFetcher.hal",
+        "IGrandparent.hal",
+        "IParent.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.inheritance@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index 8c27225..1d0b4b5 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -1,5 +1,12 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.libhwbinder@1.0_hal",
+    srcs: [
+        "IBenchmark.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.libhwbinder@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/memory/1.0/Android.bp b/tests/memory/1.0/Android.bp
index d8fe811..3f27810 100644
--- a/tests/memory/1.0/Android.bp
+++ b/tests/memory/1.0/Android.bp
@@ -1,5 +1,12 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.memory@1.0_hal",
+    srcs: [
+        "IMemoryTest.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.memory@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index 669722e..39fef89 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -1,5 +1,12 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.msgq@1.0_hal",
+    srcs: [
+        "ITestMsgQ.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.msgq@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index be7f873..e40003d 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -1,5 +1,13 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.tests.pointer@1.0_hal",
+    srcs: [
+        "IGraph.hal",
+        "IPointer.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.tests.pointer@1.0_genc++",
     tools: ["hidl-gen"],
diff --git a/thermal/1.0/default/service.cpp b/thermal/1.0/default/service.cpp
index ea86de4..b83cbf8 100644
--- a/thermal/1.0/default/service.cpp
+++ b/thermal/1.0/default/service.cpp
@@ -23,5 +23,5 @@
 using android::hardware::defaultPassthroughServiceImplementation;
 
 int main() {
-    return defaultPassthroughServiceImplementation<IThermal>("thermal");
+    return defaultPassthroughServiceImplementation<IThermal>();
 }
diff --git a/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp b/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
index 3c887c8..5bdd2c2 100644
--- a/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
+++ b/thermal/1.0/vts/functional/thermal_hidl_hal_test.cpp
@@ -40,7 +40,6 @@
 using ::android::hardware::Void;
 using ::android::sp;
 
-#define THERMAL_SERVICE_NAME "thermal"
 #define MONITORING_OPERATION_NUMBER 10
 
 #define MAX_DEVICE_TEMPERATURE 200
@@ -50,7 +49,7 @@
 class ThermalHidlTest : public ::testing::Test {
  public:
   virtual void SetUp() override {
-    thermal_ = IThermal::getService(THERMAL_SERVICE_NAME);
+    thermal_ = IThermal::getService();
     ASSERT_NE(thermal_, nullptr);
     baseSize_ = 0;
     names_.clear();
diff --git a/tv/input/1.0/default/TvInput.cpp b/tv/input/1.0/default/TvInput.cpp
index 4cd1d40..6fcb2e5 100644
--- a/tv/input/1.0/default/TvInput.cpp
+++ b/tv/input/1.0/default/TvInput.cpp
@@ -98,6 +98,8 @@
                 ++pos;
             }
         }
+    } else if (ret == -EINVAL) {
+        res = Result::INVALID_ARGUMENTS;
     }
     cb(res, tvStreamConfigs);
     return Void();
diff --git a/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp b/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
index 1279ecd..3747dc5 100644
--- a/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
+++ b/tv/input/1.0/vts/functional/tv_input_hidl_hal_test.cpp
@@ -22,6 +22,9 @@
 #include <android/hardware/tv/input/1.0/ITvInputCallback.h>
 
 #include <gtest/gtest.h>
+#include <utils/KeyedVector.h>
+#include <mutex>
+#include <vector>
 
 using ::android::hardware::tv::input::V1_0::ITvInput;
 using ::android::hardware::tv::input::V1_0::ITvInputCallback;
@@ -33,44 +36,158 @@
 using ::android::hardware::tv::input::V1_0::TvStreamConfig;
 using ::android::hardware::Return;
 using ::android::hardware::Void;
+using ::android::hardware::hidl_vec;
 using ::android::sp;
 
+#define WAIT_FOR_EVENT_TIMEOUT 5
+#define DEFAULT_ID INT32_MIN
 
-// Simple ITvInputCallback used as part of testing.
-class TvInputCallback : public ITvInputCallback {
-  public:
-   TvInputCallback() {};
-
-   virtual ~TvInputCallback() = default;
-
-   // notify callback function - currently no-op.
-   // TODO: modify it later.
-   Return<void> notify(const TvInputEvent& event) override {
-     return Void();
-   };
-};
-
-
-// The main test class for TV Input HIDL HAL.
+/* The main test class for TV Input HIDL HAL. */
 class TvInputHidlTest : public ::testing::Test {
  public:
   virtual void SetUp() override {
-    // currently test passthrough mode only
-    tv_input = ITvInput::getService();
-    ASSERT_NE(tv_input, nullptr);
-
-    tv_input_callback = new TvInputCallback();
-    ASSERT_NE(tv_input_callback, nullptr);
+    tv_input_ = ITvInput::getService();
+    ASSERT_NE(tv_input_, nullptr);
+    tv_input_callback_ = new TvInputCallback(*this);
+    ASSERT_NE(tv_input_callback_, nullptr);
+    tv_input_->setCallback(tv_input_callback_);
+    // All events received within the timeout should be handled.
+    sleep(WAIT_FOR_EVENT_TIMEOUT);
   }
 
   virtual void TearDown() override {}
 
-  sp<ITvInput> tv_input;
-  sp<ITvInputCallback> tv_input_callback;
+  /* Called when a DEVICE_AVAILABLE event is received. */
+  void onDeviceAvailable(const TvInputDeviceInfo& deviceInfo) {
+    device_info_.add(deviceInfo.deviceId, deviceInfo);
+  }
+
+  /* Called when a DEVICE_UNAVAILABLE event is received. */
+  void onDeviceUnavailable(int32_t deviceId) {
+    device_info_.removeItem(deviceId);
+  }
+
+  /* Called when a DEVICE_CONFIGURATIONS_CHANGED event is received. */
+  Result onStreamConfigurationsChanged(int32_t deviceId) {
+    return updateStreamConfigurations(deviceId);
+  }
+
+  /* Gets and updates the stream configurations for a device. */
+  Result updateStreamConfigurations(int32_t deviceId) {
+    stream_config_.removeItem(deviceId);
+    Result result = Result::UNKNOWN;
+    hidl_vec<TvStreamConfig> list;
+    tv_input_->getStreamConfigurations(deviceId,
+        [&result, &list](Result res, hidl_vec<TvStreamConfig> configs) {
+          result = res;
+          if (res == Result::OK) {
+            list = configs;
+          }
+        });
+    if (result == Result::OK) {
+      stream_config_.add(deviceId, list);
+    }
+    return result;
+  }
+
+  /* Gets and updates the stream configurations for all existing devices. */
+  void updateAllStreamConfigurations() {
+    for (size_t i = 0; i < device_info_.size(); i++) {
+      int32_t device_id = device_info_.keyAt(i);
+      updateStreamConfigurations(device_id);
+    }
+  }
+
+  /* Returns a list of indices of stream_config_ whose corresponding values are not empty. */
+  std::vector<size_t> getConfigIndices() {
+    std::vector<size_t> indices;
+    for (size_t i = 0; i < stream_config_.size(); i++) {
+      if (stream_config_.valueAt(i).size() != 0) {
+        indices.push_back(i);
+      }
+    }
+    return indices;
+  }
+
+  /*
+   * Returns DEFAULT_ID if there is no missing integer in the range [0, the size of nums).
+   * Otherwise, returns the smallest missing non-negative integer.
+   */
+  int32_t getNumNotIn(std::vector<int32_t>& nums) {
+    int32_t result = DEFAULT_ID;
+    int32_t size = static_cast<int32_t>(nums.size());
+    for (int32_t i = 0; i < size; i++) {
+      // Put every element to its target position, if possible.
+      int32_t target_pos = nums[i];
+      while (target_pos >= 0 && target_pos < size && i != target_pos && nums[i] != nums[target_pos]) {
+        std::swap(nums[i], nums[target_pos]);
+        target_pos = nums[i];
+      }
+    }
+
+    for (int32_t i = 0; i < size; i++) {
+      if (nums[i] != i) {
+        return i;
+      }
+    }
+    return result;
+  }
+
+  /* A simple test implementation of TvInputCallback for TV Input Events. */
+  class TvInputCallback : public ITvInputCallback {
+    public:
+     TvInputCallback(TvInputHidlTest& parent) : parent_(parent){};
+
+     virtual ~TvInputCallback() = default;
+
+     /*
+      * Notifies the client that an event has occured. For possible event types,
+      * check TvInputEventType.
+      */
+     Return<void> notify(const TvInputEvent& event) override {
+       std::unique_lock<std::mutex> lock(parent_.mutex_);
+       switch(event.type) {
+         case TvInputEventType::DEVICE_AVAILABLE:
+           parent_.onDeviceAvailable(event.deviceInfo);
+           break;
+         case TvInputEventType::DEVICE_UNAVAILABLE:
+           parent_.onDeviceUnavailable(event.deviceInfo.deviceId);
+           break;
+         case TvInputEventType::STREAM_CONFIGURATIONS_CHANGED:
+           parent_.onStreamConfigurationsChanged(event.deviceInfo.deviceId);
+           break;
+       }
+       return Void();
+     };
+    private:
+     /* The test contains this callback instance. */
+     TvInputHidlTest& parent_;
+  };
+
+  /* The TvInput used for the test. */
+  sp<ITvInput> tv_input_;
+
+  /* The TvInputCallback used for the test. */
+  sp<ITvInputCallback> tv_input_callback_;
+
+  /*
+   * A KeyedVector stores device information of every available device.
+   * A key is a device ID and the corresponding value is the TvInputDeviceInfo.
+   */
+  android::KeyedVector<int32_t, TvInputDeviceInfo> device_info_;
+
+  /*
+   * A KeyedVector stores a list of stream configurations of every available device.
+   * A key is a device ID and the corresponding value is the stream configuration list.
+   */
+  android::KeyedVector<int32_t, hidl_vec<TvStreamConfig>> stream_config_;
+
+  /* The mutex controls the access of shared data. */
+  std::mutex mutex_;
 };
 
 
-// A class for test environment setup.
+/* A class for test environment setup. */
 class TvInputHidlEnvironment : public ::testing::Environment {
  public:
   virtual void SetUp() {}
@@ -79,9 +196,161 @@
  private:
 };
 
-// TODO: remove this test and add meaningful tests.
-TEST_F(TvInputHidlTest, DummyTest) {
-  EXPECT_NE(tv_input, nullptr);
+/*
+ * GetStreamConfigTest:
+ * Calls updateStreamConfigurations() for each existing device
+ * Checks returned results
+ */
+TEST_F(TvInputHidlTest, GetStreamConfigTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+  for (size_t i = 0; i < device_info_.size(); i++) {
+    int32_t device_id = device_info_.keyAt(i);
+    Result result = updateStreamConfigurations(device_id);
+    EXPECT_EQ(Result::OK, result);
+  }
+}
+
+/*
+ * OpenAndCloseStreamTest:
+ * Calls openStream() and then closeStream() for each existing stream
+ * Checks returned results
+ */
+TEST_F(TvInputHidlTest, OpenAndCloseStreamTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+  updateAllStreamConfigurations();
+  for (size_t j = 0; j < stream_config_.size(); j++) {
+    int32_t device_id = stream_config_.keyAt(j);
+    hidl_vec<TvStreamConfig> config = stream_config_.valueAt(j);
+    for (size_t i = 0; i < config.size(); i++) {
+      Result result = Result::UNKNOWN;
+      int32_t stream_id = config[i].streamId;
+      tv_input_->openStream(device_id, stream_id,
+          [&result](Result res, const native_handle_t*) {
+              result = res;
+          });
+      EXPECT_EQ(Result::OK, result);
+
+      result = Result::UNKNOWN;
+      result = tv_input_->closeStream(device_id, stream_id);
+      EXPECT_EQ(Result::OK, result);
+    }
+  }
+}
+
+/*
+ * InvalidDeviceIdTest:
+ * Calls updateStreamConfigurations(), openStream(), and closeStream()
+ * for a non-existing device
+ * Checks returned results
+ * The results should be Result::INVALID_ARGUMENTS
+ */
+TEST_F(TvInputHidlTest, InvalidDeviceIdTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+
+  std::vector<int32_t> device_ids;
+  for (size_t i = 0; i < device_info_.size(); i++) {
+    device_ids.push_back(device_info_.keyAt(i));
+  }
+  // Get a non-existing device ID.
+  int32_t id = getNumNotIn(device_ids);
+  EXPECT_EQ(Result::INVALID_ARGUMENTS, updateStreamConfigurations(id));
+
+  Result result = Result::UNKNOWN;
+  int32_t stream_id = 0;
+  tv_input_->openStream(id, stream_id,
+      [&result](Result res, const native_handle_t*) {
+          result = res;
+      });
+  EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+
+  result = Result::UNKNOWN;
+  result = tv_input_->closeStream(id, stream_id);
+  EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+}
+
+/*
+ * InvalidStreamIdTest:
+ * Calls openStream(), and closeStream() for a non-existing stream
+ * Checks returned results
+ * The results should be Result::INVALID_ARGUMENTS
+ */
+TEST_F(TvInputHidlTest, InvalidStreamIdTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+  if (device_info_.isEmpty()) {
+    return;
+  }
+  updateAllStreamConfigurations();
+
+  int32_t device_id = device_info_.keyAt(0);
+  // Get a non-existing stream ID.
+  int32_t id = DEFAULT_ID;
+  if (stream_config_.indexOfKey(device_id) >= 0) {
+    std::vector<int32_t> stream_ids;
+    hidl_vec<TvStreamConfig> config = stream_config_.valueFor(device_id);
+    for (size_t i = 0; i < config.size(); i++) {
+      stream_ids.push_back(config[i].streamId);
+    }
+    id = getNumNotIn(stream_ids);
+  }
+
+  Result result = Result::UNKNOWN;
+  tv_input_->openStream(device_id, id,
+      [&result](Result res, const native_handle_t*) {
+          result = res;
+      });
+  EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+
+  result = Result::UNKNOWN;
+  result = tv_input_->closeStream(device_id, id);
+  EXPECT_EQ(Result::INVALID_ARGUMENTS, result);
+}
+
+/*
+ * OpenAnOpenedStreamsTest:
+ * Calls openStream() twice for a stream (if any)
+ * Checks returned results
+ * The result of the second call should be Result::INVALID_STATE
+ */
+TEST_F(TvInputHidlTest, OpenAnOpenedStreamsTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+  updateAllStreamConfigurations();
+  std::vector<size_t> indices = getConfigIndices();
+  if (indices.empty()) {
+    return;
+  }
+  int32_t device_id = stream_config_.keyAt(indices[0]);
+  int32_t stream_id = stream_config_.valueAt(indices[0])[0].streamId;
+
+  Result result = Result::UNKNOWN;
+  tv_input_->openStream(device_id, stream_id,
+      [&result](Result res, const native_handle_t*) {
+          result = res;
+      });
+  EXPECT_EQ(Result::OK, result);
+
+  tv_input_->openStream(device_id, stream_id,
+      [&result](Result res, const native_handle_t*) {
+          result = res;
+      });
+  EXPECT_EQ(Result::INVALID_STATE, result);
+}
+
+/*
+ * CloseStreamBeforeOpenTest:
+ * Calls closeStream() without calling openStream() for a stream (if any)
+ * Checks the returned result
+ * The result should be Result::INVALID_STATE
+ */
+TEST_F(TvInputHidlTest, CloseStreamBeforeOpenTest) {
+  std::unique_lock<std::mutex> lock(mutex_);
+  updateAllStreamConfigurations();
+  std::vector<size_t> indices = getConfigIndices();
+  if (indices.empty()) {
+    return;
+  }
+  int32_t device_id = stream_config_.keyAt(indices[0]);
+  int32_t stream_id = stream_config_.valueAt(indices[0])[0].streamId;
+  EXPECT_EQ(Result::INVALID_STATE, tv_input_->closeStream(device_id, stream_id));
 }
 
 int main(int argc, char **argv) {
diff --git a/vehicle/2.0/Android.bp b/vehicle/2.0/Android.bp
deleted file mode 100644
index dfc9d4d..0000000
--- a/vehicle/2.0/Android.bp
+++ /dev/null
@@ -1,175 +0,0 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
-
-genrule {
-    name: "android.hardware.vehicle@2.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0",
-    srcs: [
-        "types.hal",
-        "IVehicle.hal",
-        "IVehicleCallback.hal",
-    ],
-    out: [
-        "android/hardware/vehicle/2.0/types.cpp",
-        "android/hardware/vehicle/2.0/VehicleAll.cpp",
-        "android/hardware/vehicle/2.0/VehicleCallbackAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.vehicle@2.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.vehicle@2.0",
-    srcs: [
-        "types.hal",
-        "IVehicle.hal",
-        "IVehicleCallback.hal",
-    ],
-    out: [
-        "android/hardware/vehicle/2.0/types.h",
-        "android/hardware/vehicle/2.0/IVehicle.h",
-        "android/hardware/vehicle/2.0/IHwVehicle.h",
-        "android/hardware/vehicle/2.0/BnHwVehicle.h",
-        "android/hardware/vehicle/2.0/BpHwVehicle.h",
-        "android/hardware/vehicle/2.0/BsVehicle.h",
-        "android/hardware/vehicle/2.0/IVehicleCallback.h",
-        "android/hardware/vehicle/2.0/IHwVehicleCallback.h",
-        "android/hardware/vehicle/2.0/BnHwVehicleCallback.h",
-        "android/hardware/vehicle/2.0/BpHwVehicleCallback.h",
-        "android/hardware/vehicle/2.0/BsVehicleCallback.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.vehicle@2.0",
-    generated_sources: ["android.hardware.vehicle@2.0_genc++"],
-    generated_headers: ["android.hardware.vehicle@2.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.vehicle@2.0_genc++_headers"],
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "android.hidl.base@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.vehicle.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.vehicle@2.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
-    srcs: [
-        "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/VehicleCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.vehicle.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.vehicle@2.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/vehicle/2.0/ $(genDir)/android/hardware/vehicle/2.0/",
-    srcs: [
-        "types.hal",
-        "IVehicle.hal",
-        "IVehicleCallback.hal",
-    ],
-    out: [
-        "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.vts.driver@2.0",
-    generated_sources: ["android.hardware.vehicle.vts.driver@2.0_genc++"],
-    generated_headers: ["android.hardware.vehicle.vts.driver@2.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.vehicle.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.hidl.base@1.0",
-        "android.hardware.vehicle@2.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    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: [
-        "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/VehicleCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    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: [
-        "types.hal",
-        "IVehicle.hal",
-        "IVehicleCallback.hal",
-    ],
-    out: [
-        "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-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",
-        "libhidltransport",
-        "libvts_profiling",
-        "libvts_multidevice_proto",
-        "libprotobuf-cpp-full",
-        "android.hidl.base@1.0",
-        "android.hardware.vehicle@2.0",
-    ],
-}
diff --git a/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc b/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
deleted file mode 100644
index 622cb1e..0000000
--- a/vehicle/2.0/default/android.hardware.vehicle@2.0-service.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-service vehicle-hal-2.0 /system/bin/hw/android.hardware.vehicle@2.0-service
-    class hal
-    user vehicle_network
-    group system
diff --git a/vehicle/2.0/vts/Vehicle.vts b/vehicle/2.0/vts/Vehicle.vts
deleted file mode 100644
index 7fecfa9..0000000
--- a/vehicle/2.0/vts/Vehicle.vts
+++ /dev/null
@@ -1,116 +0,0 @@
-component_class: HAL_HIDL
-component_type_version: 2.0
-component_name: "IVehicle"
-
-package: "android.hardware.vehicle"
-
-import: "android.hardware.vehicle@2.0::IVehicleCallback"
-import: "android.hardware.vehicle@2.0::types"
-
-interface: {
-    api: {
-        name: "getAllPropConfigs"
-        return_type_hidl: {
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
-            }
-        }
-    }
-
-    api: {
-        name: "getPropConfigs"
-        return_type_hidl: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        return_type_hidl: {
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropConfig"
-            }
-        }
-        arg: {
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_ENUM
-                predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
-            }
-        }
-    }
-
-    api: {
-        name: "get"
-        return_type_hidl: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        return_type_hidl: {
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
-        }
-        arg: {
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
-        }
-    }
-
-    api: {
-        name: "set"
-        return_type_hidl: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        arg: {
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
-        }
-    }
-
-    api: {
-        name: "subscribe"
-        return_type_hidl: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        arg: {
-            type: TYPE_HIDL_CALLBACK
-            predefined_type: "IVehicleCallback"
-            is_callback: true
-        }
-        arg: {
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::vehicle::V2_0::SubscribeOptions"
-            }
-        }
-    }
-
-    api: {
-        name: "unsubscribe"
-        return_type_hidl: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        arg: {
-            type: TYPE_HIDL_CALLBACK
-            predefined_type: "IVehicleCallback"
-            is_callback: true
-        }
-        arg: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
-        }
-    }
-
-    api: {
-        name: "debugDump"
-        return_type_hidl: {
-            type: TYPE_STRING
-        }
-    }
-
-}
diff --git a/vehicle/2.0/vts/VehicleCallback.vts b/vehicle/2.0/vts/VehicleCallback.vts
deleted file mode 100644
index b5ee152..0000000
--- a/vehicle/2.0/vts/VehicleCallback.vts
+++ /dev/null
@@ -1,45 +0,0 @@
-component_class: HAL_HIDL
-component_type_version: 2.0
-component_name: "IVehicleCallback"
-
-package: "android.hardware.vehicle"
-
-import: "android.hardware.vehicle@2.0::types"
-
-interface: {
-    api: {
-        name: "onPropertyEvent"
-        arg: {
-            type: TYPE_VECTOR
-            vector_value: {
-                type: TYPE_STRUCT
-                predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
-            }
-        }
-    }
-
-    api: {
-        name: "onPropertySet"
-        arg: {
-            type: TYPE_STRUCT
-            predefined_type: "::android::hardware::vehicle::V2_0::VehiclePropValue"
-        }
-    }
-
-    api: {
-        name: "onPropertySetError"
-        arg: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::StatusCode"
-        }
-        arg: {
-            type: TYPE_ENUM
-            predefined_type: "::android::hardware::vehicle::V2_0::VehicleProperty"
-        }
-        arg: {
-            type: TYPE_SCALAR
-            scalar_type: "int32_t"
-        }
-    }
-
-}
diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp
index 135cd2f..59326d0 100644
--- a/wifi/1.0/Android.bp
+++ b/wifi/1.0/Android.bp
@@ -1,5 +1,25 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.wifi@1.0_hal",
+    srcs: [
+        "types.hal",
+        "IWifi.hal",
+        "IWifiApIface.hal",
+        "IWifiChip.hal",
+        "IWifiChipEventCallback.hal",
+        "IWifiEventCallback.hal",
+        "IWifiIface.hal",
+        "IWifiNanIface.hal",
+        "IWifiNanIfaceEventCallback.hal",
+        "IWifiP2pIface.hal",
+        "IWifiRttController.hal",
+        "IWifiRttControllerEventCallback.hal",
+        "IWifiStaIface.hal",
+        "IWifiStaIfaceEventCallback.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.wifi@1.0_genc++",
     tools: ["hidl-gen"],
@@ -150,202 +170,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.wifi.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.wifi@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/wifi/1.0/ $(genDir)/android/hardware/wifi/1.0/",
-    srcs: [
-        "types.hal",
-        "IWifi.hal",
-        "IWifiApIface.hal",
-        "IWifiChip.hal",
-        "IWifiChipEventCallback.hal",
-        "IWifiEventCallback.hal",
-        "IWifiIface.hal",
-        "IWifiNanIface.hal",
-        "IWifiNanIfaceEventCallback.hal",
-        "IWifiP2pIface.hal",
-        "IWifiRttController.hal",
-        "IWifiRttControllerEventCallback.hal",
-        "IWifiStaIface.hal",
-        "IWifiStaIfaceEventCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/1.0/types.vts.cpp",
-        "android/hardware/wifi/1.0/Wifi.vts.cpp",
-        "android/hardware/wifi/1.0/WifiApIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiChip.vts.cpp",
-        "android/hardware/wifi/1.0/WifiChipEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiNanIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiNanIfaceEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiP2pIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiRttController.vts.cpp",
-        "android/hardware/wifi/1.0/WifiRttControllerEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiStaIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiStaIfaceEventCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi.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.wifi@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/wifi/1.0/ $(genDir)/android/hardware/wifi/1.0/",
-    srcs: [
-        "types.hal",
-        "IWifi.hal",
-        "IWifiApIface.hal",
-        "IWifiChip.hal",
-        "IWifiChipEventCallback.hal",
-        "IWifiEventCallback.hal",
-        "IWifiIface.hal",
-        "IWifiNanIface.hal",
-        "IWifiNanIfaceEventCallback.hal",
-        "IWifiP2pIface.hal",
-        "IWifiRttController.hal",
-        "IWifiRttControllerEventCallback.hal",
-        "IWifiStaIface.hal",
-        "IWifiStaIfaceEventCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/1.0/types.vts.h",
-        "android/hardware/wifi/1.0/Wifi.vts.h",
-        "android/hardware/wifi/1.0/WifiApIface.vts.h",
-        "android/hardware/wifi/1.0/WifiChip.vts.h",
-        "android/hardware/wifi/1.0/WifiChipEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiIface.vts.h",
-        "android/hardware/wifi/1.0/WifiNanIface.vts.h",
-        "android/hardware/wifi/1.0/WifiNanIfaceEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiP2pIface.vts.h",
-        "android/hardware/wifi/1.0/WifiRttController.vts.h",
-        "android/hardware/wifi/1.0/WifiRttControllerEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiStaIface.vts.h",
-        "android/hardware/wifi/1.0/WifiStaIfaceEventCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.wifi.vts.driver@1.0",
-    generated_sources: ["android.hardware.wifi.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.wifi.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.wifi.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.wifi@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi@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.wifi@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/wifi/1.0/ $(genDir)/android/hardware/wifi/1.0/",
-    srcs: [
-        "types.hal",
-        "IWifi.hal",
-        "IWifiApIface.hal",
-        "IWifiChip.hal",
-        "IWifiChipEventCallback.hal",
-        "IWifiEventCallback.hal",
-        "IWifiIface.hal",
-        "IWifiNanIface.hal",
-        "IWifiNanIfaceEventCallback.hal",
-        "IWifiP2pIface.hal",
-        "IWifiRttController.hal",
-        "IWifiRttControllerEventCallback.hal",
-        "IWifiStaIface.hal",
-        "IWifiStaIfaceEventCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/1.0/types.vts.cpp",
-        "android/hardware/wifi/1.0/Wifi.vts.cpp",
-        "android/hardware/wifi/1.0/WifiApIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiChip.vts.cpp",
-        "android/hardware/wifi/1.0/WifiChipEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiNanIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiNanIfaceEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiP2pIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiRttController.vts.cpp",
-        "android/hardware/wifi/1.0/WifiRttControllerEventCallback.vts.cpp",
-        "android/hardware/wifi/1.0/WifiStaIface.vts.cpp",
-        "android/hardware/wifi/1.0/WifiStaIfaceEventCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi@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.wifi@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/wifi/1.0/ $(genDir)/android/hardware/wifi/1.0/",
-    srcs: [
-        "types.hal",
-        "IWifi.hal",
-        "IWifiApIface.hal",
-        "IWifiChip.hal",
-        "IWifiChipEventCallback.hal",
-        "IWifiEventCallback.hal",
-        "IWifiIface.hal",
-        "IWifiNanIface.hal",
-        "IWifiNanIfaceEventCallback.hal",
-        "IWifiP2pIface.hal",
-        "IWifiRttController.hal",
-        "IWifiRttControllerEventCallback.hal",
-        "IWifiStaIface.hal",
-        "IWifiStaIfaceEventCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/1.0/types.vts.h",
-        "android/hardware/wifi/1.0/Wifi.vts.h",
-        "android/hardware/wifi/1.0/WifiApIface.vts.h",
-        "android/hardware/wifi/1.0/WifiChip.vts.h",
-        "android/hardware/wifi/1.0/WifiChipEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiIface.vts.h",
-        "android/hardware/wifi/1.0/WifiNanIface.vts.h",
-        "android/hardware/wifi/1.0/WifiNanIfaceEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiP2pIface.vts.h",
-        "android/hardware/wifi/1.0/WifiRttController.vts.h",
-        "android/hardware/wifi/1.0/WifiRttControllerEventCallback.vts.h",
-        "android/hardware/wifi/1.0/WifiStaIface.vts.h",
-        "android/hardware/wifi/1.0/WifiStaIfaceEventCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.wifi@1.0-vts.profiler",
-    generated_sources: ["android.hardware.wifi@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.wifi@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.wifi@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.wifi@1.0",
-    ],
-}
diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp
index 565c3d2..b985a93 100644
--- a/wifi/supplicant/1.0/Android.bp
+++ b/wifi/supplicant/1.0/Android.bp
@@ -1,5 +1,24 @@
 // This file is autogenerated by hidl-gen. Do not edit manually.
 
+filegroup {
+    name: "android.hardware.wifi.supplicant@1.0_hal",
+    srcs: [
+        "types.hal",
+        "ISupplicant.hal",
+        "ISupplicantCallback.hal",
+        "ISupplicantIface.hal",
+        "ISupplicantNetwork.hal",
+        "ISupplicantP2pIface.hal",
+        "ISupplicantP2pIfaceCallback.hal",
+        "ISupplicantP2pNetwork.hal",
+        "ISupplicantP2pNetworkCallback.hal",
+        "ISupplicantStaIface.hal",
+        "ISupplicantStaIfaceCallback.hal",
+        "ISupplicantStaNetwork.hal",
+        "ISupplicantStaNetworkCallback.hal",
+    ],
+}
+
 genrule {
     name: "android.hardware.wifi.supplicant@1.0_genc++",
     tools: ["hidl-gen"],
@@ -142,194 +161,3 @@
         "android.hidl.base@1.0",
     ],
 }
-
-genrule {
-    name: "android.hardware.wifi.supplicant.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.wifi.supplicant@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/wifi/supplicant/1.0/ $(genDir)/android/hardware/wifi/supplicant/1.0/",
-    srcs: [
-        "types.hal",
-        "ISupplicant.hal",
-        "ISupplicantCallback.hal",
-        "ISupplicantIface.hal",
-        "ISupplicantNetwork.hal",
-        "ISupplicantP2pIface.hal",
-        "ISupplicantP2pIfaceCallback.hal",
-        "ISupplicantP2pNetwork.hal",
-        "ISupplicantP2pNetworkCallback.hal",
-        "ISupplicantStaIface.hal",
-        "ISupplicantStaIfaceCallback.hal",
-        "ISupplicantStaNetwork.hal",
-        "ISupplicantStaNetworkCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/supplicant/1.0/types.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/Supplicant.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi.supplicant.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.wifi.supplicant@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/wifi/supplicant/1.0/ $(genDir)/android/hardware/wifi/supplicant/1.0/",
-    srcs: [
-        "types.hal",
-        "ISupplicant.hal",
-        "ISupplicantCallback.hal",
-        "ISupplicantIface.hal",
-        "ISupplicantNetwork.hal",
-        "ISupplicantP2pIface.hal",
-        "ISupplicantP2pIfaceCallback.hal",
-        "ISupplicantP2pNetwork.hal",
-        "ISupplicantP2pNetworkCallback.hal",
-        "ISupplicantStaIface.hal",
-        "ISupplicantStaIfaceCallback.hal",
-        "ISupplicantStaNetwork.hal",
-        "ISupplicantStaNetworkCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/supplicant/1.0/types.vts.h",
-        "android/hardware/wifi/supplicant/1.0/Supplicant.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.wifi.supplicant.vts.driver@1.0",
-    generated_sources: ["android.hardware.wifi.supplicant.vts.driver@1.0_genc++"],
-    generated_headers: ["android.hardware.wifi.supplicant.vts.driver@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.wifi.supplicant.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.wifi.supplicant@1.0",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hidl.base@1.0",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi.supplicant@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.wifi.supplicant@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/wifi/supplicant/1.0/ $(genDir)/android/hardware/wifi/supplicant/1.0/",
-    srcs: [
-        "types.hal",
-        "ISupplicant.hal",
-        "ISupplicantCallback.hal",
-        "ISupplicantIface.hal",
-        "ISupplicantNetwork.hal",
-        "ISupplicantP2pIface.hal",
-        "ISupplicantP2pIfaceCallback.hal",
-        "ISupplicantP2pNetwork.hal",
-        "ISupplicantP2pNetworkCallback.hal",
-        "ISupplicantStaIface.hal",
-        "ISupplicantStaIfaceCallback.hal",
-        "ISupplicantStaNetwork.hal",
-        "ISupplicantStaNetworkCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/supplicant/1.0/types.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/Supplicant.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIface.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallback.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetwork.vts.cpp",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallback.vts.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.wifi.supplicant@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.wifi.supplicant@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/wifi/supplicant/1.0/ $(genDir)/android/hardware/wifi/supplicant/1.0/",
-    srcs: [
-        "types.hal",
-        "ISupplicant.hal",
-        "ISupplicantCallback.hal",
-        "ISupplicantIface.hal",
-        "ISupplicantNetwork.hal",
-        "ISupplicantP2pIface.hal",
-        "ISupplicantP2pIfaceCallback.hal",
-        "ISupplicantP2pNetwork.hal",
-        "ISupplicantP2pNetworkCallback.hal",
-        "ISupplicantStaIface.hal",
-        "ISupplicantStaIfaceCallback.hal",
-        "ISupplicantStaNetwork.hal",
-        "ISupplicantStaNetworkCallback.hal",
-    ],
-    out: [
-        "android/hardware/wifi/supplicant/1.0/types.vts.h",
-        "android/hardware/wifi/supplicant/1.0/Supplicant.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pIfaceCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantP2pNetworkCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIface.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaIfaceCallback.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetwork.vts.h",
-        "android/hardware/wifi/supplicant/1.0/SupplicantStaNetworkCallback.vts.h",
-    ],
-}
-
-cc_library_shared {
-    name: "android.hardware.wifi.supplicant@1.0-vts.profiler",
-    generated_sources: ["android.hardware.wifi.supplicant@1.0-vts.profiler_genc++"],
-    generated_headers: ["android.hardware.wifi.supplicant@1.0-vts.profiler_genc++_headers"],
-    export_generated_headers: ["android.hardware.wifi.supplicant@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.wifi.supplicant@1.0",
-    ],
-}