Use designated attributes to tailor FocusArea's bounds

Bug: 163582808
Test: atest CarRotaryControllerRoboTests
Change-Id: I7af3cb093ffe4fb7f17f850c19f2824a678c3d86
diff --git a/src/com/android/car/rotary/Navigator.java b/src/com/android/car/rotary/Navigator.java
index 4c565ec..dae8a5a 100644
--- a/src/com/android/car/rotary/Navigator.java
+++ b/src/com/android/car/rotary/Navigator.java
@@ -18,10 +18,10 @@
 import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_BACKWARD;
 import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_SCROLL_FORWARD;
 
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_LEFT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_TOP_PADDING;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_BOTTOM_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_LEFT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_RIGHT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_TOP_BOUND_OFFSET;
 
 import android.graphics.Rect;
 import android.os.Bundle;
@@ -887,12 +887,12 @@
         Rect bounds = new Rect();
         node.getBoundsInScreen(bounds);
         if (Utils.isFocusArea(node)) {
-            // The bounds of a FocusArea is its bounds minus its highlight paddings.
+            // The bounds used for finding the nudge target are its View bounds minus the offset.
             Bundle bundle = node.getExtras();
-            bounds.left += bundle.getInt(FOCUS_AREA_HIGHLIGHT_LEFT_PADDING);
-            bounds.right -= bundle.getInt(FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING);
-            bounds.top += bundle.getInt(FOCUS_AREA_HIGHLIGHT_TOP_PADDING);
-            bounds.bottom -= bundle.getInt(FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING);
+            bounds.left += bundle.getInt(FOCUS_AREA_LEFT_BOUND_OFFSET);
+            bounds.right -= bundle.getInt(FOCUS_AREA_RIGHT_BOUND_OFFSET);
+            bounds.top += bundle.getInt(FOCUS_AREA_TOP_BOUND_OFFSET);
+            bounds.bottom -= bundle.getInt(FOCUS_AREA_BOTTOM_BOUND_OFFSET);
         }
         return bounds;
     }
diff --git a/tests/robotests/src/com/android/car/rotary/NavigatorTest.java b/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
index f189a16..b372906 100644
--- a/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
+++ b/tests/robotests/src/com/android/car/rotary/NavigatorTest.java
@@ -1428,9 +1428,9 @@
      * In the same window
      *
      *          ==========focus area 1============
-     *          =  .......highlight............  =
+     *          =  .........top offset.........  =
      *          =  .        *view1*           .  =
-     *          =  .......paddings.............  =
+     *          =  .......bottom offset........  =
      *          =                                =
      *          =  ========focus area 2========  =
      *          =  =         *view2*          =  =
@@ -1447,7 +1447,7 @@
      * </pre>
      */
     @Test
