vehicle hal update: add zone to subscription and others

- add zones to subscribe and mocking
- extend config_flags to config_array

bug: 25265553

Change-Id: Icfc1911178daa4ff4b5b6f12bc8e0002af5530bb
diff --git a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
index ee20d78..a43c485 100644
--- a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
+++ b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
@@ -52,7 +52,7 @@
         VehiclePropConfigs onListProperties();
         void onPropertySet(VehiclePropValue value);
         VehiclePropValue onPropertyGet(VehiclePropValue value);
-        void onPropertySubscribe(int property, int sampleRate);
+        void onPropertySubscribe(int property, float sampleRate, int zones);
         void onPropertyUnsubscribe(int property);
     }
 
@@ -423,8 +423,19 @@
      * @throws IllegalArgumentException
      */
     public void subscribe(int property, float sampleRate) throws IllegalArgumentException {
+        subscribe(property, sampleRate, 0);
+    }
+
+    /**
+     * Subscribe given property with given sample rate.
+     * @param property
+     * @param sampleRate
+     * @throws IllegalArgumentException
+     */
+    public void subscribe(int property, float sampleRate, int zones)
+            throws IllegalArgumentException {
         try {
-            mService.subscribe(mVehicleNetworkListener, property, sampleRate);
+            mService.subscribe(mVehicleNetworkListener, property, sampleRate, zones);
         } catch (RemoteException e) {
             handleRemoteException(e);
         }
@@ -689,12 +700,12 @@
         }
 
         @Override
-        public void onPropertySubscribe(int property, int sampleRate) {
+        public void onPropertySubscribe(int property, float sampleRate, int zones) {
             VehicleNetwork vehicleNetwork = mVehicleNetwork.get();
             if (vehicleNetwork == null) {
                 return;
             }
-            vehicleNetwork.getHalMock().onPropertySubscribe(property, sampleRate);
+            vehicleNetwork.getHalMock().onPropertySubscribe(property, sampleRate, zones);
         }
 
         @Override