diff options
author | Dan Sandler <dsandler@android.com> | 2014-06-06 16:15:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-06-06 16:15:34 +0000 |
commit | 52f9fc15a7052a32f2081d49c9b8be69a8ff7248 (patch) | |
tree | c7b1c4ab6e0e2d65610fcaa9ff3257ad7d9569f4 /packages | |
parent | d23d509726021bf03f5879470392d68835de516e (diff) | |
parent | b13d36d428054362aa6f450760ecd46421e1876a (diff) | |
download | frameworks_base-52f9fc15a7052a32f2081d49c9b8be69a8ff7248.zip frameworks_base-52f9fc15a7052a32f2081d49c9b8be69a8ff7248.tar.gz frameworks_base-52f9fc15a7052a32f2081d49c9b8be69a8ff7248.tar.bz2 |
Merge "Always hide status bar icons when status bar is expanded" into lmp-preview-dev
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 60 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java | 3 |
2 files changed, 33 insertions, 30 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index c2c671c..ac9866c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -87,6 +87,8 @@ import android.view.animation.AccelerateInterpolator; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.DecelerateInterpolator; +import android.view.animation.Interpolator; +import android.view.animation.PathInterpolator; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; @@ -400,6 +402,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private boolean mSettingsClosing; private boolean mVisible; + private Interpolator mAlphaOut = new PathInterpolator(0f, 0.4f, 1f, 1f); + private Interpolator mAlphaIn = new PathInterpolator(0f, 0f, 0.8f, 1f); + private final OnChildLocationsChangedListener mOnChildLocationsChangedListener = new OnChildLocationsChangedListener() { @Override @@ -408,6 +413,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } }; + private int mDisabledUnmodified; + public void setOnFlipRunnable(Runnable onFlipRunnable) { mOnFlipRunnable = onFlipRunnable; } @@ -677,10 +684,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mDateTimeView.setEnabled(true); } - mNotificationPanel.setSystemUiVisibility( - View.STATUS_BAR_DISABLE_NOTIFICATION_ICONS | - View.STATUS_BAR_DISABLE_CLOCK); - mTicker = new MyTicker(context, mStatusBarView); TickerView tickerView = (TickerView)mStatusBarView.findViewById(R.id.tickerText); @@ -1415,10 +1418,20 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } } + private int adjustDisableFlags(int state) { + if (mExpandedVisible) { + state |= StatusBarManager.DISABLE_NOTIFICATION_ICONS; + state |= StatusBarManager.DISABLE_SYSTEM_INFO; + } + return state; + } + /** * State is one or more of the DISABLE constants from StatusBarManager. */ public void disable(int state) { + mDisabledUnmodified = state; + state = adjustDisableFlags(state); final int old = mDisabled; final int diff = state ^ old; mDisabled = state; @@ -1456,20 +1469,17 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if ((state & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) { mSystemIconArea.animate() .alpha(0f) - .translationY(mNaturalBarHeight*0.5f) - .setDuration(175) - .setInterpolator(new DecelerateInterpolator(1.5f)) - .setListener(mMakeIconsInvisible) - .start(); + .withLayer() + .setDuration(160) + .setInterpolator(mAlphaIn) + .setListener(mMakeIconsInvisible); } else { mSystemIconArea.setVisibility(View.VISIBLE); mSystemIconArea.animate() .alpha(1f) - .translationY(0) - .setStartDelay(0) - .setInterpolator(new DecelerateInterpolator(1.5f)) - .setDuration(175) - .start(); + .withLayer() + .setInterpolator(mAlphaOut) + .setDuration(320); } } @@ -1505,20 +1515,18 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mNotificationIcons.animate() .alpha(0f) - .translationY(mNaturalBarHeight*0.5f) - .setDuration(175) - .setInterpolator(new DecelerateInterpolator(1.5f)) + .withLayer() + .setDuration(160) + .setInterpolator(mAlphaIn) .setListener(mMakeIconsInvisible) .start(); } else { mNotificationIcons.setVisibility(View.VISIBLE); mNotificationIcons.animate() .alpha(1f) - .translationY(0) - .setStartDelay(0) - .setInterpolator(new DecelerateInterpolator(1.5f)) - .setDuration(175) - .start(); + .withLayer() + .setInterpolator(mAlphaOut) + .setDuration(320); } } } @@ -1618,7 +1626,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mStatusBarWindowManager.setStatusBarExpanded(true); visibilityChanged(true); - + disable(mDisabledUnmodified); setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true); } @@ -1769,10 +1777,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mStatusBarView.collapseAllPanels(true); } - void makeExpandedInvisibleSoon() { - mHandler.postDelayed(new Runnable() { public void run() { makeExpandedInvisible(); }}, 50); - } - void makeExpandedInvisible() { if (SPEW) Log.d(TAG, "makeExpandedInvisible: mExpandedVisible=" + mExpandedVisible + " mExpandedVisible=" + mExpandedVisible); @@ -1816,7 +1820,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false); - + disable(mDisabledUnmodified); showBouncer(); } 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 910d88c..3a17177 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -111,8 +111,7 @@ public class PhoneStatusBarView extends PanelBar { @Override public void onAllPanelsCollapsed() { super.onAllPanelsCollapsed(); - // give animations time to settle - mBar.makeExpandedInvisibleSoon(); + mBar.makeExpandedInvisible(); mLastFullyOpenedPanel = null; } |