QS: Back button closes detail (if showing)

Bug:16649931
Change-Id: I9748a0793e6a71d833f7c7f884c189e16cccb8f9
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 c46f77a..4f9d4a3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1424,6 +1424,14 @@
         return mQsExpanded;
     }
 
+    public boolean isQsDetailShowing() {
+        return mQsPanel.isShowingDetail();
+    }
+
+    public void closeQsDetail() {
+        mQsPanel.closeDetail();
+    }
+
     @Override
     public boolean shouldDelayChildPressedState() {
         return true;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index ee29ad4..06c7be2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3458,7 +3458,11 @@
             return true;
         }
         if (mNotificationPanel.isQsExpanded()) {
-            mNotificationPanel.animateCloseQs();
+            if (mNotificationPanel.isQsDetailShowing()) {
+                mNotificationPanel.closeQsDetail();
+            } else {
+                mNotificationPanel.animateCloseQs();
+            }
             return true;
         }
         if (mState != StatusBarState.KEYGUARD && mState != StatusBarState.SHADE_LOCKED) {