summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Ross <stross@google.com>2011-10-12 17:40:58 -0400
committerSteven Ross <stross@google.com>2011-10-12 18:31:22 -0400
commit4841e29d0fd3fbe0594f283e4897869331a20fbf (patch)
tree1401973ebb59a84145338b434d56c49d270c70d6
parent83b740ab1e1de378edfd4d2f78c8f2a7f7ce810a (diff)
downloadframeworks_base-4841e29d0fd3fbe0594f283e4897869331a20fbf.zip
frameworks_base-4841e29d0fd3fbe0594f283e4897869331a20fbf.tar.gz
frameworks_base-4841e29d0fd3fbe0594f283e4897869331a20fbf.tar.bz2
Fixes 5446301
If the user is making an emergency call, don't bring up Facelock Has the side effect of not bringing up Facelock if they cancel dialing Change-Id: I5d23e89b7f687f260670d41f1cc55ebf2a135181
-rw-r--r--policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java12
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);