diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java index f6ec4140bf43f..81e1901f398ae 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -358,15 +358,16 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler public void takeEmergencyCallAction() { mHasOverlay = true; - // FaceLock must be stopped if it is running when emergency call is pressed - stopAndUnbindFromFaceLock(); - // Continue showing FaceLock area until dialer comes up + // Continue showing FaceLock area until dialer comes up or call is resumed if (mLockPatternUtils.usingBiometricWeak() && - mLockPatternUtils.isBiometricWeakInstalled()) { + mLockPatternUtils.isBiometricWeakInstalled() && mFaceLockServiceRunning) { showFaceLockAreaWithTimeout(FACELOCK_VIEW_AREA_EMERGENCY_DIALER_TIMEOUT); } + // FaceLock must be stopped if it is running + stopAndUnbindFromFaceLock(); + pokeWakelock(EMERGENCY_CALL_TIMEOUT); if (TelephonyManager.getDefault().getCallState() == TelephonyManager.CALL_STATE_OFFHOOK) {