From d95c659a1d621dfbdd892759419ffc089e248672 Mon Sep 17 00:00:00 2001 From: Danielle Millett Date: Fri, 12 Oct 2012 14:55:44 -0400 Subject: [PATCH] Suppressing Face Unlock during phone call - fix b/7339069 Now that there isn't a swipe before launching face unlock, face unlock needs to be suppressed during a phone call. If it isn't it will popup on top of the phone call screen. Change-Id: Id6c4165bf4df606ebf396c151f1c80603d5abca3 --- .../internal/policy/impl/keyguard/KeyguardFaceUnlockView.java | 2 +- .../internal/policy/impl/keyguard/KeyguardSecurityModel.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java index 4f420715aba15..78fdda3897a06 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java @@ -144,7 +144,7 @@ public class KeyguardFaceUnlockView extends LinearLayout implements KeyguardSecu Context.POWER_SERVICE); // TODO: Some of these conditions are handled in KeyguardSecurityModel and may not be // necessary here. - if (monitor.getPhoneState() != TelephonyManager.CALL_STATE_RINGING + if (monitor.getPhoneState() == TelephonyManager.CALL_STATE_IDLE && !monitor.getMaxBiometricUnlockAttemptsReached() && !backupIsTimedOut && powerManager.isScreenOn()) { diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityModel.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityModel.java index 8f82b0fc82ca8..80282c140a1aa 100644 --- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityModel.java +++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardSecurityModel.java @@ -17,6 +17,7 @@ package com.android.internal.policy.impl.keyguard; import android.app.admin.DevicePolicyManager; import android.content.Context; +import android.telephony.TelephonyManager; import com.android.internal.telephony.IccCardConstants; import com.android.internal.widget.LockPatternUtils; @@ -66,7 +67,8 @@ public class KeyguardSecurityModel { final boolean backupIsTimedOut = monitor.getFailedUnlockAttempts() >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT; return monitor.getMaxBiometricUnlockAttemptsReached() || backupIsTimedOut - || !monitor.isAlternateUnlockEnabled(); + || !monitor.isAlternateUnlockEnabled() + || monitor.getPhoneState() != TelephonyManager.CALL_STATE_IDLE; } SecurityMode getSecurityMode() {