Add rotary support to heads-up notifications.

Add a FocusParkingView. Add a dependency on the Chassis UI library.

Test: atest com.android.car.notification.CarHeadsUpNotificationManagerTest
Bug: 155681517
Change-Id: Idc3145cf591f4d703723057d3e17158924bb5e6f
diff --git a/Android.bp b/Android.bp
index 192d49a..5a9f92d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -37,6 +37,7 @@
         "androidx.recyclerview_recyclerview",
         "androidx.palette_palette",
         "car-assist-client-lib",
+        "car-ui-lib",
         "android.car.userlib",
         "androidx-constraintlayout_constraintlayout"
     ],
@@ -79,6 +80,7 @@
         "androidx.recyclerview_recyclerview",
         "androidx.palette_palette",
         "car-assist-client-lib",
+        "car-ui-lib",
         "android.car.userlib",
         "androidx-constraintlayout_constraintlayout"
     ],
diff --git a/res/layout/headsup_container.xml b/res/layout/headsup_container.xml
index 673434e..73c038a 100644
--- a/res/layout/headsup_container.xml
+++ b/res/layout/headsup_container.xml
@@ -29,6 +29,15 @@
         android:orientation="horizontal"
         app:layout_constraintGuide_begin="@dimen/headsup_scrim_height"/>
 
+    <!-- Include a FocusParkingView at the beginning or end. The rotary controller "parks" the
+         focus here when the user navigates to another window. This is also used to prevent
+         wrap-around which is why it must be first or last in Tab order. -->
+    <com.android.car.ui.FocusParkingView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"/>
+
     <View
         android:id="@+id/scrim"
         android:layout_width="match_parent"