diff options
author | Jason Monk <jmonk@google.com> | 2015-06-10 22:27:21 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-10 22:27:23 +0000 |
commit | d9d529497ddcb9e49315571d14fa9d94d06c40c3 (patch) | |
tree | 46469b69e103aac4015e07dc31dd3b0ccdaa7689 /packages | |
parent | 1955ee57b3210d9027e1c46731cf1f44406166da (diff) | |
parent | efe3d3f988dc8c5007923ab0f46f503bdb38c397 (diff) | |
download | frameworks_base-d9d529497ddcb9e49315571d14fa9d94d06c40c3.zip frameworks_base-d9d529497ddcb9e49315571d14fa9d94d06c40c3.tar.gz frameworks_base-d9d529497ddcb9e49315571d14fa9d94d06c40c3.tar.bz2 |
Merge "QS: Allow changes between open detail panels" into mnc-dev
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSPanel.java | 11 |
1 files changed, 7 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 25e3d10..49eb9b2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -360,7 +360,7 @@ public class QSPanel extends ViewGroup { } private void handleShowDetailTile(TileRecord r, boolean show) { - if ((mDetailRecord != null) == show) return; + if ((mDetailRecord != null) == show && mDetailRecord == r) return; if (show) { r.detailAdapter = r.tile.getDetailAdapter(); @@ -373,7 +373,8 @@ public class QSPanel extends ViewGroup { } private void handleShowDetailImpl(Record r, boolean show, int x, int y) { - if ((mDetailRecord != null) == show) return; // already in right state + boolean visibleDiff = (mDetailRecord != null) != show; + if (!visibleDiff && mDetailRecord == r) return; // already in right state DetailAdapter detailAdapter = null; AnimatorListener listener = null; if (show) { @@ -399,7 +400,7 @@ public class QSPanel extends ViewGroup { mContext.getString(detailAdapter.getTitle()))); setDetailRecord(r); listener = mHideGridContentWhenDone; - if (r instanceof TileRecord) { + if (r instanceof TileRecord && visibleDiff) { ((TileRecord) r).openingDetail = true; } } else { @@ -411,7 +412,9 @@ public class QSPanel extends ViewGroup { } sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); fireShowingDetail(show ? detailAdapter : null); - mClipper.animateCircularClip(x, y, show, listener); + if (visibleDiff) { + mClipper.animateCircularClip(x, y, show, listener); + } } private void setGridContentVisibility(boolean visible) { |