diff options
author | Bryce Lee <brycelee@google.com> | 2015-04-10 19:51:32 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-10 19:51:32 +0000 |
commit | 73b56873f1c39d29bc9f98e727b83b05bb74a44d (patch) | |
tree | 206c09845d04b74c76863ccd67c1fa07cd6654fc /policy | |
parent | c5f9683c065e6ddf906a354603d19ce57448993f (diff) | |
parent | eccaf7290ab833d12049a184747603cd74261490 (diff) | |
download | frameworks_base-73b56873f1c39d29bc9f98e727b83b05bb74a44d.zip frameworks_base-73b56873f1c39d29bc9f98e727b83b05bb74a44d.tar.gz frameworks_base-73b56873f1c39d29bc9f98e727b83b05bb74a44d.tar.bz2 |
am eccaf729: Allow going to home action to work for SHORT_PRESS_POWER_GO_HOME with keyguard enabled.
* commit 'eccaf7290ab833d12049a184747603cd74261490':
Allow going to home action to work for SHORT_PRESS_POWER_GO_HOME with keyguard enabled.
Diffstat (limited to 'policy')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 78 |
1 files changed, 42 insertions, 36 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index fe190d9..1ca772f 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -992,7 +992,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { launchHomeFromHotKey(); break; case SHORT_PRESS_POWER_GO_HOME: - launchHomeFromHotKey(); + launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/); break; } } @@ -1070,7 +1070,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { PowerManager.GO_TO_SLEEP_REASON_SLEEP_BUTTON, 0); break; case SHORT_PRESS_SLEEP_GO_TO_SLEEP_AND_GO_HOME: - launchHomeFromHotKey(false /* awakenDreams */); + launchHomeFromHotKey(false /* awakenDreams */, true /*respectKeyguard*/); mPowerManager.goToSleep(event.getEventTime(), PowerManager.GO_TO_SLEEP_REASON_SLEEP_BUTTON, 0); break; @@ -3064,50 +3064,56 @@ public class PhoneWindowManager implements WindowManagerPolicy { } void launchHomeFromHotKey() { - launchHomeFromHotKey(true /* awakenFromDreams */); + launchHomeFromHotKey(true /* awakenFromDreams */, true /*respectKeyguard*/); } /** * A home key -> launch home action was detected. Take the appropriate action * given the situation with the keyguard. */ - void launchHomeFromHotKey(final boolean awakenFromDreams) { - if (isKeyguardShowingAndNotOccluded()) { - // don't launch home if keyguard showing - } else if (!mHideLockScreen && mKeyguardDelegate.isInputRestricted()) { - // when in keyguard restricted mode, must first verify unlock - // before launching home - mKeyguardDelegate.verifyUnlock(new OnKeyguardExitResult() { - @Override - public void onKeyguardExitResult(boolean success) { - if (success) { - try { - ActivityManagerNative.getDefault().stopAppSwitches(); - } catch (RemoteException e) { + void launchHomeFromHotKey(final boolean awakenFromDreams, final boolean respectKeyguard) { + if (respectKeyguard) { + if (isKeyguardShowingAndNotOccluded()) { + // don't launch home if keyguard showing + return; + } + + if (!mHideLockScreen && mKeyguardDelegate.isInputRestricted()) { + // when in keyguard restricted mode, must first verify unlock + // before launching home + mKeyguardDelegate.verifyUnlock(new OnKeyguardExitResult() { + @Override + public void onKeyguardExitResult(boolean success) { + if (success) { + try { + ActivityManagerNative.getDefault().stopAppSwitches(); + } catch (RemoteException e) { + } + sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); + startDockOrHome(true /*fromHomeKey*/, awakenFromDreams); } - sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); - startDockOrHome(true /*fromHomeKey*/, awakenFromDreams); } - } - }); - } else { - // no keyguard stuff to worry about, just launch home! - try { - ActivityManagerNative.getDefault().stopAppSwitches(); - } catch (RemoteException e) { + }); + return; } - if (mRecentsVisible) { - // Hide Recents and notify it to launch Home - if (awakenFromDreams) { - awakenDreams(); - } - sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); - hideRecentApps(false, true); - } else { - // Otherwise, just launch Home - sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); - startDockOrHome(true /*fromHomeKey*/, awakenFromDreams); + } + + // no keyguard stuff to worry about, just launch home! + try { + ActivityManagerNative.getDefault().stopAppSwitches(); + } catch (RemoteException e) { + } + if (mRecentsVisible) { + // Hide Recents and notify it to launch Home + if (awakenFromDreams) { + awakenDreams(); } + sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); + hideRecentApps(false, true); + } else { + // Otherwise, just launch Home + sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY); + startDockOrHome(true /*fromHomeKey*/, awakenFromDreams); } } |