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(); }