diff options
author | John Spurlock <jspurlock@google.com> | 2014-07-17 18:22:45 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2014-07-17 18:22:45 -0400 |
commit | 604ae091429f3ade44daaed25014ee7fbb35bcff (patch) | |
tree | d0886f706afddb86d26ad47d0e29dfc47043004f /packages | |
parent | 6ccb5f894e11a0ee59c0632643f265427731536e (diff) | |
download | frameworks_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.java | 19 |
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); } }; |