Fix bug 7338736. Only starting FUL if the screen is on

Change-Id: Id767cf1394218a7e9dccabcdd9aae5af27b493b1
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 4967138..4f42071 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardFaceUnlockView.java
@@ -16,6 +16,7 @@
 package com.android.internal.policy.impl.keyguard;
 
 import android.content.Context;
+import android.os.PowerManager;
 import android.telephony.TelephonyManager;
 import android.util.AttributeSet;
 import android.util.Log;
@@ -29,7 +30,7 @@
 
 public class KeyguardFaceUnlockView extends LinearLayout implements KeyguardSecurityView {
 
-    private static final String TAG = "KeyguardFaceUnlockView";
+    private static final String TAG = "FULKeyguardFaceUnlockView";
     private static final boolean DEBUG = false;
     private KeyguardSecurityCallback mKeyguardSecurityCallback;
     private LockPatternUtils mLockPatternUtils;
@@ -139,11 +140,14 @@
             final boolean backupIsTimedOut = (
                     monitor.getFailedUnlockAttempts() >=
                     LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT);
-            // TODO: These max attempts checks are also checked in KeyguardSecurityModel so they
-            // might not be necessary here anymore.
+            PowerManager powerManager = (PowerManager) mContext.getSystemService(
+                    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
                     && !monitor.getMaxBiometricUnlockAttemptsReached()
-                    && !backupIsTimedOut) {
+                    && !backupIsTimedOut
+                    && powerManager.isScreenOn()) {
                 mBiometricUnlock.start();
             } else {
                 mBiometricUnlock.stopAndShowBackup();