From 8b54cade4f994cf82c1925955255694e794092a5 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 19 Apr 2016 11:38:03 -0400 Subject: [PATCH] Collapse QS panel after details if we expanded it before Change-Id: I7de2ec3b304649fbce688ef6d54573cc7c2f4b64 Fixes: 27747650 --- .../src/com/android/systemui/qs/QSPanel.java | 13 +++++++++++-- .../src/com/android/systemui/qs/QSTile.java | 2 +- .../systemui/statusbar/phone/QSTileHost.java | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index 1149c5961743e..74f1b804999a7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -70,6 +70,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { private QSCustomizer mCustomizePanel; private Record mDetailRecord; + private boolean mTriggeredExpand; public QSPanel(Context context) { this(context, null); @@ -384,8 +385,16 @@ public class QSPanel extends LinearLayout implements Tunable, Callback { } protected void handleShowDetail(Record r, boolean show) { - if (show && !mExpanded) { - mHost.animateExpandQS(); + if (show) { + if (!mExpanded) { + mTriggeredExpand = true; + mHost.animateToggleQSExpansion(); + } else { + mTriggeredExpand = false; + } + } else if (mTriggeredExpand) { + mHost.animateToggleQSExpansion(); + mTriggeredExpand = false; } if (r instanceof TileRecord) { handleShowDetailTile((TileRecord) r, show); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index 3e32905d64cd7..76925981c8f57 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -389,7 +389,7 @@ public abstract class QSTile implements Listenable { void startRunnableDismissingKeyguard(Runnable runnable); void warn(String message, Throwable t); void collapsePanels(); - void animateExpandQS(); + void animateToggleQSExpansion(); void openPanels(); Looper getLooper(); Context getContext(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java index 82496acbe4ef3..493b23f7a2588 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java @@ -209,7 +209,7 @@ public class QSTileHost implements QSTile.Host, Tunable { // already logged } - public void animateExpandQS() { + public void animateToggleQSExpansion() { // TODO: Better path to animated panel expansion. mHeader.performClick(); }