Update test for spacing

Follow up to http://ag/7816898

Bug: 134090085
Test: atest ExpandedAnimationControllerTest --- passed
atest SystemUITests --- non-bubbles failures:

com.android.systemui.assist.AssistHandleBehaviorControllerTest#showAndGo_doesNothingIfRecentlyHidden
com.android.systemui.assist.AssistHandleBehaviorControllerTest#hide_doesNothingWhenHiding
com.android.systemui.assist.AssistHandleBehaviorControllerTest#setBehavior_deactivatesThePreviousBehaviorWhenInGesturalMode
com.android.systemui.assist.AssistHandleBehaviorControllerTest#showAndStay_doesNothingWhenShowing
com.android.systemui.assist.AssistHandleBehaviorControllerTest#showAndGo_showsThenHidesHandlesWhenHiding
com.android.systemui.assist.AssistHandleBehaviorControllerTest#setBehavior_activatesTheBehaviorWhenInGesturalMode
com.android.systemui.assist.AssistHandleBehaviorControllerTest#showAndGo_hidesHandlesAfterTimeoutWhenShowing
com.android.systemui.assist.AssistHandleBehaviorControllerTest#hide_hidesHandlesWhenShowing
com.android.systemui.assist.AssistHandleBehaviorControllerTest#showAndStay_showsHandlesWhenHiding
com.android.systemui.assist.AssistHandleBehaviorControllerTest#setBehavior_doesNothingWhenNotInGesturalMode
com.android.systemui.statusbar.NavigationBarControllerTest#testCreateNavigationBarsIncludeDefaultFalse
com.android.systemui.statusbar.NavigationBarControllerTest#testCreateNavigationBarsIncludeDefaultTrue
com.android.systemui.statusbar.phone.KeyguardBottomAreaTest#initFrom_doesntCrash
com.android.systemui.statusbar.phone.NotificationPanelViewTest#testAffordanceLaunchingListener

Change-Id: I661d1d918c8c40ef2e9535fe01cab3e21b91f872
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
index 7b879c2..c5fe91c 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
@@ -361,7 +361,7 @@
      * @return Bubble left x from left edge of screen.
      */
     public float getBubbleLeft(int index) {
-        float bubbleFromRowLeft = index * (mBubbleSizePx + getSpaceBetweenBubbles());
+        final float bubbleFromRowLeft = index * (mBubbleSizePx + getSpaceBetweenBubbles());
         return getRowLeft() + bubbleFromRowLeft;
     }
 
@@ -408,7 +408,6 @@
 
         final int gapCount = mBubblesMaxRendered - 1;
         final float gapWidth = totalGapWidth / gapCount;
-
         return gapWidth;
     }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/ExpandedAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/ExpandedAnimationControllerTest.java
index d106dea..43dd4ee 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/ExpandedAnimationControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/ExpandedAnimationControllerTest.java
@@ -45,14 +45,16 @@
 
     private int mDisplayWidth = 500;
     private int mDisplayHeight = 1000;
+    private int mExpandedViewPadding = 10;
 
     @Spy
     private ExpandedAnimationController mExpandedController =
             new ExpandedAnimationController(
                     new Point(mDisplayWidth, mDisplayHeight) /* displaySize */,
-                    0 /* expandedViewPadding */);
+                    mExpandedViewPadding);
+
     private int mStackOffset;
-    private float mBubblePadding;
+    private float mBubblePaddingTop;
     private float mBubbleSize;
 
     private PointF mExpansionPoint;
@@ -65,7 +67,7 @@
 
         Resources res = mLayout.getResources();
         mStackOffset = res.getDimensionPixelSize(R.dimen.bubble_stack_offset);
-        mBubblePadding = res.getDimensionPixelSize(R.dimen.bubble_padding);
+        mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top);
         mBubbleSize = res.getDimensionPixelSize(R.dimen.individual_bubble_size);
         mExpansionPoint = new PointF(100, 100);
     }
@@ -175,7 +177,7 @@
 
         waitForPropertyAnimations(DynamicAnimation.TRANSLATION_X, DynamicAnimation.TRANSLATION_Y);
 
-        assertEquals(mBubblePadding, mViews.get(1).getTranslationX(), 1f);
+        assertEquals(mBubblePaddingTop, mViews.get(1).getTranslationX(), 1f);
     }
 
     @Test
@@ -264,8 +266,8 @@
      * @return Bubble left x from left edge of screen.
      */
     public float getBubbleLeft(int index) {
-        float bubbleLeftFromRowLeft = index * (mBubbleSize + mBubblePadding);
-        return getRowLeft() + bubbleLeftFromRowLeft;
+        final float bubbleLeft = index * (mBubbleSize + getSpaceBetweenBubbles());
+        return getRowLeft() + bubbleLeft;
     }
 
     private float getRowLeft() {
@@ -276,15 +278,30 @@
         if (bubbleCount > mMaxRenderedBubbles) {
             bubbleCount = mMaxRenderedBubbles;
         }
-        // Width calculations.
-        double bubble = bubbleCount * mBubbleSize;
-        float gap = (bubbleCount - 1) * mBubblePadding;
-        float row = gap + (float) bubble;
+        final float totalBubbleWidth = bubbleCount * mBubbleSize;
+        final float totalGapWidth = (bubbleCount - 1) * getSpaceBetweenBubbles();
+        final float rowWidth = totalGapWidth + totalBubbleWidth;
 
-        float halfRow = row / 2f;
-        float centerScreen = mDisplayWidth / 2;
-        float rowLeftFromScreenLeft = centerScreen - halfRow;
+        final float centerScreen = mDisplayWidth / 2f;
+        final float halfRow = rowWidth / 2f;
+        final float rowLeft = centerScreen - halfRow;
 
-        return rowLeftFromScreenLeft;
+        return rowLeft;
+    }
+
+    /**
+     * @return Space between bubbles in row above expanded view.
+     */
+    private float getSpaceBetweenBubbles() {
+        final float launcherGridDiff = mBubbleSize / 2f;
+        final float rowMargins = (mExpandedViewPadding + launcherGridDiff) * 2;
+        final float maxRowWidth = mDisplayWidth - rowMargins;
+
+        final float totalBubbleWidth = mMaxRenderedBubbles * mBubbleSize;
+        final float totalGapWidth = maxRowWidth - totalBubbleWidth;
+
+        final int gapCount = mMaxRenderedBubbles - 1;
+        final float gapWidth = totalGapWidth / gapCount;
+        return gapWidth;
     }
 }