add external audio routing support

- external audio routing is done via audio focus request
- add hidden CarAudioManager API for apps to request audio focus
  for external audio source: will be left hidden until it is good
  to go as public or system api
- add test to confirm external routing

bug: 29601910
Change-Id: I33600a6f53b0854cd3b55663a8be6987ac20413a
diff --git a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
index f7ef2c4..a54282a 100644
--- a/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
+++ b/libvehiclenetwork/java/src/com/android/car/vehiclenetwork/VehicleNetwork.java
@@ -216,6 +216,12 @@
         setProperty(v);
     }
 
+    public void setStringProperty(int property, String value)
+            throws IllegalArgumentException, ServiceSpecificException {
+        VehiclePropValue v = VehiclePropValueUtil.createStringValue(property, value, 0);
+        setProperty(v);
+    }
+
     /**
      * Set zoned boolean type property
      *