Fixed an issue where the shade would jump

When collapsing directly from the expanded quicksettings
the shade would jump when there were no notifications.

Test: manual
Merged-In: I9a85cd57e2f96970ad4ea78a8c679145b58d563a
Change-Id: I9a85cd57e2f96970ad4ea78a8c679145b58d563a
Fixes: 35996906
(cherry picked from commit 7cb49d6f40955652950409b4feead43e58f68ca5)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index cd93b97..3cc3604 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -815,7 +815,8 @@
      */
     private float getAppearEndPosition() {
         int appearPosition;
-        if (mEmptyShadeView.getVisibility() == GONE) {
+        int notGoneChildCount = getNotGoneChildCount();
+        if (mEmptyShadeView.getVisibility() == GONE && notGoneChildCount != 0) {
             int minNotificationsForShelf = 1;
             if (mTrackingHeadsUp || mHeadsUpManager.hasPinnedHeadsUp()) {
                 appearPosition = mHeadsUpManager.getTopHeadsUpPinnedHeight();
@@ -823,7 +824,7 @@
             } else {
                 appearPosition = 0;
             }
-            if (getNotGoneChildCount() >= minNotificationsForShelf) {
+            if (notGoneChildCount >= minNotificationsForShelf) {
                 appearPosition += mShelf.getIntrinsicHeight();
             }
         } else {