summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2014-07-17 18:22:45 -0400
committerJohn Spurlock <jspurlock@google.com>2014-07-17 18:22:45 -0400
commit604ae091429f3ade44daaed25014ee7fbb35bcff (patch)
treed0886f706afddb86d26ad47d0e29dfc47043004f /packages
parent6ccb5f894e11a0ee59c0632643f265427731536e (diff)
downloadframeworks_base-604ae091429f3ade44daaed25014ee7fbb35bcff.zip
frameworks_base-604ae091429f3ade44daaed25014ee7fbb35bcff.tar.gz
frameworks_base-604ae091429f3ade44daaed25014ee7fbb35bcff.tar.bz2
Shade: Hide status icons, take 2.
Restore visibility logic (for mirrored view) and remove a bad optimization from the clipping calculation. Bug:16337935 Change-Id: I7eb82ef6c87f30da9d8b70136e05dab3abdbdead
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
index 574d536..3012b13 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
@@ -285,6 +285,9 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
mDateExpanded.setVisibility(mExpanded && !mOverscrolled ? View.VISIBLE : View.GONE);
mSettingsButton.setVisibility(mExpanded && !mOverscrolled ? View.VISIBLE : View.GONE);
mQsDetailHeader.setVisibility(mExpanded ? View.VISIBLE : View.GONE);
+ if (mStatusIcons != null) {
+ mStatusIcons.setVisibility(!mExpanded || mOverscrolled ? View.VISIBLE : View.GONE);
+ }
if (mSignalCluster != null) {
mSignalCluster.setVisibility(!mExpanded || mOverscrolled ? View.VISIBLE : View.GONE);
}
@@ -437,15 +440,16 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
public void attachSystemIcons(LinearLayout systemIcons) {
mSystemIconsContainer.addView(systemIcons);
mStatusIcons = systemIcons.findViewById(R.id.statusIcons);
- mStatusIcons.addOnLayoutChangeListener(mStatusIconsChanged);
mSignalCluster = systemIcons.findViewById(R.id.signal_cluster);
+ mSignalCluster.addOnLayoutChangeListener(mSignalClusterChanged);
}
public void onSystemIconsDetached() {
if (mStatusIcons != null) {
- mStatusIcons.removeOnLayoutChangeListener(mStatusIconsChanged);
+ mStatusIcons.setVisibility(View.VISIBLE);
}
if (mSignalCluster != null) {
+ mSignalCluster.removeOnLayoutChangeListener(mSignalClusterChanged);
mSignalCluster.setVisibility(View.VISIBLE);
}
mStatusIcons = null;
@@ -528,7 +532,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
// here.
}
- private final OnLayoutChangeListener mStatusIconsChanged = new OnLayoutChangeListener() {
+ private final OnLayoutChangeListener mSignalClusterChanged = new OnLayoutChangeListener() {
private final Rect mClipBounds = new Rect();
@Override
@@ -536,12 +540,9 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL
int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
// Hide the statusIcons in the header by clipping them. Can't touch visibility since
// they are mirrored to the real status bar.
- final Rect r = mSystemIconsContainer.getClipBounds();
- if (r == null || r.left != right) {
- mClipBounds.set(right, 0, mSystemIconsContainer.getWidth(),
- mSystemIconsContainer.getHeight());
- mSystemIconsContainer.setClipBounds(mClipBounds);
- }
+ mClipBounds.set(left, 0, mSystemIconsContainer.getWidth(),
+ mSystemIconsContainer.getHeight());
+ mSystemIconsContainer.setClipBounds(mClipBounds);
}
};