diff options
author | Daniel Sandler <dsandler@google.com> | 2011-08-18 09:20:27 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-18 09:20:27 -0700 |
commit | 797a0b0145211e219fcb441a963a103679249aa7 (patch) | |
tree | 2dca02b372dc28fb80b82be8e95f7890986f6018 /packages | |
parent | a91495d56dc10a57ed21490ffafae742b6411d6e (diff) | |
parent | e21f288358df2c1cea57c0a359dcf647baeb970d (diff) | |
download | frameworks_base-797a0b0145211e219fcb441a963a103679249aa7.zip frameworks_base-797a0b0145211e219fcb441a963a103679249aa7.tar.gz frameworks_base-797a0b0145211e219fcb441a963a103679249aa7.tar.bz2 |
Merge "Support DISABLE_NAVIGATION on phones."
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java | 6 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java | 18 |
2 files changed, 24 insertions, 0 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 c3f20bc..5f1ae58 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -57,6 +57,7 @@ public class NavigationBarView extends LinearLayout { boolean mVertical; boolean mHidden; + boolean mEnabled = true; public View getRecentsButton() { return mCurrentView.findViewById(R.id.recent_apps); @@ -81,6 +82,11 @@ public class NavigationBarView extends LinearLayout { mVertical = false; } + public void setEnabled(final boolean enable) { + mEnabled = enable; + mCurrentView.setVisibility(enable ? View.VISIBLE : View.INVISIBLE); + } + public void setHidden(final boolean hide) { if (hide == mHidden) return; 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 e894831..1edc351 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1048,12 +1048,30 @@ public class PhoneStatusBar extends StatusBar { final int diff = state ^ old; mDisabled = state; + if (DEBUG) { + Slog.d(TAG, String.format("disable: 0x%08x -> 0x%08x (diff: 0x%08x)", + old, state, diff)); + } + if ((diff & StatusBarManager.DISABLE_EXPAND) != 0) { if ((state & StatusBarManager.DISABLE_EXPAND) != 0) { Slog.d(TAG, "DISABLE_EXPAND: yes"); animateCollapse(); } } + + if ((diff & StatusBarManager.DISABLE_NAVIGATION) != 0) { + if ((state & StatusBarManager.DISABLE_NAVIGATION) != 0) { + Slog.d(TAG, "DISABLE_NAVIGATION: yes"); + + // close recents if it's visible + mHandler.removeMessages(MSG_CLOSE_RECENTS_PANEL); + mHandler.sendEmptyMessage(MSG_CLOSE_RECENTS_PANEL); + } + + mNavigationBarView.setEnabled((state & StatusBarManager.DISABLE_NAVIGATION) == 0); + } + if ((diff & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { if ((state & StatusBarManager.DISABLE_NOTIFICATION_ICONS) != 0) { Slog.d(TAG, "DISABLE_NOTIFICATION_ICONS: yes"); |