-    public void testFindNudgeTargetWithFocusAreaHighlightPadding() {
+    public void testFindNudgeTargetWithFocusAreaBoundsOffset() {
         Rect windowBounds = new Rect(0, 0, 100, 100);
         AccessibilityWindowInfo window = new WindowBuilder()
                 .setBoundsInScreen(windowBounds)
@@ -1462,7 +1462,7 @@
                 .setWindow(window)
                 .setParent(root)
                 .setFocusArea()
-                .setFocusAreaHighlightPadding(0, 0, 0, 70)
+                .setFocusAreaBoundsOffset(0, 0, 0, 70)
                 .setBoundsInScreen(new Rect(0, 0, 100, 80))
                 .build();
         AccessibilityNodeInfo view1 = mNodeBuilder
diff --git a/tests/robotests/src/com/android/car/rotary/NodeBuilder.java b/tests/robotests/src/com/android/car/rotary/NodeBuilder.java
index 45ac7e9..4736bc4 100644
--- a/tests/robotests/src/com/android/car/rotary/NodeBuilder.java
+++ b/tests/robotests/src/com/android/car/rotary/NodeBuilder.java
@@ -19,10 +19,10 @@
 
 import static com.android.car.rotary.Utils.FOCUS_AREA_CLASS_NAME;
 import static com.android.car.rotary.Utils.FOCUS_PARKING_VIEW_CLASS_NAME;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_LEFT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_TOP_PADDING;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_BOTTOM_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_LEFT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_RIGHT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_TOP_BOUND_OFFSET;
 import static com.android.car.ui.utils.RotaryConstants.ROTARY_VERTICALLY_SCROLLABLE;
 
 import static org.mockito.Mockito.any;
@@ -224,11 +224,11 @@
         return setClassName(FOCUS_AREA_CLASS_NAME).setFocusable(false);
     }
 
-    NodeBuilder setFocusAreaHighlightPadding(int left, int top, int right, int bottom) {
-        mExtras.putInt(FOCUS_AREA_HIGHLIGHT_LEFT_PADDING, left);
-        mExtras.putInt(FOCUS_AREA_HIGHLIGHT_TOP_PADDING, top);
-        mExtras.putInt(FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING, right);
-        mExtras.putInt(FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING, bottom);
+    NodeBuilder setFocusAreaBoundsOffset(int left, int top, int right, int bottom) {
+        mExtras.putInt(FOCUS_AREA_LEFT_BOUND_OFFSET, left);
+        mExtras.putInt(FOCUS_AREA_TOP_BOUND_OFFSET, top);
+        mExtras.putInt(FOCUS_AREA_RIGHT_BOUND_OFFSET, right);
+        mExtras.putInt(FOCUS_AREA_BOTTOM_BOUND_OFFSET, bottom);
         return this;
     }
 
diff --git a/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java b/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
index 7ec7d9a..6d19ea3 100644
--- a/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
+++ b/tests/robotests/src/com/android/car/rotary/NodeBuilderTest.java
@@ -19,10 +19,10 @@
 
 import static com.android.car.rotary.Utils.FOCUS_AREA_CLASS_NAME;
 import static com.android.car.rotary.Utils.FOCUS_PARKING_VIEW_CLASS_NAME;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_LEFT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING;
-import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_HIGHLIGHT_TOP_PADDING;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_BOTTOM_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_LEFT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_RIGHT_BOUND_OFFSET;
+import static com.android.car.ui.utils.RotaryConstants.FOCUS_AREA_TOP_BOUND_OFFSET;
 import static com.android.car.ui.utils.RotaryConstants.ROTARY_VERTICALLY_SCROLLABLE;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -156,19 +156,19 @@
     }
 
     @Test
-    public void testSetFocusAreaHighlightPadding() {
+    public void testSetFocusAreaBoundsOffset() {
         int left = 10;
         int top = 20;
         int right = 30;
         int bottom = 40;
         AccessibilityNodeInfo node = mNodeBuilder
-                .setFocusAreaHighlightPadding(left, top, right, bottom)
+                .setFocusAreaBoundsOffset(left, top, right, bottom)
                 .build();
         Bundle extras = node.getExtras();
-        assertThat(extras.getInt(FOCUS_AREA_HIGHLIGHT_LEFT_PADDING)).isEqualTo(left);
-        assertThat(extras.getInt(FOCUS_AREA_HIGHLIGHT_TOP_PADDING)).isEqualTo(top);
-        assertThat(extras.getInt(FOCUS_AREA_HIGHLIGHT_RIGHT_PADDING)).isEqualTo(right);
-        assertThat(extras.getInt(FOCUS_AREA_HIGHLIGHT_BOTTOM_PADDING)).isEqualTo(bottom);
+        assertThat(extras.getInt(FOCUS_AREA_LEFT_BOUND_OFFSET)).isEqualTo(left);
+        assertThat(extras.getInt(FOCUS_AREA_TOP_BOUND_OFFSET)).isEqualTo(top);
+        assertThat(extras.getInt(FOCUS_AREA_RIGHT_BOUND_OFFSET)).isEqualTo(right);
+        assertThat(extras.getInt(FOCUS_AREA_BOTTOM_BOUND_OFFSET)).isEqualTo(bottom);
     }
 
     @Test