diff options
author | Brian Colonna <bcolonna@google.com> | 2011-10-12 19:14:03 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-10-12 19:14:03 -0700 |
commit | 63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9 (patch) | |
tree | 2c5b3087efae92b73e2bee4cb90360617e5c1f99 | |
parent | 207c67315c8668b72cbb7bd370f1d6c8479eabd4 (diff) | |
parent | 4841e29d0fd3fbe0594f283e4897869331a20fbf (diff) | |
download | frameworks_base-63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9.zip frameworks_base-63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9.tar.gz frameworks_base-63c8a47b7fb8244e8ee9fbcf40a77a30a9c98ca9.tar.bz2 |
Merge "Fixes 5446301" into ics-mr0
-rw-r--r-- | policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java index 265024b..a010ba1 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -128,6 +128,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler private boolean mRequiresSim; + private volatile boolean mEmergencyCall; /** @@ -268,6 +269,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler mUpdateMonitor = updateMonitor; mLockPatternUtils = lockPatternUtils; mWindowController = controller; + mEmergencyCall = false; mUpdateMonitor.registerInfoCallback(this); @@ -322,6 +324,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler } public void takeEmergencyCallAction() { + mEmergencyCall = true; // FaceLock must be stopped if it is running when emergency call is pressed stopAndUnbindFromFaceLock(); @@ -506,6 +509,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler public void onScreenTurnedOff() { mScreenOn = false; mForgotPattern = false; + mEmergencyCall = false; if (mMode == Mode.LockScreen) { ((KeyguardScreen) mLockScreen).onPause(); } else { @@ -550,6 +554,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler */ @Override public void onWindowFocusChanged (boolean hasWindowFocus) { + if(DEBUG) Log.d(TAG, hasWindowFocus ? "focused" : "unfocused"); boolean runFaceLock = false; //Make sure to start facelock iff the screen is both on and focused synchronized(mFaceLockStartupLock) { @@ -560,7 +565,11 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler stopAndUnbindFromFaceLock(); mHandler.sendEmptyMessage(MSG_HIDE_FACELOCK_AREA_VIEW); } else if (runFaceLock) { - activateFaceLockIfAble(); + //Don't activate facelock while the user is calling 911! + if(mEmergencyCall) mEmergencyCall = false; + else { + activateFaceLockIfAble(); + } } } @@ -640,6 +649,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler //We need to stop faceunlock when a phonecall comes in @Override public void onPhoneStateChanged(int phoneState) { + if (DEBUG) Log.d(TAG, "phone state: " + phoneState); if(phoneState == TelephonyManager.CALL_STATE_RINGING) { stopAndUnbindFromFaceLock(); mHandler.sendEmptyMessage(MSG_HIDE_FACELOCK_AREA_VIEW); |