QS: Back button closes detail (if showing)
Bug:16649931
Change-Id: I9748a0793e6a71d833f7c7f884c189e16cccb8f9
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 4901f40..d216069 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -95,7 +95,7 @@
mDetailDoneButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- showDetail(false, mDetailRecord);
+ closeDetail();
}
});
}
@@ -134,7 +134,7 @@
if (mExpanded == expanded) return;
mExpanded = expanded;
if (!mExpanded) {
- showDetail(false /*show*/, mDetailRecord);
+ closeDetail();
}
}
@@ -226,6 +226,14 @@
addView(r.tileView);
}
+ public boolean isShowingDetail() {
+ return mDetailRecord != null;
+ }
+
+ public void closeDetail() {
+ showDetail(false, mDetailRecord);
+ }
+
private void handleShowDetail(Record r, boolean show) {
if (r instanceof TileRecord) {
handleShowDetailTile((TileRecord) r, show);
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) {