Track unlock attempts per user.

Bug: 19330825
Change-Id: I3e09f676b945dbeee16dc0fb3cb126cb884a6934
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index b8d9053..c7b7628 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -65,6 +65,7 @@
 import android.telephony.TelephonyManager;
 import android.util.Log;
 import android.util.SparseBooleanArray;
+import android.util.SparseIntArray;
 
 import com.google.android.collect.Lists;
 
@@ -139,7 +140,7 @@
     private BatteryStatus mBatteryStatus;
 
     // Password attempts
-    private int mFailedAttempts = 0;
+    private SparseIntArray mFailedAttempts = new SparseIntArray();
 
     private boolean mClockVisible;
 
@@ -1260,30 +1261,22 @@
         return mDeviceProvisioned;
     }
 
-    public int getFailedUnlockAttempts() {
-        return mFailedAttempts;
+    public void clearFailedUnlockAttempts() {
+        mFailedAttempts.delete(sCurrentUser);
     }
 
-    public void clearFailedUnlockAttempts() {
-        mFailedAttempts = 0;
+    public int getFailedUnlockAttempts() {
+        return mFailedAttempts.get(sCurrentUser, 0);
+    }
+
+    public void reportFailedUnlockAttempt() {
+        mFailedAttempts.put(sCurrentUser, getFailedUnlockAttempts() + 1);
     }
 
     public void clearFingerprintRecognized() {
         mUserFingerprintAuthenticated.clear();
     }
 
-    public void reportFailedUnlockAttempt() {
-        mFailedAttempts++;
-    }
-
-    public boolean isClockVisible() {
-        return mClockVisible;
-    }
-
-    public int getPhoneState() {
-        return mPhoneState;
-    }
-
     public boolean isSimPinVoiceSecure() {
         // TODO: only count SIMs that handle voice
         return isSimPinSecure();