summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorSam Mortimer <sam@mortimer.me.uk>2013-05-26 11:28:45 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2013-06-12 18:10:21 -0700
commitc5c33031ad8a0b1fab388319f925155ce58528d4 (patch)
tree0a6e5e31c23cae2fe0f7c611cadd56cdfe733a82 /policy
parentf90658c55fbf7b21a80b5f75b1760839484278fd (diff)
downloadframeworks_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.java23
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;
}