add VEC2/3/4 for int32/float and add audio handling

- internal property is propagated internally, not to HAL.
- added skeleton code for audio focus handling.
  actual implementation will be added later.

bug: 23785833

Change-Id: Icb6ad32307e2a4036dbf235538ed0c4e5b06f68d
(cherry picked from commit 92362d576b4057b989b96e980c542cc38c3a33e8)
diff --git a/libvehiclenetwork/native/IVehicleNetwork.cpp b/libvehiclenetwork/native/IVehicleNetwork.cpp
index 6af722b..a3b17a5 100644
--- a/libvehiclenetwork/native/IVehicleNetwork.cpp
+++ b/libvehiclenetwork/native/IVehicleNetwork.cpp
@@ -82,15 +82,15 @@
                 ALOGE("listProperties, cannot parse reply");
                 return holder;
             }
-            vehicle_prop_config_t* configArray = NULL;
-            int32_t numConfigs;
-            status = VehicleNetworkProtoUtil::fromVehiclePropConfigs(*configs.get(), &configArray,
-                    &numConfigs);
+            holder = new VehiclePropertiesHolder();
+            ASSERT_OR_HANDLE_NO_MEMORY(holder.get(), return);
+            status = VehicleNetworkProtoUtil::fromVehiclePropConfigs(*configs.get(),
+                    holder->getList());
             if (status != NO_ERROR) {
                 ALOGE("listProperties, cannot convert VehiclePropConfigs %d", status);
                 return holder;
             }
-            holder = new VehiclePropertiesHolder(configArray, numConfigs);
+
         }
         return holder;
     }
@@ -203,8 +203,7 @@
             }
             std::unique_ptr<VehiclePropConfigs> configs(new VehiclePropConfigs());
             ASSERT_OR_HANDLE_NO_MEMORY(configs.get(), return NO_MEMORY);
-            VehicleNetworkProtoUtil::toVehiclePropConfigs(holder->getData(),
-                    holder->getNumConfigs(), *configs.get());
+            VehicleNetworkProtoUtil::toVehiclePropConfigs(holder->getList(), *configs.get());
             int size = configs->ByteSize();
             WritableBlobHolder blob(new Parcel::WritableBlob());
             ASSERT_OR_HANDLE_NO_MEMORY(blob.blob, return NO_MEMORY);