summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2015-06-10 16:48:03 -0400
committerJason Monk <jmonk@google.com>2015-06-10 16:48:03 -0400
commitefe3d3f988dc8c5007923ab0f46f503bdb38c397 (patch)
tree2fca8e2e53af12860d3637fd1b13cc748c22a8dd /packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
parent94fc0c2630926cdf1d246270441a4301f03eeaca (diff)
downloadframeworks_base-efe3d3f988dc8c5007923ab0f46f503bdb38c397.zip
frameworks_base-efe3d3f988dc8c5007923ab0f46f503bdb38c397.tar.gz
frameworks_base-efe3d3f988dc8c5007923ab0f46f503bdb38c397.tar.bz2
QS: Allow changes between open detail panels
This allows the user switcher to open from inside wifi details. Bug: 20096365 Change-Id: Ib4596f1f378bbf5812c2cd0591b4b1a8c31cce4e
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/QSPanel.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanel.java11
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) {