Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java +19 −4 Original line number Diff line number Diff line Loading @@ -285,9 +285,6 @@ 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); } Loading Loading @@ -440,12 +437,13 @@ 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); } public void onSystemIconsDetached() { if (mStatusIcons != null) { mStatusIcons.setVisibility(View.VISIBLE); mStatusIcons.removeOnLayoutChangeListener(mStatusIconsChanged); } if (mSignalCluster != null) { mSignalCluster.setVisibility(View.VISIBLE); Loading Loading @@ -530,6 +528,23 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL // here. } private final OnLayoutChangeListener mStatusIconsChanged = new OnLayoutChangeListener() { private final Rect mClipBounds = new Rect(); @Override public void onLayoutChange(View v, int left, int top, int right, 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); } } }; private final QSPanel.Callback mQsPanelCallback = new QSPanel.Callback() { @Override public void onToggleStateChanged(final boolean state) { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java +19 −4 Original line number Diff line number Diff line Loading @@ -285,9 +285,6 @@ 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); } Loading Loading @@ -440,12 +437,13 @@ 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); } public void onSystemIconsDetached() { if (mStatusIcons != null) { mStatusIcons.setVisibility(View.VISIBLE); mStatusIcons.removeOnLayoutChangeListener(mStatusIconsChanged); } if (mSignalCluster != null) { mSignalCluster.setVisibility(View.VISIBLE); Loading Loading @@ -530,6 +528,23 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL // here. } private final OnLayoutChangeListener mStatusIconsChanged = new OnLayoutChangeListener() { private final Rect mClipBounds = new Rect(); @Override public void onLayoutChange(View v, int left, int top, int right, 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); } } }; private final QSPanel.Callback mQsPanelCallback = new QSPanel.Callback() { @Override public void onToggleStateChanged(final boolean state) { Loading