Improve peek behavior and fix a few bugs in PanelView

- A single tap on the bar peeks and then dismisses it a again.
- Wait for the peek until the layout has happened.
- Add logic to only peek if user is not flinging.
- Fix a few bugs with panel holes (onExpandingStarted/Finished not
  called correctly.

Bug: 15856091
Bug: 15407838
Bug: 15942322

Change-Id: I1aedf9d01bc8db3d7fed7cea6e341b0be18a8bd9
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 19cfd2e..c82bdf6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1043,7 +1043,7 @@
         if (mNotificationStackScroller.getNotGoneChildCount() > 0) {
             return mNotificationStackScroller.getPeekHeight();
         } else {
-            return mQsMinExpansionHeight;
+            return mQsMinExpansionHeight * HEADER_RUBBERBAND_FACTOR;
         }
     }
 }