diff options
author | John Spurlock <jspurlock@google.com> | 2012-06-14 08:53:12 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-06-14 08:53:12 -0700 |
commit | 8385adc9600c63bc2d55d6d745eec4d018e0ed0f (patch) | |
tree | 830439e3c197f20df28e5a6904075a5ad4cb9494 /packages/SystemUI | |
parent | bfd125a0bf51ce0931d981d7694432868b9f511f (diff) | |
parent | d5ef54658ba7f869b1558df656772eebc3fb7328 (diff) | |
download | frameworks_base-8385adc9600c63bc2d55d6d745eec4d018e0ed0f.zip frameworks_base-8385adc9600c63bc2d55d6d745eec4d018e0ed0f.tar.gz frameworks_base-8385adc9600c63bc2d55d6d745eec4d018e0ed0f.tar.bz2 |
Merge "NavBar: Slippery on the unsecured lock screen." into jb-dev
Diffstat (limited to 'packages/SystemUI')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java | 17 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 30 |
2 files changed, 29 insertions, 18 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 9c773a5..00d6d6f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -225,11 +225,28 @@ public class NavigationBarView extends LinearLayout { final boolean disableRecent = ((disabledFlags & View.STATUS_BAR_DISABLE_RECENT) != 0); final boolean disableBack = ((disabledFlags & View.STATUS_BAR_DISABLE_BACK) != 0); + setSlippery(disableHome && disableRecent && disableBack); + getBackButton() .setVisibility(disableBack ? View.INVISIBLE : View.VISIBLE); getHomeButton() .setVisibility(disableHome ? View.INVISIBLE : View.VISIBLE); getRecentsButton().setVisibility(disableRecent ? View.INVISIBLE : View.VISIBLE); } + public void setSlippery(boolean newSlippery) { + WindowManager.LayoutParams lp = (WindowManager.LayoutParams) getLayoutParams(); + if (lp != null) { + boolean oldSlippery = (lp.flags & WindowManager.LayoutParams.FLAG_SLIPPERY) != 0; + if (!oldSlippery && newSlippery) { + lp.flags |= WindowManager.LayoutParams.FLAG_SLIPPERY; + } else if (oldSlippery && !newSlippery) { + lp.flags &= ~WindowManager.LayoutParams.FLAG_SLIPPERY; + } else { + return; + } + WindowManagerImpl.getDefault().updateViewLayout(this, lp); + } + } + public void setMenuVisibility(final boolean show) { setMenuVisibility(show, false); } 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 7ea308a..baf86f3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -379,6 +379,8 @@ public class PhoneStatusBar extends BaseStatusBar { mIntruderAlertView.setBar(this); } + updateShowSearchHoldoff(); + mStatusBarView.mService = this; mChoreographer = Choreographer.getInstance(); @@ -666,7 +668,6 @@ public class PhoneStatusBar extends BaseStatusBar { lp.setTitle("NavigationBar"); lp.windowAnimations = 0; - return lp; } @@ -811,8 +812,12 @@ public class PhoneStatusBar extends BaseStatusBar { @Override protected void onConfigurationChanged(Configuration newConfig) { updateRecentsPanel(); - mShowSearchHoldoff = mContext.getResources().getInteger( - R.integer.config_show_search_delay); + updateShowSearchHoldoff(); + } + + private void updateShowSearchHoldoff() { + mShowSearchHoldoff = mContext.getResources().getInteger( + R.integer.config_show_search_delay); } private void loadNotificationShade() { @@ -1177,7 +1182,8 @@ public class PhoneStatusBar extends BaseStatusBar { mExpandedVisible = true; mPile.setLayoutTransitionsEnabled(true); - makeSlippery(mNavigationBarView, true); + if (mNavigationBarView != null) + mNavigationBarView.setSlippery(true); updateCarrierLabelVisibility(true); @@ -1201,19 +1207,6 @@ public class PhoneStatusBar extends BaseStatusBar { visibilityChanged(true); } - private static void makeSlippery(View view, boolean slippery) { - if (view == null) { - return; - } - WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams(); - if (slippery) { - lp.flags |= WindowManager.LayoutParams.FLAG_SLIPPERY; - } else { - lp.flags &= ~WindowManager.LayoutParams.FLAG_SLIPPERY; - } - WindowManagerImpl.getDefault().updateViewLayout(view, lp); - } - public void animateExpand() { if (SPEW) Slog.d(TAG, "Animate expand: expanded=" + mExpanded); if ((mDisabled & StatusBarManager.DISABLE_EXPAND) != 0) { @@ -1298,8 +1291,9 @@ public class PhoneStatusBar extends BaseStatusBar { } mExpandedVisible = false; mPile.setLayoutTransitionsEnabled(false); + if (mNavigationBarView != null) + mNavigationBarView.setSlippery(false); visibilityChanged(false); - makeSlippery(mNavigationBarView, false); // Shrink the window to the size of the status bar only WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mStatusBarWindow.getLayoutParams(); |