Add publisher ID to DATA messages

VMS Core routing needs the publisher ID in order to route correctly.

Test: all tests pass + adding tests for new use cases
bug: 63933446
Change-Id: I3acd2a3efebdedbf9d65af18d70928380e9b44d1
diff --git a/automotive/vehicle/2.1/Android.mk b/automotive/vehicle/2.1/Android.mk
index 8e1c0dd..095a1c7 100644
--- a/automotive/vehicle/2.1/Android.mk
+++ b/automotive/vehicle/2.1/Android.mk
@@ -227,6 +227,25 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (VmsDataMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsDataMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.automotive.vehicle@2.1::types.VmsDataMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (VmsMessageType)
 #
 GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageType.java
@@ -548,6 +567,25 @@
 LOCAL_GENERATED_SOURCES += $(GEN)
 
 #
+# Build types.hal (VmsDataMessageIntegerValuesIndex)
+#
+GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsDataMessageIntegerValuesIndex.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava \
+        -randroid.hardware:hardware/interfaces \
+        -randroid.hidl:system/libhidl/transport \
+        android.hardware.automotive.vehicle@2.1::types.VmsDataMessageIntegerValuesIndex
+
+$(GEN): $(LOCAL_PATH)/types.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
 # Build types.hal (VmsMessageType)
 #
 GEN := $(intermediates)/android/hardware/automotive/vehicle/V2_1/VmsMessageType.java
diff --git a/automotive/vehicle/2.1/types.hal b/automotive/vehicle/2.1/types.hal
index 75026b7..d85ef43 100644
--- a/automotive/vehicle/2.1/types.hal
+++ b/automotive/vehicle/2.1/types.hal
@@ -681,7 +681,7 @@
 };
 
 /*
- * This enum provides the canonical mapping for VMS SUBMIT, UNSUBMIT and DATA
+ * This enum provides the canonical mapping for VMS SUBMIT and UNSUBMIT
  * messages integer value properties.
  */
 enum VmsSimpleMessageIntegerValuesIndex : VmsBaseMessageIntegerValuesIndex {
@@ -696,6 +696,15 @@
 };
 
 /*
+ * This enum provides the canonical mapping for VMS DATA
+ * message integer value properties.
+ */
+enum VmsDataMessageIntegerValuesIndex : VmsSimpleMessageIntegerValuesIndex {
+  /* A publisher ID of the client that published this message. */
+  VMS_PUBLISHER_ID = 4,
+};
+
+/*
  * This enum provides the canonical mapping for VMS offering messages integer
  * value properties
  */