Merge "Fixes Instrument cluster permissions - upgraded privileges to system user"
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
index fab6c67..e0b5662 100644
--- a/car-lib/api/current.txt
+++ b/car-lib/api/current.txt
@@ -22,6 +22,7 @@
     field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
     field public static final String INFO_SERVICE = "info";
     field public static final String PACKAGE_SERVICE = "package";
+    field public static final String PERMISSION_CAR_CONTROL_AUDIO_SETTINGS = "android.car.permission.CAR_CONTROL_AUDIO_SETTINGS";
     field public static final String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
     field public static final String PERMISSION_CAR_INFO = "android.car.permission.CAR_INFO";
     field public static final String PERMISSION_CAR_NAVIGATION_MANAGER = "android.car.permission.CAR_NAVIGATION_MANAGER";
@@ -447,26 +448,26 @@
 package android.car.media {
 
   public final class CarAudioManager {
-    method public android.car.media.CarAudioPatchHandle createAudioPatch(String, int, int) throws android.car.CarNotConnectedException;
-    method @NonNull public String[] getExternalSources() throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.media.CarAudioPatchHandle createAudioPatch(String, int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) @NonNull public String[] getExternalSources() throws android.car.CarNotConnectedException;
     method public int getGroupMaxVolume(int) throws android.car.CarNotConnectedException;
-    method public int getGroupMaxVolume(int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMaxVolume(int, int) throws android.car.CarNotConnectedException;
     method public int getGroupMinVolume(int) throws android.car.CarNotConnectedException;
-    method public int getGroupMinVolume(int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMinVolume(int, int) throws android.car.CarNotConnectedException;
     method public int getGroupVolume(int) throws android.car.CarNotConnectedException;
-    method public int getGroupVolume(int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupVolume(int, int) throws android.car.CarNotConnectedException;
     method @NonNull public int[] getUsagesForVolumeGroupId(int) throws android.car.CarNotConnectedException;
-    method @NonNull public int[] getUsagesForVolumeGroupId(int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) @NonNull public int[] getUsagesForVolumeGroupId(int, int) throws android.car.CarNotConnectedException;
     method public int getVolumeGroupCount() throws android.car.CarNotConnectedException;
-    method public int getVolumeGroupCount(int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupCount(int) throws android.car.CarNotConnectedException;
     method public int getVolumeGroupIdForUsage(int) throws android.car.CarNotConnectedException;
-    method public int getVolumeGroupIdForUsage(int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupIdForUsage(int, int) throws android.car.CarNotConnectedException;
     method public void registerCarVolumeCallback(@NonNull android.car.media.CarAudioManager.CarVolumeCallback);
-    method public void releaseAudioPatch(android.car.media.CarAudioPatchHandle) throws android.car.CarNotConnectedException;
-    method public void setBalanceTowardRight(float) throws android.car.CarNotConnectedException;
-    method public void setFadeTowardFront(float) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void releaseAudioPatch(android.car.media.CarAudioPatchHandle) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setBalanceTowardRight(float) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setFadeTowardFront(float) throws android.car.CarNotConnectedException;
     method public void setGroupVolume(int, int, int) throws android.car.CarNotConnectedException;
-    method public void setGroupVolume(int, int, int, int) throws android.car.CarNotConnectedException;
+    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setGroupVolume(int, int, int, int) throws android.car.CarNotConnectedException;
     method public void unregisterCarVolumeCallback(@NonNull android.car.media.CarAudioManager.CarVolumeCallback);
     field public static final int PRIMARY_AUDIO_ZONE = 0; // 0x0
   }
diff --git a/car-lib/src/android/car/Car.java b/car-lib/src/android/car/Car.java
index 85f0ca5..1457648 100644
--- a/car-lib/src/android/car/Car.java
+++ b/car-lib/src/android/car/Car.java
@@ -237,7 +237,6 @@
 
     /**
      * Permission necessary to change car audio settings through {@link CarAudioManager}.
-     * @hide
      */
     public static final String PERMISSION_CAR_CONTROL_AUDIO_SETTINGS =
             "android.car.permission.CAR_CONTROL_AUDIO_SETTINGS";
diff --git a/car-lib/src/android/car/media/CarAudioManager.java b/car-lib/src/android/car/media/CarAudioManager.java
index e3eda4a..1f9f1ce 100644
--- a/car-lib/src/android/car/media/CarAudioManager.java
+++ b/car-lib/src/android/car/media/CarAudioManager.java
@@ -16,7 +16,9 @@
 package android.car.media;
 
 import android.annotation.NonNull;
+import android.annotation.RequiresPermission;
 import android.annotation.TestApi;
+import android.car.Car;
 import android.car.CarLibLog;
 import android.car.CarManagerBase;
 import android.car.CarNotConnectedException;
@@ -99,8 +101,6 @@
     /**
      * Sets the volume index for a volume group.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume group is affected.
      * @param groupId The volume group id whose volume index should be set.
      * @param index The volume index to set. See
@@ -108,6 +108,7 @@
      * @param flags One or more flags (e.g., {@link android.media.AudioManager#FLAG_SHOW_UI},
      *              {@link android.media.AudioManager#FLAG_PLAY_SOUND})
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public void setGroupVolume(int zoneId, int groupId, int index, int flags)
             throws CarNotConnectedException {
         try {
@@ -130,12 +131,11 @@
     /**
      * Returns the maximum volume index for a volume group.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume group is queried.
      * @param groupId The volume group id whose maximum volume index is returned.
      * @return The maximum valid volume index for the given group.
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public int getGroupMaxVolume(int zoneId, int groupId) throws CarNotConnectedException {
         try {
             return mService.getGroupMaxVolume(zoneId, groupId);
@@ -157,12 +157,11 @@
     /**
      * Returns the minimum volume index for a volume group.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume group is queried.
      * @param groupId The volume group id whose minimum volume index is returned.
      * @return The minimum valid volume index for the given group, non-negative
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public int getGroupMinVolume(int zoneId, int groupId) throws CarNotConnectedException {
         try {
             return mService.getGroupMinVolume(zoneId, groupId);
@@ -184,8 +183,6 @@
     /**
      * Returns the current volume index for a volume group.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume groups is queried.
      * @param groupId The volume group id whose volume index is returned.
      * @return The current volume index for the given group.
@@ -193,6 +190,7 @@
      * @see #getGroupMaxVolume(int, int)
      * @see #setGroupVolume(int, int, int, int)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public int getGroupVolume(int zoneId, int groupId) throws CarNotConnectedException {
         try {
             return mService.getGroupVolume(zoneId, groupId);
@@ -205,13 +203,12 @@
     /**
      * Adjust the relative volume in the front vs back of the vehicle cabin.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param value in the range -1.0 to 1.0 for fully toward the back through
      *              fully toward the front.  0.0 means evenly balanced.
      *
      * @see #setBalanceTowardRight(float)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public void setFadeTowardFront(float value) throws CarNotConnectedException {
         try {
             mService.setFadeTowardFront(value);
@@ -224,13 +221,12 @@
     /**
      * Adjust the relative volume on the left vs right side of the vehicle cabin.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param value in the range -1.0 to 1.0 for fully toward the left through
      *              fully toward the right.  0.0 means evenly balanced.
      *
      * @see #setFadeTowardFront(float)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public void setBalanceTowardRight(float value) throws CarNotConnectedException {
         try {
             mService.setBalanceTowardRight(value);
@@ -244,8 +240,6 @@
      * Queries the system configuration in order to report the available, non-microphone audio
      * input devices.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_SETTINGS} permission.
-     *
      * @return An array of strings representing the available input ports.
      * Each port is identified by it's "address" tag in the audioPolicyConfiguration xml file.
      * Empty array if we find nothing.
@@ -253,6 +247,7 @@
      * @see #createAudioPatch(String, int, int)
      * @see #releaseAudioPatch(CarAudioPatchHandle)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS)
     public @NonNull String[] getExternalSources() throws CarNotConnectedException {
         try {
             return mService.getExternalSources();
@@ -268,8 +263,6 @@
      * The output of a tuner might be routed directly to the output buss associated with
      * AudioAttributes.USAGE_MEDIA while the tuner is playing.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_SETTINGS} permission.
-     *
      * @param sourceAddress the input port name obtained from getExternalSources().
      * @param usage the type of audio represented by this source (usually USAGE_MEDIA).
      * @param gainInMillibels How many steps above the minimum value defined for the source port to
@@ -282,6 +275,7 @@
      * @see #getExternalSources()
      * @see #releaseAudioPatch(CarAudioPatchHandle)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS)
     public CarAudioPatchHandle createAudioPatch(String sourceAddress,
             @AudioAttributes.AttributeUsage int usage, int gainInMillibels)
             throws CarNotConnectedException {
@@ -297,13 +291,12 @@
      * Removes the association between an input port and an output port identified by the provided
      * handle.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_SETTINGS} permission.
-     *
      * @param patch CarAudioPatchHandle returned from createAudioPatch().
      *
      * @see #getExternalSources()
      * @see #createAudioPatch(String, int, int)
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS)
     public void releaseAudioPatch(CarAudioPatchHandle patch) throws CarNotConnectedException {
         try {
             mService.releaseAudioPatch(patch);
@@ -325,11 +318,10 @@
     /**
      * Gets the count of available volume groups in the system.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whois count of volume groups is queried.
      * @return Count of volume groups
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public int getVolumeGroupCount(int zoneId) throws CarNotConnectedException {
         try {
             return mService.getVolumeGroupCount(zoneId);
@@ -352,12 +344,11 @@
     /**
      * Gets the volume group id for a given {@link AudioAttributes} usage.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume group is queried.
      * @param usage The {@link AudioAttributes} usage to get a volume group from.
      * @return The volume group id where the usage belongs to
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public int getVolumeGroupIdForUsage(int zoneId, @AudioAttributes.AttributeUsage int usage)
             throws CarNotConnectedException {
         try {
@@ -380,12 +371,11 @@
     /**
      * Gets array of {@link AudioAttributes} usages for a volume group in a zone.
      *
-     * Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
-     *
      * @param zoneId The zone id whose volume group is queried.
      * @param groupId The volume group id whose associated audio usages is returned.
      * @return Array of {@link AudioAttributes} usages for a given volume group id
      */
+    @RequiresPermission(Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME)
     public @NonNull int[] getUsagesForVolumeGroupId(int zoneId, int groupId)
             throws CarNotConnectedException {
         try {
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive.xml
index 48068bd..c83d9f0 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10,5a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.91284,8.35114l-4.90368-6.342839999999999l-4.903689999999999,6.342839999999999a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.5409600000000001.3690700000000007h-.007690000000000197v5.50006a.49992.49992,0,0,0,.4999400000000005.4999399999999987h1.00012a.49992.49992,0,0,0,.4999399999999987-.4999399999999987v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.4094200000000008-.6235300000000006Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10,5a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.91284,8.35114l-4.90368-6.342839999999999l-4.903689999999999,6.342839999999999a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.5409600000000001.3690700000000007h-.007690000000000197v5.50006a.49992.49992,0,0,0,.4999400000000005.4999399999999987h1.00012a.49992.49992,0,0,0,.4999399999999987-.4999399999999987v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.4094200000000008-.6235300000000006Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_left.xml
index a74f1be..3eba85d 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M3,12a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm10.00293-.96332a4.05782,4.05782,0,0,1,3.98877,4.07324h.008300000000001972v1.37775a.51232.51232,0,0,0,.5123299999999986.5123299999999986h.97534a.51232.51232,0,0,0,.5123300000000022-.5123299999999986v-1.4876700000000014h-.013850000000001472a6.05607,6.05607,0,0,0-5.9834-5.96332l-.011-.00183l.00012.02008h-.9918700000000005v-.009090000000000487a.35757.35757,0,0,1-.37738-.54242l1.34375-2.95184a.38659.38659,0,0,0-.62354-.40942l-6.342829999999999,4.90368l6.34283,4.90369a.3866.3866,0,0,0,.62354-.40942l-1.34375-2.95184a.35757.35757,0,0,1,.3773800000000005-.5424299999999977v.00909h1"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M3,12a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm10.00293-.96332a4.05782,4.05782,0,0,1,3.98877,4.07324h.008300000000001972v1.37775a.51232.51232,0,0,0,.5123299999999986.5123299999999986h.97534a.51232.51232,0,0,0,.5123300000000022-.5123299999999986v-1.4876700000000014h-.013850000000001472a6.05607,6.05607,0,0,0-5.9834-5.96332l-.011-.00183l.00012.02008h-.9918700000000005v-.009090000000000487a.35757.35757,0,0,1-.37738-.54242l1.34375-2.95184a.38659.38659,0,0,0-.62354-.40942l-6.342829999999999,4.90368l6.34283,4.90369a.3866.3866,0,0,0,.62354-.40942l-1.34375-2.95184a.35757.35757,0,0,1,.3773800000000005-.5424299999999977v.00909h1"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_right.xml
index 0c2372c..0401e8c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M15,10a2,2,0,1,1,2,2a2,2,0,0,1-2-2Zm-8,1.0549300000000006h1v-.009090000000000487a.35757.35757,0,0,1,.37738.54242l-1.3437500000000009,2.9518400000000007a.3866.3866,0,0,0,.62354.40942l6.34283-4.903680000000001l-6.34283-4.90369a.38659.38659,0,0,0-.62354.40942l1.3437500000000009,2.9518500000000003a.35757.35757,0,0,1-.3773800000000005.5424199999999999v.009090000000000487h-.9918199999999997l.00011999999999989797-.020080000000000098l-.011.00183a6.05607,6.05607,0,0,0-5.98345,5.9633199999999995h-.013849999999999696v1.48767a.51232.51232,0,0,0,.51233.5123299999999986h.9753400000000001a.51232.51232,0,0,0,.51233-.5123299999999986v-1.3777500000000007h.008300000000000196a4.05782,4.05782,0,0,1,3.98877-4.07324"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M15,10a2,2,0,1,1,2,2a2,2,0,0,1-2-2Zm-8,1.0549300000000006h1v-.009090000000000487a.35757.35757,0,0,1,.37738.54242l-1.3437500000000009,2.9518400000000007a.3866.3866,0,0,0,.62354.40942l6.34283-4.903680000000001l-6.34283-4.90369a.38659.38659,0,0,0-.62354.40942l1.3437500000000009,2.9518500000000003a.35757.35757,0,0,1-.3773800000000005.5424199999999999v.009090000000000487h-.9918199999999997l.00011999999999989797-.020080000000000098l-.011.00183a6.05607,6.05607,0,0,0-5.98345,5.9633199999999995h-.013849999999999696v1.48767a.51232.51232,0,0,0,.51233.5123299999999986h.9753400000000001a.51232.51232,0,0,0,.51233-.5123299999999986v-1.3777500000000007h.008300000000000196a4.05782,4.05782,0,0,1,3.98877-4.07324"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_straight.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_straight.xml
index 48068bd..c83d9f0 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_straight.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_arrive_straight.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10,5a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.91284,8.35114l-4.90368-6.342839999999999l-4.903689999999999,6.342839999999999a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.5409600000000001.3690700000000007h-.007690000000000197v5.50006a.49992.49992,0,0,0,.4999400000000005.4999399999999987h1.00012a.49992.49992,0,0,0,.4999399999999987-.4999399999999987v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.4094200000000008-.6235300000000006Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10,5a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.91284,8.35114l-4.90368-6.342839999999999l-4.903689999999999,6.342839999999999a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.5409600000000001.3690700000000007h-.007690000000000197v5.50006a.49992.49992,0,0,0,.4999400000000005.4999399999999987h1.00012a.49992.49992,0,0,0,.4999399999999987-.4999399999999987v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.4094200000000008-.6235300000000006Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_close.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_close.xml
index 7657570..c531094 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_close.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_close.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M17.35551,4.05855l-5.589929999999999,5.589929999999999a.49713.49713,0,0,0,0,.703l5.58993,5.58993a.49713.49713,0,0,1,0,.703l-.711.711a.49713.49713,0,0,1-.703,0l-5.58993-5.58993a.49713.49713,0,0,0-.703,0l-5.590030000000002,5.590030000000002a.49713.49713,0,0,1-.703,0l-.711-.711a.49713.49713,0,0,1,0-.703l5.58993-5.58993a.49713.49713,0,0,0,0-.703l-5.589990000000002-5.590030000000002a.49713.49713,0,0,1,0-.703l.711-.711a.49713.49713,0,0,1,.703,0l5.58999,5.5898699999999995a.49713.49713,0,0,0,.703,0l5.58993-5.58993a.49713.49713,0,0,1,.703,0l.711.711a.49713.49713,0,0,1,.00010000000000331966.7030600000000002Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M17.35551,4.05855l-5.589929999999999,5.589929999999999a.49713.49713,0,0,0,0,.703l5.58993,5.58993a.49713.49713,0,0,1,0,.703l-.711.711a.49713.49713,0,0,1-.703,0l-5.58993-5.58993a.49713.49713,0,0,0-.703,0l-5.590030000000002,5.590030000000002a.49713.49713,0,0,1-.703,0l-.711-.711a.49713.49713,0,0,1,0-.703l5.58993-5.58993a.49713.49713,0,0,0,0-.703l-5.589990000000002-5.590030000000002a.49713.49713,0,0,1,0-.703l.711-.711a.49713.49713,0,0,1,.703,0l5.58999,5.5898699999999995a.49713.49713,0,0,0,.703,0l5.58993-5.58993a.49713.49713,0,0,1,.703,0l.711.711a.49713.49713,0,0,1,.00010000000000331966.7030600000000002Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_continue.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_continue.xml
index 86526a4..231dac0 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_continue.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_continue.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M14.50342,8.96637l-2.9518500000000003-1.3437499999999991a.35755.35755,0,0,0-.5424100000000003.3773799999999996v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50348-.50348v-9.49652a.35756.35756,0,0,0-.54242-.37738l-2.9518899999999997,1.3437499999999991a.38659.38659,0,0,1-.40942-.62354l4.903689999999999-6.342829999999999l4.90369,6.34283a.3866.3866,0,0,1-.40942999999999863.6235400000000002Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M14.50342,8.96637l-2.9518500000000003-1.3437499999999991a.35755.35755,0,0,0-.5424100000000003.3773799999999996v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50348-.50348v-9.49652a.35756.35756,0,0,0-.54242-.37738l-2.9518899999999997,1.3437499999999991a.38659.38659,0,0,1-.40942-.62354l4.903689999999999-6.342829999999999l4.90369,6.34283a.3866.3866,0,0,1-.40942999999999863.6235400000000002Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_continue_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_continue_left.xml
index 85dcf04..faa7027 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_continue_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_continue_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989000000000001,6.07324v3.9450699999999994h-.003109999999999502l.002,1.50317a.49614.49614,0,0,1-.49620000000000175.4968299999999992h-1.0064700000000002a.49622.49622,0,0,1-.4962199999999992-.496220000000001v-5.448849999999998a4.05782,4.05782,0,0,0-3.98877-4.07324h-1.99878a.3576.3576,0,0,0-.37738.54248l1.3437500000000009,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.34698-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.3437700000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000006"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989000000000001,6.07324v3.9450699999999994h-.003109999999999502l.002,1.50317a.49614.49614,0,0,1-.49620000000000175.4968299999999992h-1.0064700000000002a.49622.49622,0,0,1-.4962199999999992-.496220000000001v-5.448849999999998a4.05782,4.05782,0,0,0-3.98877-4.07324h-1.99878a.3576.3576,0,0,0-.37738.54248l1.3437500000000009,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.34698-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.3437700000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000006"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_continue_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_continue_right.xml
index 4438838..6ef4749 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_continue_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_continue_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M9.98877,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064700000000002a.49614.49614,0,0,1-.49615-.49683l.0019500000000007844-1.5031700000000008h-.0031100000000003902v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989000000000001-6.07324l.010999999999999233-.0018299999999999983v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.3437500000000018-2.9518400000000007a.38659.38659,0,0,1,.6235300000000006-.40942999999999996l6.346990000000002,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.998759999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M9.98877,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064700000000002a.49614.49614,0,0,1-.49615-.49683l.0019500000000007844-1.5031700000000008h-.0031100000000003902v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989000000000001-6.07324l.010999999999999233-.0018299999999999983v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.3437500000000018-2.9518400000000007a.38659.38659,0,0,1,.6235300000000006-.40942999999999996l6.346990000000002,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.998759999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_depart.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_depart.xml
index 89407e1..46c2408 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_depart.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_depart.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M9.98172,19a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.912840000000001-11.65717l-4.903690000000001-6.342829999999999l-4.90368,6.34283a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.541.36908h-.007730000000000459v5.50006a.49992.49992,0,0,0,.49994.49994h1.00012a.49992.49992,0,0,0,.49994-.49994v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.409419999999999-.6235400000000002Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M9.98172,19a2,2,0,1,1,2-2a2,2,0,0,1-2,2Zm4.912840000000001-11.65717l-4.903690000000001-6.342829999999999l-4.90368,6.34283a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.35542.35542,0,0,1,.541.36908h-.007730000000000459v5.50006a.49992.49992,0,0,0,.49994.49994h1.00012a.49992.49992,0,0,0,.49994-.49994v-5.491760000000001h.00916a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.3866.3866,0,0,0,.409419999999999-.6235400000000002Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_fork_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_fork_left.xml
index 88ed4ee..8ca9ced 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_fork_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_fork_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M17.73611,6.57682a.30465.30465,0,0,1,.23032.10507l.649.74859a.30457.30457,0,0,1-.03369.43226l-2.06044,1.7384500000000012a5.4089,5.4089,0,0,0-1.73306,4.29459l.0047,3.60769a.29612.29612,0,0,1-.2961399999999994.2965300000000006h-1.0064700000000002a.29657.29657,0,0,1-.29623-.29622l-.00058-3.47624a6.99129,6.99129,0,0,1,2.269479999999998-5.626159999999999l2.077-1.75275a.30475.30475,0,0,1,.1962-.07182m0-.2a.50269.50269,0,0,0-.32516.119l-2.07704,1.7527300000000006a7.25157,7.25157,0,0,0-2.3398900000000005,5.794459999999999v3.46082a.49622.49622,0,0,0,.496220000000001.4961800000000025h1.0064700000000002a.49614.49614,0,0,0,.49615-.49681l-.0047-3.60767a5.2182,5.2182,0,0,1,1.665-4.14405l2.057410000000001-1.7358700000000002a.50455.50455,0,0,0,.05585-.71613l-.649-.74859a.50345.50345,0,0,0-.38147-.17406h0Zm-8.73542-.39511999999999947h-1.9875500000000006a.35757.35757,0,0,1-.37738-.54242l1.3437499999999991-2.9518400000000007a.38659.38659,0,0,0-.6235399999999993-.40942999999999996l-6.34698,4.922000000000001l6.347,4.88544a.38659.38659,0,0,0,.6235199999999992-.40943999999999825l-1.34375-2.951830000000001a.3576.3576,0,0,1,.37738-.54248h1.9987700000000013a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885a.49622.49622,0,0,0,.49622999999999884.496220000000001h1.00647a.49614.49614,0,0,0,.49615-.49683l-.001960000000000406-1.5031700000000008h.00311v-3.9450699999999994a6.06019,6.06019,0,0,0-5.989-6.07324l-.011-.00183"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M17.73611,6.57682a.30465.30465,0,0,1,.23032.10507l.649.74859a.30457.30457,0,0,1-.03369.43226l-2.06044,1.7384500000000012a5.4089,5.4089,0,0,0-1.73306,4.29459l.0047,3.60769a.29612.29612,0,0,1-.2961399999999994.2965300000000006h-1.0064700000000002a.29657.29657,0,0,1-.29623-.29622l-.00058-3.47624a6.99129,6.99129,0,0,1,2.269479999999998-5.626159999999999l2.077-1.75275a.30475.30475,0,0,1,.1962-.07182m0-.2a.50269.50269,0,0,0-.32516.119l-2.07704,1.7527300000000006a7.25157,7.25157,0,0,0-2.3398900000000005,5.794459999999999v3.46082a.49622.49622,0,0,0,.496220000000001.4961800000000025h1.0064700000000002a.49614.49614,0,0,0,.49615-.49681l-.0047-3.60767a5.2182,5.2182,0,0,1,1.665-4.14405l2.057410000000001-1.7358700000000002a.50455.50455,0,0,0,.05585-.71613l-.649-.74859a.50345.50345,0,0,0-.38147-.17406h0Zm-8.73542-.39511999999999947h-1.9875500000000006a.35757.35757,0,0,1-.37738-.54242l1.3437499999999991-2.9518400000000007a.38659.38659,0,0,0-.6235399999999993-.40942999999999996l-6.34698,4.922000000000001l6.347,4.88544a.38659.38659,0,0,0,.6235199999999992-.40943999999999825l-1.34375-2.951830000000001a.3576.3576,0,0,1,.37738-.54248h1.9987700000000013a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885a.49622.49622,0,0,0,.49622999999999884.496220000000001h1.00647a.49614.49614,0,0,0,.49615-.49683l-.001960000000000406-1.5031700000000008h.00311v-3.9450699999999994a6.06019,6.06019,0,0,0-5.989-6.07324l-.011-.00183"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_fork_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_fork_right.xml
index b77da2a..9953608 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_fork_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_fork_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M2.27386,6.57682a.30457.30457,0,0,1,.1961400000000002.07182000000000066l2.0739999999999994,1.7501800000000003a7.00218,7.00218,0,0,1,2.27186,5.644179999999999v3.46088a.29651.29651,0,0,1-.29617999999999967.29612000000000194h-1.0065a.29613.29613,0,0,1-.29618000000000055-.2965699999999991l.003790000000000404-3.5888300000000015a5.42,5.42,0,0,0-1.73517-4.316l-2.0573699999999997-1.7358600000000015a.30461.30461,0,0,1-.03372-.43226l.649-.74859a.30466.30466,0,0,1,.23035-.10507m0-.2a.50345.50345,0,0,0-.38147.17406l-.649.74859a.50458.50458,0,0,0,.05588.71613l2.0573699999999997,1.7358600000000006a5.2182,5.2182,0,0,1,1.665,4.14405l-.0046600000000003305,3.607660000000001a.49617.49617,0,0,0,.49617999999999984.4968299999999992h1.0065a.49616.49616,0,0,0,.49615-.49615v-3.4608500000000006a7.25157,7.25157,0,0,0-2.33983-5.794459999999999l-2.077-1.7527499999999998a.50264.50264,0,0,0-.32516-.119h0Zm8.73442,1.604870000000001h1.98755a.3576.3576,0,0,1,.37738.54248l-1.3437500000000018,2.951830000000001a.38659.38659,0,0,0,.62354.40942l6.34698-4.885420000000002l-6.3469999999999995-4.922000000000001a.38659.38659,0,0,0-.62354.40942l1.34375,2.95184a.35757.35757,0,0,1-.37738.54242h-1.9875299999999996v-.0018199999999986005l-.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324v3.9450699999999994h.003109999999998614l-.002,1.50317a.49614.49614,0,0,0,.4962100000000005.4968299999999992h1.0064599999999997a.49622.49622,0,0,0,.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,1,3.98877-4.07324h.011229999999999407Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M2.27386,6.57682a.30457.30457,0,0,1,.1961400000000002.07182000000000066l2.0739999999999994,1.7501800000000003a7.00218,7.00218,0,0,1,2.27186,5.644179999999999v3.46088a.29651.29651,0,0,1-.29617999999999967.29612000000000194h-1.0065a.29613.29613,0,0,1-.29618000000000055-.2965699999999991l.003790000000000404-3.5888300000000015a5.42,5.42,0,0,0-1.73517-4.316l-2.0573699999999997-1.7358600000000015a.30461.30461,0,0,1-.03372-.43226l.649-.74859a.30466.30466,0,0,1,.23035-.10507m0-.2a.50345.50345,0,0,0-.38147.17406l-.649.74859a.50458.50458,0,0,0,.05588.71613l2.0573699999999997,1.7358600000000006a5.2182,5.2182,0,0,1,1.665,4.14405l-.0046600000000003305,3.607660000000001a.49617.49617,0,0,0,.49617999999999984.4968299999999992h1.0065a.49616.49616,0,0,0,.49615-.49615v-3.4608500000000006a7.25157,7.25157,0,0,0-2.33983-5.794459999999999l-2.077-1.7527499999999998a.50264.50264,0,0,0-.32516-.119h0Zm8.73442,1.604870000000001h1.98755a.3576.3576,0,0,1,.37738.54248l-1.3437500000000018,2.951830000000001a.38659.38659,0,0,0,.62354.40942l6.34698-4.885420000000002l-6.3469999999999995-4.922000000000001a.38659.38659,0,0,0-.62354.40942l1.34375,2.95184a.35757.35757,0,0,1-.37738.54242h-1.9875299999999996v-.0018199999999986005l-.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324v3.9450699999999994h.003109999999998614l-.002,1.50317a.49614.49614,0,0,0,.4962100000000005.4968299999999992h1.0064599999999997a.49622.49622,0,0,0,.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,1,3.98877-4.07324h.011229999999999407Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_merge_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_merge_left.xml
index 8ecec69..b8954b8 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_merge_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_merge_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M7.8,7.2v10.302520000000001a.2978.2978,0,0,1-.2974699999999997.2974800000000002h-1.0050600000000003a.2978.2978,0,0,1-.2974699999999997-.2974800000000002v-10.302520000000001h1.5999999999999996m.20000000000000018-.1999999999999993h-2v10.50252a.49747.49747,0,0,0,.49746999999999986.4974799999999995h1.0050600000000003a.49747.49747,0,0,0,.49746999999999986-.4974799999999995v-10.50252h0Zm-.018309999999999604,3v-1.9875500000000006a.3576.3576,0,0,1,.54248-.37738l2.951830000000001,1.3437500000000009a.38659.38659,0,0,0,.40942-.62354l-4.885420000000002-6.34698l-4.922,6.347a.38659.38659,0,0,0,.40942.62354l2.9518499999999994-1.3437700000000001a.35757.35757,0,0,1,.54242.37738v1.9875500000000006h-.0018299999999991101l.00183.011a6.06019,6.06019,0,0,0,6.07324,5.989000000000001h3.9450699999999994v-.003109999999999502l1.50317.002a.49614.49614,0,0,0,.4968299999999992-.49620000000000175v-1.0064700000000002a.49622.49622,0,0,0-.496220000000001-.4962199999999992h-5.448849999999998a4.05782,4.05782,0,0,1-4.07324-3.98877v-.011229999999999407Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M7.8,7.2v10.302520000000001a.2978.2978,0,0,1-.2974699999999997.2974800000000002h-1.0050600000000003a.2978.2978,0,0,1-.2974699999999997-.2974800000000002v-10.302520000000001h1.5999999999999996m.20000000000000018-.1999999999999993h-2v10.50252a.49747.49747,0,0,0,.49746999999999986.4974799999999995h1.0050600000000003a.49747.49747,0,0,0,.49746999999999986-.4974799999999995v-10.50252h0Zm-.018309999999999604,3v-1.9875500000000006a.3576.3576,0,0,1,.54248-.37738l2.951830000000001,1.3437500000000009a.38659.38659,0,0,0,.40942-.62354l-4.885420000000002-6.34698l-4.922,6.347a.38659.38659,0,0,0,.40942.62354l2.9518499999999994-1.3437700000000001a.35757.35757,0,0,1,.54242.37738v1.9875500000000006h-.0018299999999991101l.00183.011a6.06019,6.06019,0,0,0,6.07324,5.989000000000001h3.9450699999999994v-.003109999999999502l1.50317.002a.49614.49614,0,0,0,.4968299999999992-.49620000000000175v-1.0064700000000002a.49622.49622,0,0,0-.496220000000001-.4962199999999992h-5.448849999999998a4.05782,4.05782,0,0,1-4.07324-3.98877v-.011229999999999407Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_merge_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_merge_right.xml
index aafc98c..ab89d03 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_merge_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_merge_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M13.8,7.2v10.299210000000002a.30112.30112,0,0,1-.30078.3008h-.9984300000000008a.30112.30112,0,0,1-.300790000000001-.30079999999999885v-10.299210000000002h1.6m.20000000000000107-.1999999999999993h-2v10.499210000000001a.50079.50079,0,0,0,.5007900000000003.5007899999999985h.99841a.50079.50079,0,0,0,.5007999999999999-.5007899999999985v-10.499210000000001h0Zm.01831,3v-1.9875500000000006a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.38659.38659,0,0,0,.4094300000000004-.6235299999999988l-4.922000000000001-6.34699l-4.88544,6.347a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.3576.3576,0,0,1,.54248.37738v1.99878a4.05782,4.05782,0,0,1-4.0732300000000015,3.9887499999999996h-5.44885a.49622.49622,0,0,0-.4962200000000001.4962199999999992v1.00647a.49614.49614,0,0,0,.49683.49615l1.50317-.001949999999999008v.003109999999999502h3.9450700000000003a6.06019,6.06019,0,0,0,6.07324-5.989l.0018299999999999983-.010999999999999233"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M13.8,7.2v10.299210000000002a.30112.30112,0,0,1-.30078.3008h-.9984300000000008a.30112.30112,0,0,1-.300790000000001-.30079999999999885v-10.299210000000002h1.6m.20000000000000107-.1999999999999993h-2v10.499210000000001a.50079.50079,0,0,0,.5007900000000003.5007899999999985h.99841a.50079.50079,0,0,0,.5007999999999999-.5007899999999985v-10.499210000000001h0Zm.01831,3v-1.9875500000000006a.35757.35757,0,0,1,.54242-.37738l2.95184,1.34375a.38659.38659,0,0,0,.4094300000000004-.6235299999999988l-4.922000000000001-6.34699l-4.88544,6.347a.38659.38659,0,0,0,.40942.62354l2.95184-1.34375a.3576.3576,0,0,1,.54248.37738v1.99878a4.05782,4.05782,0,0,1-4.0732300000000015,3.9887499999999996h-5.44885a.49622.49622,0,0,0-.4962200000000001.4962199999999992v1.00647a.49614.49614,0,0,0,.49683.49615l1.50317-.001949999999999008v.003109999999999502h3.9450700000000003a6.06019,6.06019,0,0,0,6.07324-5.989l.0018299999999999983-.010999999999999233"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_new_name_straight.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_new_name_straight.xml
index 86526a4..231dac0 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_new_name_straight.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_new_name_straight.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M14.50342,8.96637l-2.9518500000000003-1.3437499999999991a.35755.35755,0,0,0-.5424100000000003.3773799999999996v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50348-.50348v-9.49652a.35756.35756,0,0,0-.54242-.37738l-2.9518899999999997,1.3437499999999991a.38659.38659,0,0,1-.40942-.62354l4.903689999999999-6.342829999999999l4.90369,6.34283a.3866.3866,0,0,1-.40942999999999863.6235400000000002Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M14.50342,8.96637l-2.9518500000000003-1.3437499999999991a.35755.35755,0,0,0-.5424100000000003.3773799999999996v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50348-.50348v-9.49652a.35756.35756,0,0,0-.54242-.37738l-2.9518899999999997,1.3437499999999991a.38659.38659,0,0,1-.40942-.62354l4.903689999999999-6.342829999999999l4.90369,6.34283a.3866.3866,0,0,1-.40942999999999863.6235400000000002Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_left.xml
index b00eaa2..536fd22 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M14.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.29710000000000036-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.29710000000000036-.2971199999999987h1.0058m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-5.50212,3.9816900000000004h-1.9875500000000006a.35757.35757,0,0,1-.37738-.54242l1.3437499999999991-2.9518400000000007a.38659.38659,0,0,0-.6235399999999993-.40942999999999996l-6.34698,4.922000000000001l6.347,4.88544a.38659.38659,0,0,0,.6235199999999992-.40943999999999825l-1.34375-2.951830000000001a.3576.3576,0,0,1,.37738-.54248h1.9987700000000013a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885a.49622.49622,0,0,0,.49622999999999884.496220000000001h1.00647a.49614.49614,0,0,0,.49615-.49683l-.001960000000000406-1.5031700000000008h.00311v-3.9450699999999994a6.06019,6.06019,0,0,0-5.989-6.07324l-.011-.00183"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M14.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.29710000000000036-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.29710000000000036-.2971199999999987h1.0058m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-5.50212,3.9816900000000004h-1.9875500000000006a.35757.35757,0,0,1-.37738-.54242l1.3437499999999991-2.9518400000000007a.38659.38659,0,0,0-.6235399999999993-.40942999999999996l-6.34698,4.922000000000001l6.347,4.88544a.38659.38659,0,0,0,.6235199999999992-.40943999999999825l-1.34375-2.951830000000001a.3576.3576,0,0,1,.37738-.54248h1.9987700000000013a4.05782,4.05782,0,0,1,3.98877,4.07324v5.44885a.49622.49622,0,0,0,.49622999999999884.496220000000001h1.00647a.49614.49614,0,0,0,.49615-.49683l-.001960000000000406-1.5031700000000008h.00311v-3.9450699999999994a6.06019,6.06019,0,0,0-5.989-6.07324l-.011-.00183"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_right.xml
index a36c18a..3048587 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M6.5029,2.2a.29744.29744,0,0,1,.2970999999999995.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.2970999999999995.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.2970999999999995-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.2970999999999995-.2971199999999987h1.0058000000000007m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058000000000007a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm4.5054,5.98169h1.98755a.3576.3576,0,0,1,.37738.54248l-1.3437500000000018,2.951830000000001a.38659.38659,0,0,0,.62354.40942l6.34698-4.885420000000002l-6.3469999999999995-4.922000000000001a.38659.38659,0,0,0-.62354.40942l1.34375,2.95184a.35757.35757,0,0,1-.37738.54242h-1.9875299999999996v-.0018199999999986005l-.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324v3.9450699999999994h.003109999999998614l-.002,1.50317a.49614.49614,0,0,0,.4962100000000005.4968299999999992h1.0064599999999997a.49622.49622,0,0,0,.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,1,3.98877-4.07324h.011229999999999407Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M6.5029,2.2a.29744.29744,0,0,1,.2970999999999995.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.2970999999999995.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.2970999999999995-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.2970999999999995-.2971199999999987h1.0058000000000007m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058000000000007a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm4.5054,5.98169h1.98755a.3576.3576,0,0,1,.37738.54248l-1.3437500000000018,2.951830000000001a.38659.38659,0,0,0,.62354.40942l6.34698-4.885420000000002l-6.3469999999999995-4.922000000000001a.38659.38659,0,0,0-.62354.40942l1.34375,2.95184a.35757.35757,0,0,1-.37738.54242h-1.9875299999999996v-.0018199999999986005l-.011.00183a6.06019,6.06019,0,0,0-5.989,6.07324v3.9450699999999994h.003109999999998614l-.002,1.50317a.49614.49614,0,0,0,.4962100000000005.4968299999999992h1.0064599999999997a.49622.49622,0,0,0,.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,1,3.98877-4.07324h.011229999999999407Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_left.xml
index 761718d..91ffc9c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M14.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.29710000000000036-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.29710000000000036-.2971199999999987h1.0058m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-1.85684,6.24854l-2.457460000000001-2.07386a.3576.3576,0,0,1,.07019-.6571l2.9489100000000015-1.3501600000000007a.38658.38658,0,0,0-.20294-.71777l-8.004760000000001-.4496500000000001l1.58044,7.86a.38663.38663,0,0,0,.73938.09912l.9181799999999996-3.1106099999999985a.35758.35758,0,0,1,.6405-.16266l2.44818,2.06561a5.21819,5.21819,0,0,1,1.665,4.144l-.0047,3.60767a.49614.49614,0,0,0,.49624000000000024.49687000000000126h1.00653a.49621.49621,0,0,0,.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,0-2.339839999999999-5.794459999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M14.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.29710000000000036-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.29710000000000036-.2971199999999987h1.0058m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-1.85684,6.24854l-2.457460000000001-2.07386a.3576.3576,0,0,1,.07019-.6571l2.9489100000000015-1.3501600000000007a.38658.38658,0,0,0-.20294-.71777l-8.004760000000001-.4496500000000001l1.58044,7.86a.38663.38663,0,0,0,.73938.09912l.9181799999999996-3.1106099999999985a.35758.35758,0,0,1,.6405-.16266l2.44818,2.06561a5.21819,5.21819,0,0,1,1.665,4.144l-.0047,3.60767a.49614.49614,0,0,0,.49624000000000024.49687000000000126h1.00653a.49621.49621,0,0,0,.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,0-2.339839999999999-5.794459999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_right.xml
index eca1091..b549937 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_off_ramp_slight_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M8.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.2970999999999995-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.2970999999999995-.2971199999999987h1.0058000000000007m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058000000000007a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-1.4888000000000003,12.043v3.46082a.49621.49621,0,0,0,.4961500000000001.4961800000000025h1.0065300000000006a.49614.49614,0,0,0,.49615-.49683l-.0047-3.60767a5.21819,5.21819,0,0,1,1.665-4.144l2.44818-2.06561a.35758.35758,0,0,1,.6405.16266l.91821,3.1106a.38663.38663,0,0,0,.7394400000000001-.09915000000000163l1.5804399999999994-7.859999999999999l-8.00476.44965a.38658.38658,0,0,0-.20294.71777l2.94891,1.35016a.3576.3576,0,0,1,.07019.6571l-2.457460000000001,2.0738600000000007a7.25157,7.25157,0,0,0-2.3398399999999997,5.794459999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M8.5029,2.2a.29744.29744,0,0,1,.29710000000000036.2971199999999996v15.005760000000002a.29744.29744,0,0,1-.29710000000000036.2971199999999996h-1.0058000000000007a.29744.29744,0,0,1-.2970999999999995-.2971199999999996v-15.005760000000002a.29744.29744,0,0,1,.2970999999999995-.2971199999999987h1.0058000000000007m0-.2h-1.0058000000000007a.49711.49711,0,0,0-.49709999999999965.4971199999999998v15.005760000000002a.49711.49711,0,0,0,.49709999999999965.4971199999999989h1.0058000000000007a.49711.49711,0,0,0,.49709999999999965-.4971199999999989v-15.005760000000002a.49711.49711,0,0,0-.49709999999999965-.4971199999999989h0Zm-1.4888000000000003,12.043v3.46082a.49621.49621,0,0,0,.4961500000000001.4961800000000025h1.0065300000000006a.49614.49614,0,0,0,.49615-.49683l-.0047-3.60767a5.21819,5.21819,0,0,1,1.665-4.144l2.44818-2.06561a.35758.35758,0,0,1,.6405.16266l.91821,3.1106a.38663.38663,0,0,0,.7394400000000001-.09915000000000163l1.5804399999999994-7.859999999999999l-8.00476.44965a.38658.38658,0,0,0-.20294.71777l2.94891,1.35016a.3576.3576,0,0,1,.07019.6571l-2.457460000000001,2.0738600000000007a7.25157,7.25157,0,0,0-2.3398399999999997,5.794459999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_left.xml
index 3da2866..65e66e2 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M9.00078,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989,6.07324v3.9450699999999994h-.0031199999999991235l.002,1.50317a.49614.49614,0,0,1-.4962.4968299999999992h-1.0064600000000006a.49622.49622,0,0,1-.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,0-3.98878-4.07324h-1.9987700000000004a.3576.3576,0,0,0-.37738.54248l1.3437499999999991,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.346979999999999-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.343770000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000015"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M9.00078,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989,6.07324v3.9450699999999994h-.0031199999999991235l.002,1.50317a.49614.49614,0,0,1-.4962.4968299999999992h-1.0064600000000006a.49622.49622,0,0,1-.49622-.49622v-5.448849999999998a4.05782,4.05782,0,0,0-3.98878-4.07324h-1.9987700000000004a.3576.3576,0,0,0-.37738.54248l1.3437499999999991,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.346979999999999-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.343770000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000015"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_right.xml
index 07ad634..1647927 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10.99707,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064599999999997a.49614.49614,0,0,1-.49615-.49683l.0019399999999993867-1.5031700000000008h-.003109999999999502v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989-6.07324l.011-.00183v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.34375-2.9518400000000007a.38659.38659,0,0,1,.623520000000001-.40942999999999996l6.3469999999999995,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.9987599999999972Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10.99707,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064599999999997a.49614.49614,0,0,1-.49615-.49683l.0019399999999993867-1.5031700000000008h-.003109999999999502v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989-6.07324l.011-.00183v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.34375-2.9518400000000007a.38659.38659,0,0,1,.623520000000001-.40942999999999996l6.3469999999999995,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.9987599999999972Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_left.xml
index 9d9d082..83b821a 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M15.49771,18a.49779.49779,0,0,1-.49779-.49779v-12.4983l-.27979-.00635a2.56758,2.56758,0,0,0-2.0957.79l-5.39526,4.61285a.34918.34918,0,0,0,.08252.63177l2.92877,1.39331a.38658.38658,0,0,1-.21344.71472l-8.0105.33209l1.69568-7.836a.38661.38661,0,0,1,.74072-.0882l.8725,3.12372a.35757.35757,0,0,0,.638.17206l.0037800000000007827.00446999999999953l5.392099999999999-4.60909a4.46634,4.46634,0,0,1,3.38476-1.2412599999999996l.2641600000000004.0019999999999997797a1.92935,1.92935,0,0,1,1.43408.56885a2.10247,2.10247,0,0,1,.55713,1.46045l.00046999999999997044,12.47289a.49779.49779,0,0,1-.49779000000000195.4978100000000012h-1.0044Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M15.49771,18a.49779.49779,0,0,1-.49779-.49779v-12.4983l-.27979-.00635a2.56758,2.56758,0,0,0-2.0957.79l-5.39526,4.61285a.34918.34918,0,0,0,.08252.63177l2.92877,1.39331a.38658.38658,0,0,1-.21344.71472l-8.0105.33209l1.69568-7.836a.38661.38661,0,0,1,.74072-.0882l.8725,3.12372a.35757.35757,0,0,0,.638.17206l.0037800000000007827.00446999999999953l5.392099999999999-4.60909a4.46634,4.46634,0,0,1,3.38476-1.2412599999999996l.2641600000000004.0019999999999997797a1.92935,1.92935,0,0,1,1.43408.56885a2.10247,2.10247,0,0,1,.55713,1.46045l.00046999999999997044,12.47289a.49779.49779,0,0,1-.49779000000000195.4978100000000012h-1.0044Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_right.xml
index 336a2d4..3394364 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_sharp_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M3.49789,17.99542a.49779.49779,0,0,1-.49779-.49781l.00047000000000041453-12.472889999999998a2.10247,2.10247,0,0,1,.5571299999999999-1.4604500000000002a1.92935,1.92935,0,0,1,1.43408-.56885l.26416-.002a4.46634,4.46634,0,0,1,3.38476,1.2412599999999996l5.392099999999999,4.609089999999999l.00378-.00446a.35757.35757,0,0,0,.638-.17206l.8725-3.12372a.38661.38661,0,0,1,.74072.0882l1.69568,7.836l-8.01048-.3320899999999991a.38658.38658,0,0,1-.21344-.71472l2.92877-1.39331a.34918.34918,0,0,0,.08252-.63177l-5.395280000000001-4.612840000000001a2.56758,2.56758,0,0,0-2.0957-.79l-.27979.00635v12.4983a.49779.49779,0,0,1-.49779.49779h-1.0043999999999995Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M3.49789,17.99542a.49779.49779,0,0,1-.49779-.49781l.00047000000000041453-12.472889999999998a2.10247,2.10247,0,0,1,.5571299999999999-1.4604500000000002a1.92935,1.92935,0,0,1,1.43408-.56885l.26416-.002a4.46634,4.46634,0,0,1,3.38476,1.2412599999999996l5.392099999999999,4.609089999999999l.00378-.00446a.35757.35757,0,0,0,.638-.17206l.8725-3.12372a.38661.38661,0,0,1,.74072.0882l1.69568,7.836l-8.01048-.3320899999999991a.38658.38658,0,0,1-.21344-.71472l2.92877-1.39331a.34918.34918,0,0,0,.08252-.63177l-5.395280000000001-4.612840000000001a2.56758,2.56758,0,0,0-2.0957-.79l-.27979.00635v12.4983a.49779.49779,0,0,1-.49779.49779h-1.0043999999999995Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_left.xml
index b0942d9..385a519 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M12.9859,14.043v3.46082a.49621.49621,0,0,1-.4961500000000001.4961800000000025h-1.0065300000000015a.49614.49614,0,0,1-.49615-.49683l.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144l-2.4482299999999997-2.0656499999999998a.35758.35758,0,0,0-.6405.16266l-.91821,3.1106a.38663.38663,0,0,1-.7393899999999993-.09910999999999959l-1.5804400000000003-7.859999999999999l8.00476.44965a.38658.38658,0,0,1,.20294.71777l-2.9489099999999997,1.3501599999999998a.3576.3576,0,0,0-.07019.6571l2.45746,2.07385a7.25157,7.25157,0,0,1,2.3398400000000024,5.7944700000000005Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M12.9859,14.043v3.46082a.49621.49621,0,0,1-.4961500000000001.4961800000000025h-1.0065300000000015a.49614.49614,0,0,1-.49615-.49683l.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144l-2.4482299999999997-2.0656499999999998a.35758.35758,0,0,0-.6405.16266l-.91821,3.1106a.38663.38663,0,0,1-.7393899999999993-.09910999999999959l-1.5804400000000003-7.859999999999999l8.00476.44965a.38658.38658,0,0,1,.20294.71777l-2.9489099999999997,1.3501599999999998a.3576.3576,0,0,0-.07019.6571l2.45746,2.07385a7.25157,7.25157,0,0,1,2.3398400000000024,5.7944700000000005Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_right.xml
index f6960e0..2ee993c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_on_ramp_slight_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M9.35394,8.24854l2.457460000000001-2.07386a.3576.3576,0,0,0-.07019-.6571l-2.9489100000000015-1.3501600000000007a.38658.38658,0,0,1,.20294-.71777l8.004760000000001-.4496500000000001l-1.58044,7.86a.38663.38663,0,0,1-.73938.09912l-.9181799999999996-3.1106099999999985a.35758.35758,0,0,0-.6405-.16266l-2.448220000000001,2.0656099999999995a5.21819,5.21819,0,0,0-1.665,4.144l.0047,3.60767a.49614.49614,0,0,1-.4961999999999982.49687000000000126h-1.0065300000000006a.49621.49621,0,0,1-.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,1,2.3398399999999997-5.794459999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M9.35394,8.24854l2.457460000000001-2.07386a.3576.3576,0,0,0-.07019-.6571l-2.9489100000000015-1.3501600000000007a.38658.38658,0,0,1,.20294-.71777l8.004760000000001-.4496500000000001l-1.58044,7.86a.38663.38663,0,0,1-.73938.09912l-.9181799999999996-3.1106099999999985a.35758.35758,0,0,0-.6405-.16266l-2.448220000000001,2.0656099999999995a5.21819,5.21819,0,0,0-1.665,4.144l.0047,3.60767a.49614.49614,0,0,1-.4961999999999982.49687000000000126h-1.0065300000000006a.49621.49621,0,0,1-.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,1,2.3398399999999997-5.794459999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout.xml
index ce90f71..5504491 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M5.5,10.002a.17879.17879,0,0,0,.27124.18866l1.47589-.67188a.1933.1933,0,0,1,.20471.31177l-2.45184,3.17145l-2.45184-3.1714900000000004a.1933.1933,0,0,1,.20471-.31177l1.476.67188a.17876.17876,0,0,0,.2711299999999994-.18862000000000023v-.002000000000000668a5.51888,5.51888,0,0,1,2.75293-4.76563l.5.86523a4.51856,4.51856,0,0,0-2.25293,3.9003999999999994v.002Zm6.75146-3.89941a4.51948,4.51948,0,0,1,2.24854,3.897409999999999h1a5.5223,5.5223,0,0,0-2.74756-4.7627l-.001440000000000552-.00006000000000039307a.17878.17878,0,0,1-.027789999999999537-.32923999999999953l1.3197899999999994-.9422400000000004a.19332.19332,0,0,0-.16766-.33319l-3.97247.53766l1.52063,3.70911a.19331.19331,0,0,0,.37238-.02142l.1561199999999996-1.6141500000000004a.17945.17945,0,0,1,.29945999999999984-.1412299999999993Zm.4954200000000011,8.663409999999999a.17879.17879,0,0,1,.299.14053l.1561,1.61412a.1933.1933,0,0,0,.37235.02141l1.520669999999999-3.709059999999999l-3.97245-.53766a.1933.1933,0,0,0-.16764.33317l1.31982.94225a.17879.17879,0,0,1-.02781.32923l.00361-.00254a4.57684,4.57684,0,0,1-4.502,0l-.501.86523a5.50442,5.50442,0,0,0,5.50391,0Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M5.5,10.002a.17879.17879,0,0,0,.27124.18866l1.47589-.67188a.1933.1933,0,0,1,.20471.31177l-2.45184,3.17145l-2.45184-3.1714900000000004a.1933.1933,0,0,1,.20471-.31177l1.476.67188a.17876.17876,0,0,0,.2711299999999994-.18862000000000023v-.002000000000000668a5.51888,5.51888,0,0,1,2.75293-4.76563l.5.86523a4.51856,4.51856,0,0,0-2.25293,3.9003999999999994v.002Zm6.75146-3.89941a4.51948,4.51948,0,0,1,2.24854,3.897409999999999h1a5.5223,5.5223,0,0,0-2.74756-4.7627l-.001440000000000552-.00006000000000039307a.17878.17878,0,0,1-.027789999999999537-.32923999999999953l1.3197899999999994-.9422400000000004a.19332.19332,0,0,0-.16766-.33319l-3.97247.53766l1.52063,3.70911a.19331.19331,0,0,0,.37238-.02142l.1561199999999996-1.6141500000000004a.17945.17945,0,0,1,.29945999999999984-.1412299999999993Zm.4954200000000011,8.663409999999999a.17879.17879,0,0,1,.299.14053l.1561,1.61412a.1933.1933,0,0,0,.37235.02141l1.520669999999999-3.709059999999999l-3.97245-.53766a.1933.1933,0,0,0-.16764.33317l1.31982.94225a.17879.17879,0,0,1-.02781.32923l.00361-.00254a4.57684,4.57684,0,0,1-4.502,0l-.501.86523a5.50442,5.50442,0,0,0,5.50391,0Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_left.xml
index debb54b..e3337c5 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M13,6.2a3.8,3.8,0,1,1-3.8000000000000007,3.8a3.80428,3.80428,0,0,1,3.8000000000000007-3.8m0,7a3.2,3.2,0,1,0-3.1999999999999993-3.1999999999999993a3.20363,3.20363,0,0,0,3.1999999999999993,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.82861-5.82813a4.0315,4.0315,0,0,0-.542-.45459a4.078,4.078,0,0,0-5.11475.4541a3.96842,3.96842,0,0,0-1.141099999999998,2.328619999999999h-4.030760000000001a.17879.17879,0,0,1-.18866-.27124l.6718799999999998-1.4758899999999997a.1933.1933,0,0,0-.31177-.20471l-3.17145,2.4518400000000007l3.17145,2.45184a.1933.1933,0,0,0,.31177-.20471l-.6718799999999998-1.4758899999999997a.17879.17879,0,0,1,.1886599999999996-.2712400000000006h5v-.5a2.98063,2.98063,0,0,1,.87891-2.12158a3.06088,3.06088,0,0,1,3.83545-.34082a3.02248,3.02248,0,0,1,.40723.34131a2.99976,2.99976,0,0,1-2.1215899999999994,5.12109h-.5v4h1v-3.030760000000001a4.00038,4.00038,0,0,0,2.3286099999999994-6.797369999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M13,6.2a3.8,3.8,0,1,1-3.8000000000000007,3.8a3.80428,3.80428,0,0,1,3.8000000000000007-3.8m0,7a3.2,3.2,0,1,0-3.1999999999999993-3.1999999999999993a3.20363,3.20363,0,0,0,3.1999999999999993,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.82861-5.82813a4.0315,4.0315,0,0,0-.542-.45459a4.078,4.078,0,0,0-5.11475.4541a3.96842,3.96842,0,0,0-1.141099999999998,2.328619999999999h-4.030760000000001a.17879.17879,0,0,1-.18866-.27124l.6718799999999998-1.4758899999999997a.1933.1933,0,0,0-.31177-.20471l-3.17145,2.4518400000000007l3.17145,2.45184a.1933.1933,0,0,0,.31177-.20471l-.6718799999999998-1.4758899999999997a.17879.17879,0,0,1,.1886599999999996-.2712400000000006h5v-.5a2.98063,2.98063,0,0,1,.87891-2.12158a3.06088,3.06088,0,0,1,3.83545-.34082a3.02248,3.02248,0,0,1,.40723.34131a2.99976,2.99976,0,0,1-2.1215899999999994,5.12109h-.5v4h1v-3.030760000000001a4.00038,4.00038,0,0,0,2.3286099999999994-6.797369999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_right.xml
index 03add59..c4e3de7 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M7,6.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm7.83777-5.45184a.1933.1933,0,0,0-.31177.20471l.67188,1.47589a.17881.17881,0,0,1-.18872.2712399999999988h-5.00916v.5a2.99994,2.99994,0,0,1-3,3h-.5v4h1v-3.030760000000001a4.0032,4.0032,0,0,0,3.469239999999999-3.469239999999999h4.03992a.17881.17881,0,0,1,.18872.27124l-.6718799999999998,1.4758899999999997a.1933.1933,0,0,0,.31177.20471l3.1713900000000024-2.4518400000000007Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M7,6.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm7.83777-5.45184a.1933.1933,0,0,0-.31177.20471l.67188,1.47589a.17881.17881,0,0,1-.18872.2712399999999988h-5.00916v.5a2.99994,2.99994,0,0,1-3,3h-.5v4h1v-3.030760000000001a4.0032,4.0032,0,0,0,3.469239999999999-3.469239999999999h4.03992a.17881.17881,0,0,1,.18872.27124l-.6718799999999998,1.4758899999999997a.1933.1933,0,0,0,.31177.20471l3.1713900000000024-2.4518400000000007Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_left.xml
index bd2ffa3..f6b3999 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10.994,5.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.8291-5.82813a4.03583,4.03583,0,0,0-.54248-.45459a4.07906,4.07906,0,0,0-5.11475.4541a4.00058,4.00058,0,0,0-.33252,5.28076l-3.0657700000000023,3.06578a.17873.17873,0,0,1-.325-.05847l-.5685799999999994-1.518740000000001a.19332.19332,0,0,0-.36523.07568l-.5087700000000002,3.9762600000000017l3.97626-.50879a.19332.19332,0,0,0,.07568-.36523l-1.5187400000000002-.5685500000000001a.17879.17879,0,0,1-.05835-.3252l-.00037-.00037l3.40378-3.40567l.33838-.353l-.34521-.34619a2.9995,2.9995,0,0,1,.0014699999999994162-4.241229999999998a3.06063,3.06063,0,0,1,3.83545-.34082a3.02673,3.02673,0,0,1,.40771.34131a3,3,0,0,1-2.1220599999999994,5.12109h-.5v4h1v-3.030760000000001a4.00076,4.00076,0,0,0,2.3290900000000008-6.797369999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10.994,5.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.8291-5.82813a4.03583,4.03583,0,0,0-.54248-.45459a4.07906,4.07906,0,0,0-5.11475.4541a4.00058,4.00058,0,0,0-.33252,5.28076l-3.0657700000000023,3.06578a.17873.17873,0,0,1-.325-.05847l-.5685799999999994-1.518740000000001a.19332.19332,0,0,0-.36523.07568l-.5087700000000002,3.9762600000000017l3.97626-.50879a.19332.19332,0,0,0,.07568-.36523l-1.5187400000000002-.5685500000000001a.17879.17879,0,0,1-.05835-.3252l-.00037-.00037l3.40378-3.40567l.33838-.353l-.34521-.34619a2.9995,2.9995,0,0,1,.0014699999999994162-4.241229999999998a3.06063,3.06063,0,0,1,3.83545-.34082a3.02673,3.02673,0,0,1,.40771.34131a3,3,0,0,1-2.1220599999999994,5.12109h-.5v4h1v-3.030760000000001a4.00076,4.00076,0,0,0,2.3290900000000008-6.797369999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_right.xml
index f253e23..820ddf3 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_sharp_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M8.97217,5.2a3.8,3.8,0,1,1-3.8,3.8a3.8043,3.8043,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm7.491,1.02374a.19328.19328,0,0,0-.36517-.07568l-.5685199999999995,1.5187399999999993a.17883.17883,0,0,1-.32526.05835l-.00018.00018l-3.75726-3.75726l-.35352.35352a2.98022,2.98022,0,0,1-2.121089999999999.8784100000000006h-.5v4h1v-3.030760000000001a3.95621,3.95621,0,0,0,1.95264-.80859l3.07312,3.07275a.17841.17841,0,0,1-.05914.324l-1.5186900000000012.5686000000000018a.1933.1933,0,0,0,.07568.36523l3.9762200000000014.5087699999999984Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M8.97217,5.2a3.8,3.8,0,1,1-3.8,3.8a3.8043,3.8043,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20362,3.20362,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm7.491,1.02374a.19328.19328,0,0,0-.36517-.07568l-.5685199999999995,1.5187399999999993a.17883.17883,0,0,1-.32526.05835l-.00018.00018l-3.75726-3.75726l-.35352.35352a2.98022,2.98022,0,0,1-2.121089999999999.8784100000000006h-.5v4h1v-3.030760000000001a3.95621,3.95621,0,0,0,1.95264-.80859l3.07312,3.07275a.17841.17841,0,0,1-.05914.324l-1.5186900000000012.5686000000000018a.1933.1933,0,0,0,.07568.36523l3.9762200000000014.5087699999999984Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_left.xml
index d51152b..7891bd7 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10.97473,7.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm-5.499-9.20184a.17879.17879,0,0,1,.05835000000000079-.32515999999999945l1.51872-.5685899999999999a.1933.1933,0,0,0-.0757-.36521l-3.97624-.50881l.50881,3.97625a.1933.1933,0,0,0,.36521.0757l.56854-1.51872a.17879.17879,0,0,1,.32521-.05835m6.7061,9.464a4.00038,4.00038,0,0,0,2.32861-6.79736a4.0315,4.0315,0,0,0-.542-.45459a4.07671,4.07671,0,0,0-4.73975.12256l-3.75294-3.749l-.707.708l4.439,4.43311l.353-.35352a3.05971,3.05971,0,0,1,3.83545-.34082a3.02248,3.02248,0,0,1,.40723.34131a2.99976,2.99976,0,0,1-2.1216100000000004,5.121040000000001h-.5v4h1v-3.030760000000001Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10.97473,7.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm-5.499-9.20184a.17879.17879,0,0,1,.05835000000000079-.32515999999999945l1.51872-.5685899999999999a.1933.1933,0,0,0-.0757-.36521l-3.97624-.50881l.50881,3.97625a.1933.1933,0,0,0,.36521.0757l.56854-1.51872a.17879.17879,0,0,1,.32521-.05835m6.7061,9.464a4.00038,4.00038,0,0,0,2.32861-6.79736a4.0315,4.0315,0,0,0-.542-.45459a4.07671,4.07671,0,0,0-4.73975.12256l-3.75294-3.749l-.707.708l4.439,4.43311l.353-.35352a3.05971,3.05971,0,0,1,3.83545-.34082a3.02248,3.02248,0,0,1,.40723.34131a2.99976,2.99976,0,0,1-2.1216100000000004,5.121040000000001h-.5v4h1v-3.030760000000001Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_right.xml
index 0b8cbe2..028dc9f 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_slight_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M8.97128,7.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm4.081189999999999-10.548729999999999a.19328.19328,0,0,0-.07568.36517l1.51874.5686a.17878.17878,0,0,1,.05835.3252l.00006.00006l-3.8150899999999996,3.8150899999999988l.35352.35352a2.99976,2.99976,0,0,1-2.1210999999999984,5.121090000000001h-.5v3.97917h1v-3.0099300000000007a4.00123,4.00123,0,0,0,2.66016-6.42236l3.1295699999999993-3.1295399999999978a.17878.17878,0,0,1,.3252.05835l.5684999999999985,1.5187400000000002a.19332.19332,0,0,0,.36523-.07574l.50879-3.9762Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M8.97128,7.2a3.8,3.8,0,1,1-3.8,3.8a3.80428,3.80428,0,0,1,3.8-3.8m0,7a3.2,3.2,0,1,0-3.2-3.2a3.20363,3.20363,0,0,0,3.2,3.2m0-7.2a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm4.081189999999999-10.548729999999999a.19328.19328,0,0,0-.07568.36517l1.51874.5686a.17878.17878,0,0,1,.05835.3252l.00006.00006l-3.8150899999999996,3.8150899999999988l.35352.35352a2.99976,2.99976,0,0,1-2.1210999999999984,5.121090000000001h-.5v3.97917h1v-3.0099300000000007a4.00123,4.00123,0,0,0,2.66016-6.42236l3.1295699999999993-3.1295399999999978a.17878.17878,0,0,1,.3252.05835l.5684999999999985,1.5187400000000002a.19332.19332,0,0,0,.36523-.07574l.50879-3.9762Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_straight.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_straight.xml
index 2d29b3e..301ce6c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_straight.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_roundabout_straight.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10,8.2a3.8,3.8,0,1,1-3.8,3.8000000000000007a3.80427,3.80427,0,0,1,3.8-3.8000000000000007m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.83057-5.82666a3.97135,3.97135,0,0,0-2.33057-1.1425799999999988v-3.0266100000000007a.17881.17881,0,0,1,.27124-.18872l1.4758899999999997.6718700000000002a.19329.19329,0,0,0,.20471-.31177l-2.4518400000000007-3.17138l-2.45184,3.1713899999999997a.1933.1933,0,0,0,.20471.31177l1.476-.67187a.17879.17879,0,0,1,.2711299999999994.18871000000000038v3.99585h.5a3,3,0,1,1,0,6h-.5v3h1v-2.030760000000001a4.00076,4.00076,0,0,0,2.33057-6.7959Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10,8.2a3.8,3.8,0,1,1-3.8,3.8000000000000007a3.80427,3.80427,0,0,1,3.8-3.8000000000000007m0,7a3.2,3.2,0,1,0-3.2-3.1999999999999993a3.20363,3.20363,0,0,0,3.2,3.1999999999999993m0-7.199999999999999a4,4,0,1,0,4,4a4.00458,4.00458,0,0,0-4-4h0Zm0,7a3,3,0,1,1,3-3a3.00328,3.00328,0,0,1-3,3h0Zm2.83057-5.82666a3.97135,3.97135,0,0,0-2.33057-1.1425799999999988v-3.0266100000000007a.17881.17881,0,0,1,.27124-.18872l1.4758899999999997.6718700000000002a.19329.19329,0,0,0,.20471-.31177l-2.4518400000000007-3.17138l-2.45184,3.1713899999999997a.1933.1933,0,0,0,.20471.31177l1.476-.67187a.17879.17879,0,0,1,.2711299999999994.18871000000000038v3.99585h.5a3,3,0,1,1,0,6h-.5v3h1v-2.030760000000001a4.00076,4.00076,0,0,0,2.33057-6.7959Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_left.xml
index 85dcf04..faa7027 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M10,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989000000000001,6.07324v3.9450699999999994h-.003109999999999502l.002,1.50317a.49614.49614,0,0,1-.49620000000000175.4968299999999992h-1.0064700000000002a.49622.49622,0,0,1-.4962199999999992-.496220000000001v-5.448849999999998a4.05782,4.05782,0,0,0-3.98877-4.07324h-1.99878a.3576.3576,0,0,0-.37738.54248l1.3437500000000009,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.34698-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.3437700000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000006"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M10,5.97986l.011.00183a6.06019,6.06019,0,0,1,5.989000000000001,6.07324v3.9450699999999994h-.003109999999999502l.002,1.50317a.49614.49614,0,0,1-.49620000000000175.4968299999999992h-1.0064700000000002a.49622.49622,0,0,1-.4962199999999992-.496220000000001v-5.448849999999998a4.05782,4.05782,0,0,0-3.98877-4.07324h-1.99878a.3576.3576,0,0,0-.37738.54248l1.3437500000000009,2.951830000000001a.38659.38659,0,0,1-.62354.40942l-6.34698-4.885420000000002l6.347-4.922a.38659.38659,0,0,1,.62354.40942l-1.3437700000000001,2.9518499999999994a.35757.35757,0,0,0,.37738.54242h1.9875500000000006"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_right.xml
index 4438838..6ef4749 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M9.98877,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064700000000002a.49614.49614,0,0,1-.49615-.49683l.0019500000000007844-1.5031700000000008h-.0031100000000003902v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989000000000001-6.07324l.010999999999999233-.0018299999999999983v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.3437500000000018-2.9518400000000007a.38659.38659,0,0,1,.6235300000000006-.40942999999999996l6.346990000000002,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.998759999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M9.98877,7.98169a4.05782,4.05782,0,0,0-3.9887700000000006,4.07324v5.44885a.49622.49622,0,0,1-.4962200000000001.496220000000001h-1.0064700000000002a.49614.49614,0,0,1-.49615-.49683l.0019500000000007844-1.5031700000000008h-.0031100000000003902v-3.9450699999999994a6.06019,6.06019,0,0,1,5.989000000000001-6.07324l.010999999999999233-.0018299999999999983v.0018299999999999983h1.98755a.35757.35757,0,0,0,.37738-.54242l-1.3437500000000018-2.9518400000000007a.38659.38659,0,0,1,.6235300000000006-.40942999999999996l6.346990000000002,4.922000000000001l-6.347,4.88544a.38659.38659,0,0,1-.62354-.40942l1.34375-2.95184a.3576.3576,0,0,0-.37738-.54248h-1.998759999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_left.xml
index e4b6408..9024be2 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M15.49771,17.99542a.49779.49779,0,0,1-.49779-.49779v-12.4983l-.2797799999999988-.006330000000000169a2.56758,2.56758,0,0,0-2.0957.79l-5.39527,4.61283a.34918.34918,0,0,0,.08252.63177l2.92877,1.39331a.38658.38658,0,0,1-.21344.71472l-8.0105.33209l1.69568-7.836a.38661.38661,0,0,1,.74072-.0882l.8725,3.12372a.35757.35757,0,0,0,.638.17206l.0037800000000007827.00446999999999953l5.392099999999999-4.609089999999999a4.46634,4.46634,0,0,1,3.38477-1.24121l.26416.002a1.92935,1.92935,0,0,1,1.43408.56885a2.10247,2.10247,0,0,1,.55713,1.46045l.000460000000000349,12.472840000000001a.49779.49779,0,0,1-.49779.49781h-1.0044Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M15.49771,17.99542a.49779.49779,0,0,1-.49779-.49779v-12.4983l-.2797799999999988-.006330000000000169a2.56758,2.56758,0,0,0-2.0957.79l-5.39527,4.61283a.34918.34918,0,0,0,.08252.63177l2.92877,1.39331a.38658.38658,0,0,1-.21344.71472l-8.0105.33209l1.69568-7.836a.38661.38661,0,0,1,.74072-.0882l.8725,3.12372a.35757.35757,0,0,0,.638.17206l.0037800000000007827.00446999999999953l5.392099999999999-4.609089999999999a4.46634,4.46634,0,0,1,3.38477-1.24121l.26416.002a1.92935,1.92935,0,0,1,1.43408.56885a2.10247,2.10247,0,0,1,.55713,1.46045l.000460000000000349,12.472840000000001a.49779.49779,0,0,1-.49779.49781h-1.0044Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_right.xml
index 336a2d4..3394364 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_sharp_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M3.49789,17.99542a.49779.49779,0,0,1-.49779-.49781l.00047000000000041453-12.472889999999998a2.10247,2.10247,0,0,1,.5571299999999999-1.4604500000000002a1.92935,1.92935,0,0,1,1.43408-.56885l.26416-.002a4.46634,4.46634,0,0,1,3.38476,1.2412599999999996l5.392099999999999,4.609089999999999l.00378-.00446a.35757.35757,0,0,0,.638-.17206l.8725-3.12372a.38661.38661,0,0,1,.74072.0882l1.69568,7.836l-8.01048-.3320899999999991a.38658.38658,0,0,1-.21344-.71472l2.92877-1.39331a.34918.34918,0,0,0,.08252-.63177l-5.395280000000001-4.612840000000001a2.56758,2.56758,0,0,0-2.0957-.79l-.27979.00635v12.4983a.49779.49779,0,0,1-.49779.49779h-1.0043999999999995Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M3.49789,17.99542a.49779.49779,0,0,1-.49779-.49781l.00047000000000041453-12.472889999999998a2.10247,2.10247,0,0,1,.5571299999999999-1.4604500000000002a1.92935,1.92935,0,0,1,1.43408-.56885l.26416-.002a4.46634,4.46634,0,0,1,3.38476,1.2412599999999996l5.392099999999999,4.609089999999999l.00378-.00446a.35757.35757,0,0,0,.638-.17206l.8725-3.12372a.38661.38661,0,0,1,.74072.0882l1.69568,7.836l-8.01048-.3320899999999991a.38658.38658,0,0,1-.21344-.71472l2.92877-1.39331a.34918.34918,0,0,0,.08252-.63177l-5.395280000000001-4.612840000000001a2.56758,2.56758,0,0,0-2.0957-.79l-.27979.00635v12.4983a.49779.49779,0,0,1-.49779.49779h-1.0043999999999995Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_left.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_left.xml
index 6613e36..431736f 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_left.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_left.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M14.9859,14.043v3.46082a.49621.49621,0,0,1-.4961600000000015.4961800000000025h-1.0065299999999997a.49614.49614,0,0,1-.49615-.49683l.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144l-2.448220000000001-2.0656499999999998a.35758.35758,0,0,0-.6405.16266l-.91821,3.1106a.38663.38663,0,0,1-.7393899999999993-.09910999999999959l-1.5804400000000003-7.859999999999999l8.00476.44965a.38658.38658,0,0,1,.20294.71777l-2.9489199999999993,1.3501599999999998a.3576.3576,0,0,0-.07019.6571l2.45746,2.07385a7.25158,7.25158,0,0,1,2.339850000000002,5.7944700000000005Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M14.9859,14.043v3.46082a.49621.49621,0,0,1-.4961600000000015.4961800000000025h-1.0065299999999997a.49614.49614,0,0,1-.49615-.49683l.0047-3.60767a5.21819,5.21819,0,0,0-1.665-4.144l-2.448220000000001-2.0656499999999998a.35758.35758,0,0,0-.6405.16266l-.91821,3.1106a.38663.38663,0,0,1-.7393899999999993-.09910999999999959l-1.5804400000000003-7.859999999999999l8.00476.44965a.38658.38658,0,0,1,.20294.71777l-2.9489199999999993,1.3501599999999998a.3576.3576,0,0,0-.07019.6571l2.45746,2.07385a7.25158,7.25158,0,0,1,2.339850000000002,5.7944700000000005Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_right.xml
index fb4f274..0ab8aef 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_right.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_turn_slight_right.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M7.35395,8.24854l2.45746-2.07386a.3576.3576,0,0,0-.07019-.6571l-2.94892-1.3501600000000007a.38658.38658,0,0,1,.20294-.71777l8.004760000000001-.4496500000000001l-1.58044,7.86a.38663.38663,0,0,1-.73938.09912l-.9181799999999996-3.1106099999999985a.35758.35758,0,0,0-.6405-.16266l-2.448220000000001,2.0656099999999995a5.21819,5.21819,0,0,0-1.665,4.144l.0047,3.60767a.49614.49614,0,0,1-.49618999999999946.49687000000000126h-1.0065300000000006a.49621.49621,0,0,1-.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,1,2.3398400000000006-5.794459999999999Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M7.35395,8.24854l2.45746-2.07386a.3576.3576,0,0,0-.07019-.6571l-2.94892-1.3501600000000007a.38658.38658,0,0,1,.20294-.71777l8.004760000000001-.4496500000000001l-1.58044,7.86a.38663.38663,0,0,1-.73938.09912l-.9181799999999996-3.1106099999999985a.35758.35758,0,0,0-.6405-.16266l-2.448220000000001,2.0656099999999995a5.21819,5.21819,0,0,0-1.665,4.144l.0047,3.60767a.49614.49614,0,0,1-.49618999999999946.49687000000000126h-1.0065300000000006a.49621.49621,0,0,1-.49615-.49622v-3.4607799999999997a7.25157,7.25157,0,0,1,2.3398400000000006-5.794459999999999Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_uturn.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_uturn.xml
index 19b0a72..bfb9e0c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/direction_uturn.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_uturn.xml
@@ -1 +1,5 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp" android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"><path android:fillColor="#FF000000" android:pathData="M17,8v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50352-.5034799999999997v-9.49652a3.5,3.5,0,0,0-7,0v4h-.009089999999999598a.35757.35757,0,0,0,.54242.37738l2.95184-1.34375a.3866.3866,0,0,1,.40942.62354l-4.9036800000000005,6.342829999999999l-4.9037500000000005-6.342829999999999a.3866.3866,0,0,1,.40942-.62354l2.95184,1.34375a.3576.3576,0,0,0,.5424900000000008-.3773800000000005h.009089999999999598v-4a5.5,5.5,0,0,1,11,0Z"/></vector>
\ No newline at end of file
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20">
+    <path android:fillColor="#FF000000"
+          android:pathData="M17,8v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50352-.5034799999999997v-9.49652a3.5,3.5,0,0,0-7,0v4h-.009089999999999598a.35757.35757,0,0,0,.54242.37738l2.95184-1.34375a.3866.3866,0,0,1,.40942.62354l-4.9036800000000005,6.342829999999999l-4.9037500000000005-6.342829999999999a.3866.3866,0,0,1,.40942-.62354l2.95184,1.34375a.3576.3576,0,0,0,.5424900000000008-.3773800000000005h.009089999999999598v-4a5.5,5.5,0,0,1,11,0Z"/>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/direction_uturn_right.xml b/tests/DirectRenderingClusterSample/res/drawable/direction_uturn_right.xml
new file mode 100644
index 0000000..8fc9223
--- /dev/null
+++ b/tests/DirectRenderingClusterSample/res/drawable/direction_uturn_right.xml
@@ -0,0 +1,8 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="20dp"
+        android:height="20dp" android:viewportWidth="20" android:viewportHeight="20"
+        android:pivotX="10" android:scaleX="-1">
+    <group android:pivotX="10" android:scaleX="-1">
+        <path android:fillColor="#FF000000"
+              android:pathData="M17,8v9.49652a.50346.50346,0,0,1-.5034799999999997.5034799999999997h-.993a.50346.50346,0,0,1-.50352-.5034799999999997v-9.49652a3.5,3.5,0,0,0-7,0v4h-.009089999999999598a.35757.35757,0,0,0,.54242.37738l2.95184-1.34375a.3866.3866,0,0,1,.40942.62354l-4.9036800000000005,6.342829999999999l-4.9037500000000005-6.342829999999999a.3866.3866,0,0,1,.40942-.62354l2.95184,1.34375a.3576.3576,0,0,0,.5424900000000008-.3773800000000005h.009089999999999598v-4a5.5,5.5,0,0,1,11,0Z"/>
+    </group>
+</vector>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/focused_button_shape.xml b/tests/DirectRenderingClusterSample/res/drawable/focused_button_shape.xml
index b84ef30..9ded30c 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/focused_button_shape.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/focused_button_shape.xml
@@ -2,12 +2,12 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <stroke
         android:width="2dp"
-        android:color="#333333" />
+        android:color="#333333"/>
     <corners
-        android:radius="7dp" />
+        android:radius="7dp"/>
     <padding
         android:left="5dp"
         android:top="5dp"
         android:right="5dp"
-        android:bottom="5dp" />
+        android:bottom="5dp"/>
 </shape>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/gradient_bottom.xml b/tests/DirectRenderingClusterSample/res/drawable/gradient_bottom.xml
index ddafcf9..8006864 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/gradient_bottom.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/gradient_bottom.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-  <gradient
-      android:startColor="#00000000"
-      android:endColor="#FF000000"
-      android:angle="270"
-      android:dither="true"
-      />
+    <gradient
+        android:startColor="#00000000"
+        android:endColor="#FF000000"
+        android:angle="270"
+        android:dither="true"
+    />
 </shape>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/gradient_top.xml b/tests/DirectRenderingClusterSample/res/drawable/gradient_top.xml
index 35c8497..74932ad 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/gradient_top.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/gradient_top.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
-  <gradient
-      android:startColor="#00000000"
-      android:endColor="#FF000000"
-      android:angle="90"
-      android:dither="true"
-      />
+    <gradient
+        android:startColor="#00000000"
+        android:endColor="#FF000000"
+        android:angle="90"
+        android:dither="true"
+    />
 </shape>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/drawable/speedometer.xml b/tests/DirectRenderingClusterSample/res/drawable/speedometer.xml
index 078a4b6..d97c54e 100644
--- a/tests/DirectRenderingClusterSample/res/drawable/speedometer.xml
+++ b/tests/DirectRenderingClusterSample/res/drawable/speedometer.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="200dp"
-    android:height="200dp"
-    android:viewportHeight="64"
-    android:viewportWidth="64">
+        xmlns:aapt="http://schemas.android.com/aapt"
+        android:width="200dp"
+        android:height="200dp"
+        android:viewportHeight="64"
+        android:viewportWidth="64">
 
     <path
         android:pathData="M0,32
@@ -18,13 +18,13 @@
                 android:type="radial">
                 <item
                     android:color="#FF000000"
-                    android:offset="0.0" />
+                    android:offset="0.0"/>
                 <item
                     android:color="#FF000000"
-                    android:offset="0.94" />
+                    android:offset="0.94"/>
                 <item
                     android:color="#00000000"
-                    android:offset="1.0" />
+                    android:offset="1.0"/>
             </gradient>
         </aapt:attr>
     </path>
diff --git a/tests/DirectRenderingClusterSample/res/layout/include_navigation_state.xml b/tests/DirectRenderingClusterSample/res/layout/include_navigation_state.xml
index e566363..3e64812 100644
--- a/tests/DirectRenderingClusterSample/res/layout/include_navigation_state.xml
+++ b/tests/DirectRenderingClusterSample/res/layout/include_navigation_state.xml
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="0dp"
-    android:layout_height="match_parent"
-    android:orientation="horizontal">
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="0dp"
+              android:layout_height="match_parent"
+              android:orientation="horizontal">
 
     <ImageView
         android:id="@+id/maneuver"
-        android:layout_width="48dp"
-        android:layout_height="48dp"
-        android:layout_margin="10dp"
+        android:layout_width="@dimen/maneuver_width"
+        android:layout_height="@dimen/maneuver_height"
+        android:layout_margin="@dimen/maneuver_margin"
         android:tint="@android:color/white"/>
 
     <LinearLayout
-        android:layout_width="250dp"
+        android:layout_width="@dimen/nav_state_width"
         android:layout_height="wrap_content"
         android:orientation="vertical">
 
@@ -20,12 +20,27 @@
             android:id="@+id/distance"
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
-            android:textSize="30sp"/>
+            android:textSize="@dimen/distance_text_size"/>
         <TextView
             android:id="@+id/segment"
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
-            android:textSize="18sp"/>
+            android:textSize="@dimen/segment_text_size"/>
     </LinearLayout>
 
+    <LinearLayout
+        android:layout_width="@dimen/nav_state_width"
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+
+        <android.car.cluster.sample.CueView
+            android:id="@+id/cue"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:lineHeight="@dimen/cue_line_height"/>
+        <android.car.cluster.sample.LaneView
+            android:id="@+id/lane"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/laneview_height"/>
+    </LinearLayout>
 </LinearLayout>
\ No newline at end of file
diff --git a/tests/DirectRenderingClusterSample/res/values/dimens.xml b/tests/DirectRenderingClusterSample/res/values/dimens.xml
index 843da89..8c21523 100644
--- a/tests/DirectRenderingClusterSample/res/values/dimens.xml
+++ b/tests/DirectRenderingClusterSample/res/values/dimens.xml
@@ -19,4 +19,23 @@
     <dimen name="info_height">80dp</dimen>
     <dimen name="info_label_text_size">10sp</dimen>
     <dimen name="info_value_text_size">20sp</dimen>
+
+    <!--                              -->
+    <!-- Navigation state componenets -->
+    <!--                              -->
+    <dimen name="nav_state_width">170dp</dimen>
+    <!-- Maneuver -->
+    <dimen name="maneuver_width">60dp</dimen>
+    <dimen name="maneuver_height">60dp</dimen>
+    <dimen name="maneuver_margin">10dp</dimen>
+    <!-- Distance -->
+    <dimen name="distance_text_size">20sp</dimen>
+    <!-- Segment -->
+    <dimen name="segment_text_size">15sp</dimen>
+    <!-- Cue -->
+    <dimen name="cue_line_height">15sp</dimen>
+    <!-- Lane -->
+    <dimen name="laneview_height">25dp</dimen>
+    <dimen name="lane_width">50dp</dimen>
+    <dimen name="lane_height">50dp</dimen>
 </resources>
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/CueView.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/CueView.java
new file mode 100644
index 0000000..4dc8116
--- /dev/null
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/CueView.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.car.cluster.sample;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.text.SpannableStringBuilder;
+import android.text.style.ImageSpan;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+import androidx.car.cluster.navigation.RichText;
+import androidx.car.cluster.navigation.RichTextElement;
+
+/**
+ * View component that displays the Cue information on the instrument cluster display
+ */
+public class CueView extends TextView {
+    public CueView(Context context) {
+        super(context);
+    }
+
+    public CueView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public CueView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    public void setRichText(RichText richText) {
+        if (richText == null) {
+            setText(null);
+            return;
+        }
+
+        SpannableStringBuilder builder = new SpannableStringBuilder();
+        for (RichTextElement textElement : richText.getElements()) {
+            if (!textElement.getText().equals("")) {
+                builder.append(textElement.getText());
+            } else if (textElement.getImage() != null) {
+                builder.append(" ");
+
+                Bitmap bitmap = ImageResolver.getInstance().getBitmap(mContext,
+                        textElement.getImage());
+
+                if (bitmap != null) {
+                    bitmap = Bitmap.createScaledBitmap(bitmap,
+                            (int) (((float) getLineHeight() / bitmap.getHeight())
+                                    * bitmap.getWidth()),
+                            getLineHeight(),
+                            true);
+
+                    int index = builder.length() - 1;
+                    builder.setSpan(new ImageSpan(mContext, bitmap), index, index + 1, 0);
+                }
+            }
+        }
+
+        setText(builder);
+    }
+}
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/ImageResolver.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/ImageResolver.java
new file mode 100644
index 0000000..b7fd0c1
--- /dev/null
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/ImageResolver.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.car.cluster.sample;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+import androidx.car.cluster.navigation.ImageReference;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+
+/**
+ * Class for retrieving bitmap images from a ContentProvider
+ */
+public class ImageResolver {
+    private static final String TAG = "ImageResolver";
+
+    private static ImageResolver sImageResolver = new ImageResolver();
+
+    private ImageResolver() {}
+
+    public static ImageResolver getInstance() {
+        return sImageResolver;
+    }
+
+    /**
+     * Returns a bitmap from an URI string from a content provider
+     *
+     * @param context View context
+     */
+    @Nullable
+    protected static Bitmap getBitmap(Context context, String uriString) {
+        Uri uri = Uri.parse(uriString);
+        try {
+            ContentResolver contentResolver = context.getContentResolver();
+            ParcelFileDescriptor fileDesc = contentResolver.openFileDescriptor(uri, "r");
+            if (fileDesc != null) {
+                Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fileDesc.getFileDescriptor());
+                fileDesc.close();
+                return bitmap;
+            } else {
+                Log.e(TAG, "Null pointer: Failed to create pipe for uri string: " + uriString);
+            }
+        } catch (FileNotFoundException e) {
+            Log.e(TAG, "File not found for uri string: " + uriString, e);
+        } catch (IOException e) {
+            Log.e(TAG, "File descriptor could not close: ", e);
+        }
+
+        return null;
+    }
+
+    /**
+     * Returns a bitmap from a Car Instrument Cluster {@link ImageReference}
+     *
+     * @param context View context
+     */
+    @Nullable
+    protected static Bitmap getBitmap(Context context, ImageReference img) {
+        String uriString = img.getRawContentUri();
+        return getBitmap(context, uriString);
+    }
+}
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/LaneView.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/LaneView.java
new file mode 100644
index 0000000..a4c367b
--- /dev/null
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/LaneView.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.car.cluster.sample;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.VectorDrawable;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import androidx.car.cluster.navigation.Lane;
+import androidx.car.cluster.navigation.LaneDirection;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * View component that displays the Lane preview information on the instrument cluster display
+ */
+public class LaneView extends LinearLayout {
+    private ArrayList<Lane> mLanes;
+
+    private final int mWidth = (int) getResources().getDimension(R.dimen.lane_width);
+    private final int mHeight = (int) getResources().getDimension(R.dimen.lane_height);
+
+    public LaneView(Context context) {
+        super(context);
+    }
+
+    public LaneView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public LaneView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public void setLanes(List<Lane> lanes) {
+        mLanes = new ArrayList<>(lanes);
+        removeAllViews();
+
+        for (Lane lane : mLanes) {
+            Bitmap bitmap = combineBitmapFromLane(lane);
+            ImageView imgView = new ImageView(getContext());
+            imgView.setColorFilter(Color.WHITE);
+            imgView.setImageBitmap(bitmap);
+            imgView.setAdjustViewBounds(true);
+            addView(imgView);
+        }
+    }
+
+    private Bitmap combineBitmapFromLane(Lane lane) {
+        Bitmap bitmap = null;
+        Canvas canvas = null;
+
+        for (LaneDirection laneDir : lane.getDirections()) {
+            VectorDrawable icon = (VectorDrawable) getLaneIcon(laneDir);
+
+            icon.setBounds(0, 0, mWidth, mHeight);
+
+            if (bitmap == null) {
+                bitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
+                canvas = new Canvas(bitmap);
+            }
+
+            icon.draw(canvas);
+        }
+
+        return bitmap;
+    }
+
+    private Drawable getLaneIcon(@Nullable LaneDirection laneDir) {
+        if (laneDir == null) {
+            return null;
+        }
+        switch (laneDir.getShape()) {
+            case UNKNOWN:
+                return null;
+            case STRAIGHT:
+                return mContext.getDrawable(R.drawable.direction_continue);
+            case SLIGHT_LEFT:
+                return mContext.getDrawable(R.drawable.direction_turn_slight_left);
+            case SLIGHT_RIGHT:
+                return mContext.getDrawable(R.drawable.direction_turn_slight_right);
+            case NORMAL_LEFT:
+                return mContext.getDrawable(R.drawable.direction_turn_left);
+            case NORMAL_RIGHT:
+                return mContext.getDrawable(R.drawable.direction_turn_right);
+            case SHARP_LEFT:
+                return mContext.getDrawable(R.drawable.direction_turn_sharp_left);
+            case SHARP_RIGHT:
+                return mContext.getDrawable(R.drawable.direction_turn_sharp_right);
+            case U_TURN_LEFT:
+                return mContext.getDrawable(R.drawable.direction_uturn);
+            case U_TURN_RIGHT:
+                return mContext.getDrawable(R.drawable.direction_uturn_right);
+        }
+        return null;
+    }
+}
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/MainClusterActivity.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/MainClusterActivity.java
index 52cacdb..c8bff38 100644
--- a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/MainClusterActivity.java
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/MainClusterActivity.java
@@ -140,13 +140,13 @@
 
     private final View.OnFocusChangeListener mFacetButtonFocusListener =
             new View.OnFocusChangeListener() {
-        @Override
-        public void onFocusChange(View v, boolean hasFocus) {
-            if (hasFocus) {
-                mPager.setCurrentItem(mButtonToFacet.get(v).order);
-            }
-        }
-    };
+                @Override
+                public void onFocusChange(View v, boolean hasFocus) {
+                    if (hasFocus) {
+                        mPager.setCurrentItem(mButtonToFacet.get(v).order);
+                    }
+                }
+            };
 
     private ServiceConnection mClusterRenderingServiceConnection = new ServiceConnection() {
         @Override
diff --git a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/NavStateController.java b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/NavStateController.java
index f31c090..9b3a2ec 100644
--- a/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/NavStateController.java
+++ b/tests/DirectRenderingClusterSample/src/android/car/cluster/sample/NavStateController.java
@@ -26,6 +26,7 @@
 import androidx.car.cluster.navigation.Distance;
 import androidx.car.cluster.navigation.Maneuver;
 import androidx.car.cluster.navigation.NavigationState;
+import androidx.car.cluster.navigation.Segment;
 import androidx.car.cluster.navigation.Step;
 
 /**
@@ -35,10 +36,12 @@
     private static final String TAG = "Cluster.NavController";
 
     private ImageView mManeuver;
+    private LaneView mLane;
     private TextView mDistance;
     private TextView mSegment;
-    private View mNavigationState;
+    private CueView mCue;
     private Context mContext;
+    private View mNavigationState;
 
     /**
      * Creates a controller to coordinate updates to the views displaying navigation state
@@ -49,8 +52,11 @@
     public NavStateController(View container) {
         mNavigationState = container;
         mManeuver = container.findViewById(R.id.maneuver);
+        mLane = container.findViewById(R.id.lane);
         mDistance = container.findViewById(R.id.distance);
         mSegment = container.findViewById(R.id.segment);
+        mCue = container.findViewById(R.id.cue);
+
         mContext = container.getContext();
     }
 
@@ -64,6 +70,15 @@
         Step step = getImmediateStep(state);
         mManeuver.setImageDrawable(getManeuverIcon(step != null ? step.getManeuver() : null));
         mDistance.setText(formatDistance(step != null ? step.getDistance() : null));
+        mSegment.setText(getSegmentString(state.getCurrentSegment()));
+        mCue.setRichText(step.getCue());
+
+        if (step.getLanes().size() > 0) {
+            mLane.setLanes(step.getLanes());
+            mLane.setVisibility(View.VISIBLE);
+        } else {
+            mLane.setVisibility(View.GONE);
+        }
     }
 
     /**
@@ -77,9 +92,20 @@
         if (!active) {
             mManeuver.setImageDrawable(null);
             mDistance.setText(null);
+            mLane.setVisibility(View.GONE);
+            mCue.setText(null);
+            mSegment.setText(null);
         }
     }
 
+    private String getSegmentString(Segment segment) {
+        if (segment != null) {
+            return segment.getName();
+        }
+
+        return null;
+    }
+
     private Drawable getManeuverIcon(@Nullable Maneuver maneuver) {
         if (maneuver == null) {
             return null;
@@ -110,7 +136,7 @@
             case U_TURN_LEFT:
                 return mContext.getDrawable(R.drawable.direction_uturn);
             case U_TURN_RIGHT:
-                return mContext.getDrawable(R.drawable.direction_uturn);
+                return mContext.getDrawable(R.drawable.direction_uturn_right);
             case ON_RAMP_SLIGHT_LEFT:
                 return mContext.getDrawable(R.drawable.direction_on_ramp_slight_left);
             case ON_RAMP_SLIGHT_RIGHT:
@@ -126,7 +152,7 @@
             case ON_RAMP_U_TURN_LEFT:
                 return mContext.getDrawable(R.drawable.direction_uturn);
             case ON_RAMP_U_TURN_RIGHT:
-                return mContext.getDrawable(R.drawable.direction_uturn);
+                return mContext.getDrawable(R.drawable.direction_uturn_right);
             case OFF_RAMP_SLIGHT_LEFT:
                 return mContext.getDrawable(R.drawable.direction_off_ramp_slight_left);
             case OFF_RAMP_SLIGHT_RIGHT:
@@ -162,7 +188,7 @@
             case ROUNDABOUT_ENTER_AND_EXIT_CW_SLIGHT_LEFT:
                 return mContext.getDrawable(R.drawable.direction_roundabout_slight_left);
             case ROUNDABOUT_ENTER_AND_EXIT_CW_U_TURN:
-                return mContext.getDrawable(R.drawable.direction_uturn);
+                return mContext.getDrawable(R.drawable.direction_uturn_right);
             case ROUNDABOUT_ENTER_AND_EXIT_CCW_SHARP_RIGHT:
                 return mContext.getDrawable(R.drawable.direction_roundabout_sharp_right);
             case ROUNDABOUT_ENTER_AND_EXIT_CCW_NORMAL_RIGHT:
diff --git a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
index 798e6b4..2709e5d 100644
--- a/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
+++ b/tests/EmbeddedKitchenSinkApp/AndroidManifest.xml
@@ -113,5 +113,12 @@
                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
             </intent-filter>
         </receiver>
+
+        <!-- Content provider for images -->
+        <provider android:name=".cluster.ClusterContentProvider"
+                  android:authorities="com.google.android.car.kitchensink.cluster.clustercontentprovider"
+                  android:grantUriPermissions="true"
+                  android:exported="true" />
+
     </application>
 </manifest>
diff --git a/tests/EmbeddedKitchenSinkApp/res/raw/US_101.png b/tests/EmbeddedKitchenSinkApp/res/raw/US_101.png
new file mode 100644
index 0000000..3626ce0
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/res/raw/US_101.png
Binary files differ
diff --git a/tests/EmbeddedKitchenSinkApp/res/raw/nav_state_data.json b/tests/EmbeddedKitchenSinkApp/res/raw/nav_state_data.json
index 2aa5cd0..02d7c50 100644
--- a/tests/EmbeddedKitchenSinkApp/res/raw/nav_state_data.json
+++ b/tests/EmbeddedKitchenSinkApp/res/raw/nav_state_data.json
@@ -9,9 +9,49 @@
         },
         "mManeuver": {
           "mType": { "mValues": [ "DEPART" ] }
-        }
+        },
+        "mCue":{
+          "mElements": [
+            {
+              "mText": "Stay on"
+            },
+            {
+              "mImage": {
+                "mContentUri": "content://com.google.android.car.kitchensink.cluster.clustercontentprovider/img/US_101.png"
+              }
+            },
+            {
+              "mText": "East"
+            }
+          ]
+        },
+        "mLanes": [
+          {
+            "mDirections": [
+              {
+                "mShape": { "mValues": [ "SLIGHT_LEFT" ] },
+                "mHighlighted": false
+              }
+            ]
+          },
+          {
+            "mDirections": [
+              {
+                "mShape": { "mValues": [ "STRAIGHT" ] },
+                "mHighlighted": false
+              },
+              {
+                "mShape": { "mValues": [ "SLIGHT_RIGHT" ] },
+                "mHighlighted": true
+              }
+            ]
+          }
+        ]
       }
     ],
+    "mCurrentSegment": {
+      "mName": "On McCowan St"
+    },
     "mDestinations": [
       {
         "mTitle": "Home",
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/ClusterContentProvider.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/ClusterContentProvider.java
new file mode 100644
index 0000000..4ad9b02
--- /dev/null
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/ClusterContentProvider.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.car.kitchensink.cluster;
+
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.content.UriMatcher;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
+
+/**
+ * Image Content Provider for the car instument cluster
+ */
+public class ClusterContentProvider extends ContentProvider {
+    private static final String TAG = "ClusterContentProvider";
+    private static final String AUTHORITY =
+            "com.google.android.car.kitchensink.cluster.clustercontentprovider";
+
+    private UriMatcher mUriMatcher;
+    private static final int URI_IMAGE_CODE = 1;
+
+    @Override
+    public boolean onCreate() {
+        mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
+        mUriMatcher.addURI(AUTHORITY, "img/*", URI_IMAGE_CODE);
+
+        return true;
+    }
+
+    @Override
+    public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
+        switch (mUriMatcher.match(uri)) {
+            case URI_IMAGE_CODE:
+                // Tries to get the img file from internal cache
+                String filename = new File(uri.getPath()).getName();
+                File imageFile = new File(
+                        getContext().getCacheDir() + File.separator + uri.getLastPathSegment());
+
+                // If the file doesn't exist in internal cache,
+                // copy the file from res.raw into internal cache
+                if (!imageFile.exists()) {
+                    InputStream inputStream = getContext().getResources().openRawResource(
+                            getContext().getResources().getIdentifier(
+                                    filename.substring(0, filename.lastIndexOf(".")),
+                                    "raw",
+                                    getContext().getPackageName()));
+
+                    try {
+                        Files.copy(inputStream, imageFile.toPath(),
+                                StandardCopyOption.REPLACE_EXISTING);
+                    } catch (IOException e) {
+                        Log.e(TAG, "could not copy file to internal cache: " + uri.getPath(), e);
+                    }
+
+                    imageFile = new File(
+                            getContext().getCacheDir() + File.separator + uri.getLastPathSegment());
+                }
+
+                ParcelFileDescriptor image = ParcelFileDescriptor.open(imageFile,
+                        ParcelFileDescriptor.MODE_READ_ONLY);
+
+                return image;
+
+            default:
+                return null;
+        }
+    }
+
+
+    @Override
+    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+            String sortOrder) {
+        return null;
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        return null;
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        return null;
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        return 0;
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+        return 0;
+    }
+}