diff options
3 files changed, 16 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java index c4d7e72c0d82..6f4a3cd82140 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java @@ -29,6 +29,7 @@ public abstract class PanelBar extends FrameLayout { private static final boolean SPEW = false; private boolean mBouncerShowing; private boolean mExpanded; + protected float mPanelFraction; public static final void LOG(String fmt, Object... args) { if (!DEBUG) return; @@ -77,6 +78,14 @@ public abstract class PanelBar extends FrameLayout { if (mPanel != null) mPanel.setImportantForAccessibility(important); } + public float getExpansionFraction() { + return mPanelFraction; + } + + public boolean isExpanded() { + return mExpanded; + } + private void updateVisibility() { mPanel.setVisibility(mExpanded || mBouncerShowing ? VISIBLE : INVISIBLE); } @@ -131,6 +140,7 @@ public abstract class PanelBar extends FrameLayout { if (SPEW) LOG("panelExpansionChanged: start state=%d", mState); PanelView pv = mPanel; mExpanded = expanded; + mPanelFraction = frac; updateVisibility(); // adjust any other panels that may be partially visible if (expanded) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java index 075883a8ac52..59863ecb1191 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -59,7 +59,6 @@ public class PhoneStatusBarView extends PanelBar { private final PhoneStatusBarTransitions mBarTransitions; private ScrimController mScrimController; private float mMinFraction; - private float mPanelFraction; private Runnable mHideExpandedRunnable = new Runnable() { @Override public void run() { @@ -269,7 +268,6 @@ public class PhoneStatusBarView extends PanelBar { @Override public void panelExpansionChanged(float frac, boolean expanded) { super.panelExpansionChanged(frac, expanded); - mPanelFraction = frac; updateScrimFraction(); if ((frac == 0 || frac == 1) && mBar.getNavigationBarView() != null) { mBar.getNavigationBarView().onPanelExpandedChange(expanded); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 07b0e1d242d5..182f9f758fb0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -836,11 +836,17 @@ public class StatusBar extends SystemUI implements DemoMode, CollapsedStatusBarFragment statusBarFragment = (CollapsedStatusBarFragment) fragment; statusBarFragment.initNotificationIconArea(mNotificationIconAreaController); + PhoneStatusBarView oldStatusBarView = mStatusBarView; mStatusBarView = (PhoneStatusBarView) fragment.getView(); mStatusBarView.setBar(this); mStatusBarView.setPanel(mNotificationPanel); mStatusBarView.setScrimController(mScrimController); mStatusBarView.setBouncerShowing(mBouncerShowing); + if (oldStatusBarView != null) { + float fraction = oldStatusBarView.getExpansionFraction(); + boolean expanded = oldStatusBarView.isExpanded(); + mStatusBarView.panelExpansionChanged(fraction, expanded); + } if (mHeadsUpAppearanceController != null) { // This view is being recreated, let's destroy the old one mHeadsUpAppearanceController.destroy(); |