diff options
author | Sam Mortimer <sam@mortimer.me.uk> | 2013-05-26 11:28:45 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2013-06-12 18:10:21 -0700 |
commit | c5c33031ad8a0b1fab388319f925155ce58528d4 (patch) | |
tree | 0a6e5e31c23cae2fe0f7c611cadd56cdfe733a82 /policy | |
parent | f90658c55fbf7b21a80b5f75b1760839484278fd (diff) | |
download | frameworks_base-c5c33031ad8a0b1fab388319f925155ce58528d4.zip frameworks_base-c5c33031ad8a0b1fab388319f925155ce58528d4.tar.gz frameworks_base-c5c33031ad8a0b1fab388319f925155ce58528d4.tar.bz2 |
[2/2] Permit home button wake to be configurable
Change-Id: Ie52247d5c23c8f840ababc880dd41992049cefd1
Diffstat (limited to 'policy')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 49b9059..b1df302 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -380,6 +380,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { WindowState mFocusedWindow; IApplicationToken mFocusedApp; + // Behavior of home wake + boolean mHomeWakeScreen; + // Behavior of volume wake boolean mVolumeWakeScreen; @@ -626,6 +629,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.RING_HOME_BUTTON_BEHAVIOR), false, this, UserHandle.USER_ALL); resolver.registerContentObserver(Settings.System.getUriFor( + Settings.System.HOME_WAKE_SCREEN), false, this, + UserHandle.USER_ALL); + resolver.registerContentObserver(Settings.System.getUriFor( Settings.System.VOLUME_WAKE_SCREEN), false, this, UserHandle.USER_ALL); resolver.registerContentObserver(Settings.System.getUriFor( @@ -1327,6 +1333,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { Settings.Secure.RING_HOME_BUTTON_BEHAVIOR, Settings.Secure.RING_HOME_BUTTON_BEHAVIOR_DEFAULT, UserHandle.USER_CURRENT); + mHomeWakeScreen = (Settings.System.getIntForUser(resolver, + Settings.System.HOME_WAKE_SCREEN, 1, UserHandle.USER_CURRENT) == 1); mVolumeWakeScreen = (Settings.System.getIntForUser(resolver, Settings.System.VOLUME_WAKE_SCREEN, 0, UserHandle.USER_CURRENT) == 1); mVolBtnMusicControls = (Settings.System.getIntForUser(resolver, @@ -3935,6 +3943,17 @@ public class PhoneWindowManager implements WindowManagerPolicy { } break; } + case KeyEvent.KEYCODE_HOME: + if (down && !isScreenOn && mHomeWakeScreen) { + if (keyguardActive) { + // If the keyguard is showing, let it wake the device when ready. + mKeyguardMediator.onWakeKeyWhenKeyguardShowingTq(keyCode); + } else { + // Otherwise, wake the device ourselves. + result |= ACTION_WAKE_UP; + } + } + break; case KeyEvent.KEYCODE_VOLUME_DOWN: case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_MUTE: { @@ -4180,6 +4199,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: case KeyEvent.KEYCODE_CAMERA: return false; + + // home wake can be configurable so default to no here + case KeyEvent.KEYCODE_HOME: + return false; } return true; } |