diff --git a/policy/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/com/android/internal/policy/impl/PhoneWindowManager.java index 987e280c19ddc..3e669f6f3fc7c 100755 --- a/policy/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/com/android/internal/policy/impl/PhoneWindowManager.java @@ -1718,8 +1718,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { mHandler.removeCallbacks(mPowerLongPress); if (mShouldTurnOffOnKeyUp) { mShouldTurnOffOnKeyUp = false; - boolean gohome = (mEndcallBehavior & ENDCALL_HOME) != 0; - boolean sleeps = (mEndcallBehavior & ENDCALL_SLEEPS) != 0; + boolean gohome, sleeps; + if (code == KeyEvent.KEYCODE_ENDCALL) { + gohome = (mEndcallBehavior & ENDCALL_HOME) != 0; + sleeps = (mEndcallBehavior & ENDCALL_SLEEPS) != 0; + } else { + gohome = false; + sleeps = true; + } if (keyguardShowing || (sleeps && !gohome) || (gohome && !goHome() && sleeps)) {